?copy
向量拷贝。
即。x是源向量,y是目标向量。
接口定义
C interface:
void cblas_scopy(const BLASINT n, const float *x, const BLASINT incx, float *y, const BLASINT incy);
void cblas_dcopy(const BLASINT n, const double *x, const BLASINT incx, double *y, const BLASINT incy);
void cblas_ccopy(const BLASINT n, const void *x, const BLASINT incx, void *y, const BLASINT incy);
void cblas_zcopy(const BLASINT n, const void *x, const BLASINT incx, void *y, const BLASINT incy);
Fortran interface:
CALL SCOPY(N, X, INCX, Y, INCY)
CALL DCOPY(N, X, INCX, Y, INCY)
CALL CCOPY(N, X, INCX, Y, INCY)
CALL ZCOPY(N, X, INCX, Y, INCY)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
n |
整型数 |
表示向量x和y的元素个数。 |
输入 |
x |
|
向量x,向量规模至少是(1+(n-1)*abs(incx))。 |
输入 |
incx |
整型数 |
表示x向量增长步长。 |
输入 |
y |
|
向量y,向量规模至少是(1+(n-1)*abs(incy))。 |
输出 |
incy |
整型数 |
表示y向量增长步。 |
输入 |
依赖
#include "kblas.h"
示例
C interface:
double y[5]; int n = 5, incx = 1, incy = 1; /* * x: 1, 2, 3, 4, 5 */ double x[5] = {1, 2, 3, 4, 5}; cblas_dcopy(n, x, incx, y, incy); /* * Output y: 1, 2, 3, 4, 5 */
Fortran interface:
REAL(8) :: Y(5) INTEGER :: N=5 INTEGER :: INCX=1 INTEGER :: INCY=1 REAL(8) :: X(5) DATA X /1, 2, 3, 4, 5/ CALL DCOPY(N, X, INCX, Y, INCY) * Output Y : 1, 2, 3, 4, 5