===================== CXXBLAS Level 1: axpy [TOC] ===================== *copy* (defined in namespace `cxxblas`) copies a vector $x$ to a vector $y$, i.e. performs the operation $y \leftarrow x$. Generic Implementation ====================== *--[CODEREF]-----------------------------------------------------------------* | | | template | | void | | copy(IndexType n, const X *x, IndexType incX, Y *y, IndexType incY); | | | *----------------------------------------------------------------------------* [c:@N@cxxblas@FT@>3#T#T#Tcopy#t0.0#*1t0.1#S0_#*t0.2] [#S0_#templatetypenameIndexType,typenameX,typenameY] [void ] n `(input)` + Specifies the number of elements in vector $x$ and $y$. x `(input)` + Pointer to the first element of vector $x$. incX `(input)` + Specifies the increment for indexing vector $x$. y `(output)` + Pointer to the first element of vector $y$. incY `(input)` + Specifies the increment for indexing vector $y$. CBLAS Implementation ==================== If a __CBLAS__ implementations like __ATLAS__, __GotoBLAS__, ... is available then the following *optimized variants* are provided. Single Precision ---------------- *--[CODEREF]----------------------------------------------------------------* | | | template | | typename If::isBlasCompatibleInteger | | copy(IndexType n, | | const float *x, IndexType incX, | | float *y, IndexType incY); | | | *---------------------------------------------------------------------------* [c:@N@cxxblas@FT@>1#Tcopy#t0.0#*1f#S0_#*f#S0_#templ] [atetypenameIndexTypetypenameIfIndexTypeisBlasCompa] [tibleInteger ] Double Precision ---------------- *--[CODEREF]----------------------------------------------------------------* | | | template | | typename If::isBlasCompatibleInteger | | copy(IndexType n, | | const double *x, IndexType incX, | | double *y, IndexType incY); | | | *---------------------------------------------------------------------------* [c:@N@cxxblas@FT@>1#Tcopy#t0.0#*1d#S0_#*d#S0_#templ] [atetypenameIndexTypetypenameIfIndexTypeisBlasCompa] [tibleInteger ] Complex Single Precision ------------------------ *--[CODEREF]----------------------------------------------------------------* | | | template | | typename If::isBlasCompatibleInteger | | copy(IndexType n, | | const ComplexFloat *x, IndexType incX, | | ComplexFloat *y, IndexType incY); | | | *---------------------------------------------------------------------------* [c:@N@cxxblas@FT@>1#Tcopy#t0.0#*1$@N@std@N@__1@C@co] [mplex>#f#S0_#*S2_#S0_#templatetypenameIndexTypetyp] [enameIfIndexTypeisBlasCompatibleInteger ] Complex Double Precision ------------------------ *--[CODEREF]----------------------------------------------------------------* | | | template | | typename If::isBlasCompatibleInteger | | copy(IndexType n, | | const ComplexDouble *x, IndexType incX, | | ComplexDouble *y, IndexType incY); | | | *---------------------------------------------------------------------------* [c:@N@cxxblas@FT@>1#Tcopy#t0.0#*1$@N@std@N@__1@C@co] [mplex>#d#S0_#*S2_#S0_#templatetypenameIndexTypetyp] [enameIfIndexTypeisBlasCompatibleInteger ] :links: __CBLAS__ -> http://www.netlib.org/blas/ __ATLAS__ -> http://math-atlas.sourceforge.net __GotoBLAS__ -> http://www.tacc.utexas.edu/tacc-projects/gotoblas2 ################################################################################ # # The following CODEREFs are automatically created stubs. # ################################################################################ Defined in namespace `cxxblas`. Function `copy` with 3 template parameters.