diff options
Diffstat (limited to 'packages/base/src/Internal/C/lapack-aux.h')
-rw-r--r-- | packages/base/src/Internal/C/lapack-aux.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/packages/base/src/Internal/C/lapack-aux.h b/packages/base/src/Internal/C/lapack-aux.h new file mode 100644 index 0000000..6ffbef1 --- /dev/null +++ b/packages/base/src/Internal/C/lapack-aux.h | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | * We have copied the definitions in f2c.h required | ||
3 | * to compile clapack.h, modified to support both | ||
4 | * 32 and 64 bit | ||
5 | |||
6 | http://opengrok.creo.hu/dragonfly/xref/src/contrib/gcc-3.4/libf2c/readme.netlib | ||
7 | http://www.ibm.com/developerworks/library/l-port64.html | ||
8 | */ | ||
9 | |||
10 | #ifdef _LP64 | ||
11 | typedef int integer; | ||
12 | typedef unsigned int uinteger; | ||
13 | typedef int logical; | ||
14 | typedef long longint; /* system-dependent */ | ||
15 | typedef unsigned long ulongint; /* system-dependent */ | ||
16 | #else | ||
17 | typedef long int integer; | ||
18 | typedef unsigned long int uinteger; | ||
19 | typedef long int logical; | ||
20 | typedef long long longint; /* system-dependent */ | ||
21 | typedef unsigned long long ulongint; /* system-dependent */ | ||
22 | #endif | ||
23 | |||
24 | typedef char *address; | ||
25 | typedef short int shortint; | ||
26 | typedef float real; | ||
27 | typedef double doublereal; | ||
28 | typedef struct { real r, i; } complex; | ||
29 | typedef struct { doublereal r, i; } doublecomplex; | ||
30 | typedef short int shortlogical; | ||
31 | typedef char logical1; | ||
32 | typedef char integer1; | ||
33 | |||
34 | typedef logical (*L_fp)(); | ||
35 | typedef short ftnlen; | ||
36 | |||
37 | /********************************************************/ | ||
38 | |||
39 | #define IVEC(A) int A##n, int*A##p | ||
40 | #define FVEC(A) int A##n, float*A##p | ||
41 | #define DVEC(A) int A##n, double*A##p | ||
42 | #define QVEC(A) int A##n, complex*A##p | ||
43 | #define CVEC(A) int A##n, doublecomplex*A##p | ||
44 | #define PVEC(A) int A##n, void* A##p, int A##s | ||
45 | |||
46 | #define IMAT(A) int A##r, int A##c, int* A##p | ||
47 | #define FMAT(A) int A##r, int A##c, float* A##p | ||
48 | #define DMAT(A) int A##r, int A##c, double* A##p | ||
49 | #define QMAT(A) int A##r, int A##c, complex* A##p | ||
50 | #define CMAT(A) int A##r, int A##c, doublecomplex* A##p | ||
51 | #define PMAT(A) int A##r, int A##c, void* A##p, int A##s | ||
52 | |||
53 | #define OIMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, int* A##p | ||
54 | #define OFMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, float* A##p | ||
55 | #define ODMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, double* A##p | ||
56 | #define OQMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, complex* A##p | ||
57 | #define OCMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, doublecomplex* A##p | ||
58 | |||
59 | |||
60 | #define KIVEC(A) int A##n, const int*A##p | ||
61 | #define KFVEC(A) int A##n, const float*A##p | ||
62 | #define KDVEC(A) int A##n, const double*A##p | ||
63 | #define KQVEC(A) int A##n, const complex*A##p | ||
64 | #define KCVEC(A) int A##n, const doublecomplex*A##p | ||
65 | #define KPVEC(A) int A##n, const void* A##p, int A##s | ||
66 | |||
67 | #define KIMAT(A) int A##r, int A##c, const int* A##p | ||
68 | #define KFMAT(A) int A##r, int A##c, const float* A##p | ||
69 | #define KDMAT(A) int A##r, int A##c, const double* A##p | ||
70 | #define KQMAT(A) int A##r, int A##c, const complex* A##p | ||
71 | #define KCMAT(A) int A##r, int A##c, const doublecomplex* A##p | ||
72 | #define KPMAT(A) int A##r, int A##c, const void* A##p, int A##s | ||
73 | |||
74 | #define KOIMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, const int* A##p | ||
75 | #define KOFMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, const float* A##p | ||
76 | #define KODMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, const double* A##p | ||
77 | #define KOQMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, const complex* A##p | ||
78 | #define KOCMAT(A) int A##r, int A##c, int A##Xr, int A##Xc, const doublecomplex* A##p | ||
79 | |||
80 | #define AT(m,i,j) (m##p[(i)*m##Xr + (j)*m##Xc]) | ||
81 | #define TRAV(m,i,j) int i,j; for (i=0;i<m##r;i++) for (j=0;j<m##c;j++) | ||
82 | |||