Go to the documentation of this file.
35#include <itpp/itexports.h>
46inline void copy_vector(
int n,
const int *x,
int *y)
48 memcpy(y, x, n *
sizeof(
int));
50inline void copy_vector(
int n,
const short *x,
short *y)
52 memcpy(y, x, n *
sizeof(
short));
54inline void copy_vector(
int n,
const bin *x, bin *y)
56 memcpy(y, x, n *
sizeof(bin));
59ITPP_EXPORT
void copy_vector(
int n,
const double *x,
double *y);
60ITPP_EXPORT
void copy_vector(
int n,
const std::complex<double> *x,
61 std::complex<double> *y);
63template<
class T>
inline
64void copy_vector(
int n,
const T *x, T *y)
66 for (
int i = 0; i < n; i++)
76ITPP_EXPORT
void copy_vector(
int n,
const double *x,
int incx,
double *y,
int incy);
77ITPP_EXPORT
void copy_vector(
int n,
const std::complex<double> *x,
int incx,
78 std::complex<double> *y,
int incy);
80template<
class T>
inline
81void copy_vector(
int n,
const T *x,
int incx, T *y,
int incy)
83 for (
int i = 0; i < n; i++)
84 y[i*incy] = x[i*incx];
91inline void swap_vector(
int n,
int *x,
int *y)
93 for (
int i = 0; i < n; i++)
94 std::swap(x[i], y[i]);
96inline void swap_vector(
int n,
short *x,
short *y)
98 for (
int i = 0; i < n; i++)
99 std::swap(x[i], y[i]);
101inline void swap_vector(
int n, bin *x, bin *y)
103 for (
int i = 0; i < n; i++)
104 std::swap(x[i], y[i]);
107ITPP_EXPORT
void swap_vector(
int n,
double *x,
double *y);
108ITPP_EXPORT
void swap_vector(
int n, std::complex<double> *x, std::complex<double> *y);
110template<
class T>
inline
111void swap_vector(
int n, T *x, T *y)
114 for (
int i = 0; i < n; i++) {
127inline void swap_vector(
int n,
int *x,
int incx,
int *y,
int incy)
129 for (
int i = 0; i < n; i++)
130 std::swap(x[i*incx], y[i*incy]);
132inline void swap_vector(
int n,
short *x,
int incx,
short *y,
int incy)
134 for (
int i = 0; i < n; i++)
135 std::swap(x[i*incx], y[i*incy]);
137inline void swap_vector(
int n, bin *x,
int incx, bin *y,
int incy)
139 for (
int i = 0; i < n; i++)
140 std::swap(x[i*incx], y[i*incy]);
143ITPP_EXPORT
void swap_vector(
int n,
double *x,
int incx,
double *y,
int incy);
144ITPP_EXPORT
void swap_vector(
int n, std::complex<double> *x,
int incx,
145 std::complex<double> *y,
int incy);
147template<
class T>
inline
148void swap_vector(
int n, T *x,
int incx, T *y,
int incy)
151 for (
int i = 0; i < n; i++) {
153 y[i*incy] = x[i*incx];
162ITPP_EXPORT
void scal_vector(
int n,
double alpha,
double *x);
163ITPP_EXPORT
void scal_vector(
int n, std::complex<double> alpha, std::complex<double> *x);
165template<
typename T>
inline
166void scal_vector(
int n, T alpha, T *x)
169 for (
int i = 0; i < n; ++i) {
180ITPP_EXPORT
void scal_vector(
int n,
double alpha,
double *x,
int incx);
181ITPP_EXPORT
void scal_vector(
int n, std::complex<double> alpha, std::complex<double> *x,
184template<
typename T>
inline
185void scal_vector(
int n, T alpha, T *x,
int incx)
188 for (
int i = 0; i < n; ++i) {
198ITPP_EXPORT
void axpy_vector(
int n,
double alpha,
const double *x,
double *y);
200ITPP_EXPORT
void axpy_vector(
int n, std::complex<double> alpha,
201 const std::complex<double> *x, std::complex<double> *y);
203template<
typename T>
inline
204void axpy_vector(
int n, T alpha,
const T *x, T *y)
207 for (
int i = 0; i < n; ++i) {
208 y[i] += alpha * x[i];
212 for (
int i = 0; i < n; ++i) {
224ITPP_EXPORT
void axpy_vector(
int n,
double alpha,
const double *x,
int incx,
double *y,
226ITPP_EXPORT
void axpy_vector(
int n, std::complex<double> alpha,
227 const std::complex<double> *x,
int incx,
228 std::complex<double> *y,
int incy);
230template<
typename T>
inline
231void axpy_vector(
int n, T alpha,
const T *x,
int incx, T *y,
int incy)
234 for (
int i = 0; i < n; ++i) {
235 y[i*incy] += alpha * x[i*incx];
239 for (
int i = 0; i < n; ++i) {
240 y[i*incy] += x[i*incx];
Generated on Tue Aug 17 2021 10:59:15 for IT++ by Doxygen 1.12.0