PLASMA
Parallel Linear Algebra Software for Multicore Architectures
plasma_types.h
1 
10 #ifndef PLASMA_TYPES_H
11 #define PLASMA_TYPES_H
12 
13 #include <complex.h>
14 
15 /*
16  * RELEASE is a, b, c
17  */
18 #define PLASMA_VERSION_MAJOR 21
19 #define PLASMA_VERSION_MINOR 8
20 #define PLASMA_VERSION_PATCH 29
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /******************************************************************************/
27 #if defined(HAVE_MKL) || defined(PLASMA_WITH_MKL)
28 #define lapack_complex_float plasma_complex32_t
29 #define lapack_complex_double plasma_complex64_t
30 #endif
31 
32 /***************************************************************************/
39 #ifndef CBLAS_SADDR
40 #if defined(PLASMA_WITH_OPENBLAS)
41 #define CBLAS_SADDR(var) ((void*)&(var))
42 #else
43 #define CBLAS_SADDR(var) &(var)
44 #endif
45 #endif
46 
47 /******************************************************************************/
48 enum {
49  PlasmaByte = 0,
50  PlasmaInteger = 1,
51  PlasmaRealFloat = 2,
52  PlasmaRealDouble = 3,
53  PlasmaComplexFloat = 4,
54  PlasmaComplexDouble = 5
55 };
56 
57 /***************************************************************************/
69 enum {
70  PlasmaInvalid = -1,
71 
72  PlasmaNoTrans = 111,
73  PlasmaTrans = 112,
74  PlasmaConjTrans = 113,
75  Plasma_ConjTrans = PlasmaConjTrans,
76 
77  PlasmaUpper = 121,
78  PlasmaLower = 122,
79  PlasmaGeneral = 123,
80  PlasmaGeneralBand = 124,
81 
82  PlasmaNonUnit = 131,
83  PlasmaUnit = 132,
84 
85  PlasmaLeft = 141,
86  PlasmaRight = 142,
87 
88  PlasmaOneNorm = 171,
89  PlasmaRealOneNorm = 172,
90  PlasmaTwoNorm = 173,
91  PlasmaFrobeniusNorm = 174,
92  PlasmaInfNorm = 175,
93  PlasmaRealInfNorm = 176,
94  PlasmaMaxNorm = 177,
95  PlasmaRealMaxNorm = 178,
96 
97  PlasmaForward = 391,
98  PlasmaBackward = 392,
99 
100  PlasmaColumnwise = 401,
101  PlasmaRowwise = 402,
102 
103  PlasmaW = 501,
104  PlasmaA2 = 502
105 };
106 
107 enum {
108  PlasmaSuccess = 0,
109  PlasmaErrorNotInitialized,
110  PlasmaErrorNotSupported,
111  PlasmaErrorIllegalValue,
112  PlasmaErrorOutOfMemory,
113  PlasmaErrorNullParameter,
114  PlasmaErrorInternal,
115  PlasmaErrorSequence,
116  PlasmaErrorComponent,
117  PlasmaErrorEnvironment
118 };
119 
120 enum {
121  PlasmaInplace,
122  PlasmaOutplace
123 };
124 
125 enum {
126  PlasmaFlatHouseholder,
127  PlasmaTreeHouseholder
128 };
129 
130 enum {
131  PlasmaDisabled = 0,
132  PlasmaEnabled = 1
133 };
134 
135 enum {
136  PlasmaTuning,
137  PlasmaNb,
138  PlasmaIb,
139  PlasmaInplaceOutplace,
140  PlasmaNumPanelThreads,
141  PlasmaHouseholderMode
142 };
143 
144 /******************************************************************************/
145 typedef int plasma_enum_t;
146 
147 typedef float _Complex plasma_complex32_t;
148 typedef double _Complex plasma_complex64_t;
149 
150 /******************************************************************************/
151 plasma_enum_t plasma_diag_const(char lapack_char);
152 plasma_enum_t plasma_direct_const(char lapack_char);
153 plasma_enum_t plasma_norm_const(char lapack_char);
154 plasma_enum_t plasma_side_const(char lapack_char);
155 plasma_enum_t plasma_storev_const(char lapack_char);
156 plasma_enum_t plasma_trans_const(char lapack_char);
157 plasma_enum_t plasma_uplo_const(char lapack_char);
158 
159 #ifdef __cplusplus
160 } // extern "C"
161 #endif
162 
163 #endif // PLASMA_TYPES_H
plasma_enum_t plasma_storev_const(char lapack_char)
Definition: constants.c:95
plasma_enum_t plasma_diag_const(char lapack_char)
Definition: constants.c:32
plasma_enum_t plasma_direct_const(char lapack_char)
Definition: constants.c:45
plasma_enum_t plasma_side_const(char lapack_char)
Definition: constants.c:81
plasma_enum_t plasma_trans_const(char lapack_char)
Definition: constants.c:109
plasma_enum_t plasma_norm_const(char lapack_char)
Definition: constants.c:61
plasma_enum_t plasma_uplo_const(char lapack_char)
Definition: constants.c:124