Changeset 79290f for pcp/src/mymath.h
- Timestamp:
- Jun 7, 2008, 1:13:29 PM (17 years ago)
- Children:
- 02bc3c
- Parents:
- a97897
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/mymath.h
ra97897 r79290f 20 20 */ 21 21 22 // use double precision fft when we have it23 22 #ifdef HAVE_CONFIG_H 24 23 #include <config.h> … … 39 38 #include "defs.h" 40 39 40 // use double precision fft when we have it 41 41 #ifdef HAVE_DFFTW_H 42 42 #include "dfftw.h" … … 60 60 #define CNORMSQ3(a) ((a).re[0]*(a).re[0] + (a).re[1]*(a).re[1] + (a).re[2]*(a).re[2] + (a).im[0]*(a).im[0] + (a).im[1]*(a).im[1] + (a).im[2]*(a).im[2]) //!< square of complex euclidian norm 61 61 62 inline int Rest(int n, int m); 63 inline void RTranspose3(double *A); 64 inline void RMatMat33(double C[NDIM*NDIM], const double A[NDIM*NDIM], const double B[NDIM*NDIM]); 65 inline void RMat33Vec3(double C[NDIM], const double M[NDIM*NDIM], const double V[NDIM]); 66 inline int RMatReci3(double B[NDIM_NDIM], const double A[NDIM_NDIM]); 67 inline void RVec3Mat33(double C[NDIM], const double V[NDIM], const double M[NDIM*NDIM]); 68 inline void VP3(double V[NDIM], double A[NDIM], double B[NDIM]); 69 /* Skalarprodukt */ 70 inline double SP(const double *a, const double *b, const int n); 71 /* Multiplikation mit Skalar */ 72 inline void SM(double *a, const double c, const int n); 73 /* Nullvektor erzeugen */ 74 inline void NV(double *a, int n); 75 inline double dSum(int n, double *dx, int incx); 76 inline double Simps(int n, double *f, double h); 77 inline double derf(double x); 78 /* Initialisiere a array[3] mit b - c Orte mit periodisch */ 62 #ifdef HAVE_INLINE 63 inline double tpow(double x, int n); 64 inline int Rest(int n, int m); 65 inline void RTranspose3(double *A); 66 inline void RMatMat33(double C[NDIM*NDIM], const double A[NDIM*NDIM], const double B[NDIM*NDIM]); 67 inline void RMat33Vec3(double C[NDIM], const double M[NDIM*NDIM], const double V[NDIM]); 68 inline int RMatReci3(double B[NDIM_NDIM], const double A[NDIM_NDIM]); 69 inline void RVec3Mat33(double C[NDIM], const double V[NDIM], const double M[NDIM*NDIM]); 70 inline void VP3(double V[NDIM], double A[NDIM], double B[NDIM]); 71 /* Skalarprodukt */ 72 inline double SP(const double *a, const double *b, const int n); 73 /* Multiplikation mit Skalar */ 74 inline void SM(double *a, const double c, const int n); 75 /* Nullvektor erzeugen */ 76 inline void NV(double *a, int n); 77 inline double dSum(int n, double *dx, int incx); 78 inline double Simps(int n, double *f, double h); 79 inline void SetArrayToDouble0(double *a, int n); 80 /* Gamma functions */ 81 inline double gammln(double xx); 82 inline double gser(double a, double x); 83 inline double gcf(double a, double x); 84 inline double gammp(double a, double x); 85 inline double derf(double x); 86 #else 87 double tpow(double x, int n); 88 int Rest(int n, int m); 89 void RTranspose3(double *A); 90 void RMatMat33(double C[NDIM*NDIM], const double A[NDIM*NDIM], const double B[NDIM*NDIM]); 91 void RMat33Vec3(double C[NDIM], const double M[NDIM*NDIM], const double V[NDIM]); 92 int RMatReci3(double B[NDIM_NDIM], const double A[NDIM_NDIM]); 93 void RVec3Mat33(double C[NDIM], const double V[NDIM], const double M[NDIM*NDIM]); 94 void VP3(double V[NDIM], double A[NDIM], double B[NDIM]); 95 /* Skalarprodukt */ 96 double SP(const double *a, const double *b, const int n); 97 /* Multiplikation mit Skalar */ 98 void SM(double *a, const double c, const int n); 99 /* Nullvektor erzeugen */ 100 void NV(double *a, int n); 101 double dSum(int n, double *dx, int incx); 102 double Simps(int n, double *f, double h); 103 void SetArrayToDouble0(double *a, int n); 104 /* Gamma functions */ 105 double gammln(double xx); 106 double gser(double a, double x); 107 double gcf(double a, double x); 108 double gammp(double a, double x); 109 double derf(double x); 110 #endif 111 112 /* Initialisiere a array[3] mit b - c Orte mit periodisch */ 79 113 double Dist(const double *a, const double *b, const int n); 80 inline void SetArrayToDouble0(double *a, int n);81 114 void PrintCMat330(fftw_complex M[NDIM_NDIM]); 82 115 void PrintRMat330(fftw_real M[NDIM_NDIM]);
Note:
See TracChangeset
for help on using the changeset viewer.