SAXPYScalar Alpha X Plus Y)是一个在 Basic Linear Algebra Subprograms(BLAS)数据包中的函数,并且是一个并行向量处理机(vector processor)中常用的计算操作指令。SAXPY是标量乘法矢量加法的组合:

其中标量矢量。对于大多数函数,BLAS数据包中都存在四种的SAXPY的变体,分别是SAXPYDAXPYCAXPYZAXPY,这些变体的区别仅在于标量数据类型不同。例程的说明在外部链接中可以找到。

不同数据类型

SAXPY

SAXPY不仅是标量乘法加矢量加法运算的组合的通称,而且是特定的变体,其中标量 和矢量  单精度的。

DAXPY

DAXPY双精度   表示SAXPY。

CAXPY

CAXPY复数   表示SAXPY。

ZAXPY

ZAXPY双精度复数   表示SAXPY。

泛型实现

SAXPY最简单的泛型实现如下:

for (int i = m; i < n; i++) {
   y[i] = a * x[i] + y[i];
}

外部链接