?scal
向量缩放。
即。alpha是乘法系数,x是含有n个元素的向量。
接口定义
C interface:
void cblas_dscal(const BLASINT N, const double alpha, double *X, const BLASINT incX);
void cblas_sscal(const BLASINT N, const float alpha, float *X, const BLASINT incX);
void cblas_cscal(const BLASINT N, const void *alpha, void *X, const BLASINT incX);
void cblas_zscal(const BLASINT N, const void *alpha, void *X, const BLASINT incX);
void cblas_csscal(const BLASINT N, const double alpha, void *X, const BLASINT incX);
void cblas_zdscal(const BLASINT N, const double alpha, void *X, const BLASINT incX);
Fortran interface:
CALL SSCAL(N, ALPAH, X, INCX)
CALL DSCAL(N, ALPAH, X, INCX)
CALL CSCAL(N, ALPAH, X, INCX)
CALL ZSCAL(N, ALPAH, X, INCX)
CALL CSSCAL(N, ALPAH, X, INCX)
CALL ZDSCAL(N, ALPAH, X, INCX)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
N |
整型数 |
表示X向量的元素个数。 |
输入 |
alpha |
|
表示系数。 |
输入 |
X |
|
向量X,向量规模至少是(1+(n-1)*abs(incX))。 |
输入/输出 |
incX |
整型数 |
表示X向量增长步长。 |
输入 |
依赖
#include "kblas.h"
示例
C interface:
float alpha = 2.0; int n = 5, incx = 1; /** * X: 0.340188, -0.105617, 0.283099, 0.298440, 0.411647 */ float x[5] = {0.340188, -0.105617, 0.283099, 0.298440, 0.411647}; cblas_sscal(n, alpha, x, incx); /** * Output X: 0.680375, -0.211234, 0.566198, 0.596880, 0.823295 */
Fortran interface:
REAL(4) :: ALPHA=2.0 INTEGER :: N=5 INTEGER :: INCX=1 REAL(4) :: X(5) DATA X /0.340188, -0.105617, 0.283099, 0.298440, 0.411647/ EXTERNAL SSCAL CALL SSCAL(N, ALPHA, X, INCX) * Output X: 0.680375, -0.211234, 0.566198, 0.596880, 0.823295