C++ main module for mmsd Package  1.0
dvector_functions.h
Go to the documentation of this file.
1 #ifndef DVECTOR_FUNCTIONS
2 #define DVECTOR_FUNCTIONS
3 
4 #include "lapack_functions.h"
5 
6 
7 //y=x
8 void DoubleVectorCopy(const tLVectorIndex& nx,
9  const tLVectorIncrement& incx,
10  const double *x,
11  const tLVectorIncrement& incy,
12  double* y);
13 
14 //y+=alpha.x
15 void DoubleVectorAdd(const tLVectorIndex& nX,
16  const tLVectorIncrement& incX,const double *X,
17  const double& alpha,
18  const tLVectorIncrement& incY,double* y);
19 
20 //x*=alpha
21 void DoubleVectorScale(const tLVectorIndex& nX,
22  const tLVectorIncrement& incX,double *X,const double& alpha);
23 
24 
25 //<y,x>
26 double DoubleVectorDot(const tLVectorIndex& nX,
27  const tLVectorIncrement& incX,const double *x,
28  const tLVectorIncrement& incY,const double *y);
29 
30 void DoubleVectorRotation(const tLVectorIndex& nX,
31  const tLVectorIncrement& incX,double *x,
32  const double& c,const double& s,
33  const tLVectorIncrement& incY,double* y);
34 
35 void DoubleVectorRotationPlane(double& dx,double& dy,double& c,double& s );
36 //Y<->X
37 void DoubleVectorSwap(const tLVectorIndex& nX,
38  const tLVectorIncrement& incX,double* X,
39  const tLVectorIncrement& incY,double *Y);
40 
42  const tLVectorIncrement& incX,const double *x);
43 
44 double DoubleVectorNorm1(const tLVectorIndex& nX,
45  const tLVectorIncrement& incX,const double *x);
46 
47 
48 double DoubleVectorNorm2(const tLVectorIndex& nX,
49  const tLVectorIncrement& incX,const double *x);
50 
51 
52 
53 #endif
void DoubleVectorRotation(const tLVectorIndex &nX, const tLVectorIncrement &incX, double *x, const double &c, const double &s, const tLVectorIncrement &incY, double *y)
Definition: dvector_functions.cpp:150
void DoubleVectorSwap(const tLVectorIndex &nX, const tLVectorIncrement &incX, double *X, const tLVectorIncrement &incY, double *Y)
Definition: dvector_functions.cpp:165
void DoubleVectorAdd(const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *X, const double &alpha, const tLVectorIncrement &incY, double *y)
Definition: dvector_functions.cpp:94
void DoubleVectorRotationPlane(double &dx, double &dy, double &c, double &s)
Definition: dvector_functions.cpp:160
tLVectorIndex DoubleVectorIndexMax(const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x)
Definition: dvector_functions.cpp:175
double DoubleVectorNorm2(const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x)
Definition: dvector_functions.cpp:192
void DoubleVectorScale(const tLVectorIndex &nX, const tLVectorIncrement &incX, double *X, const double &alpha)
Definition: dvector_functions.cpp:130
void DoubleVectorCopy(const tLVectorIndex &nx, const tLVectorIncrement &incx, const double *x, const tLVectorIncrement &incy, double *y)
Definition: dvector_functions.cpp:82
#define tLVectorIndex
Definition: lapack_types.h:13
double DoubleVectorDot(const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x, const tLVectorIncrement &incY, const double *y)
Definition: dvector_functions.cpp:139
#define tLVectorIncrement
Definition: lapack_types.h:16
double DoubleVectorNorm1(const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x)
Definition: dvector_functions.cpp:184