---
title: ?copy
description: "向量拷贝。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2300/accel/kunpengaccel_kml_16_0018.html
sourcePath: /source/zh/kunpengboostkithistory/2300/accel/kunpengaccel_kml_16_0018.html
indexId: aadde54b38a6b42d301a7c4c097e517318cc5f0111b0080a72aa6fca6d1b68e174
---
# ?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 | 在scopy中是单精度浮点类型。 在dcopy中是双精度浮点类型。 在ccopy中是单精度复数类型。 在zcopy中是双精度复数类型。 | 向量x，向量规模至少是(1+(n\-1)\*abs(incx))。 | 输入 |
| incx | 整型数 | 表示x向量增长步长。 | 输入 |
| y | 在scopy中是单精度浮点类型。 在dcopy中是双精度浮点类型。 在ccopy中是单精度复数类型。 在zcopy中是双精度复数类型。 | 向量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
```
