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
23extern "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/******************************************************************************/
48enum {
49 PlasmaByte = 0,
50 PlasmaInteger = 1,
51 PlasmaRealFloat = 2,
52 PlasmaRealDouble = 3,
53 PlasmaComplexFloat = 4,
54 PlasmaComplexDouble = 5
55};
56
57/***************************************************************************/
69enum {
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
107enum {
108 PlasmaSuccess = 0,
109 PlasmaErrorNotInitialized,
110 PlasmaErrorNotSupported,
111 PlasmaErrorIllegalValue,
112 PlasmaErrorOutOfMemory,
113 PlasmaErrorNullParameter,
114 PlasmaErrorInternal,
115 PlasmaErrorSequence,
116 PlasmaErrorComponent,
117 PlasmaErrorEnvironment
118};
119
120enum {
121 PlasmaInplace,
122 PlasmaOutplace
123};
124
125enum {
126 PlasmaFlatHouseholder,
127 PlasmaTreeHouseholder
128};
129
130enum {
131 PlasmaDisabled = 0,
132 PlasmaEnabled = 1
133};
134
135enum {
136 PlasmaTuning,
137 PlasmaNb,
138 PlasmaIb,
139 PlasmaInplaceOutplace,
140 PlasmaNumPanelThreads,
141 PlasmaHouseholderMode
142};
143
144/******************************************************************************/
145typedef int plasma_enum_t;
146
147typedef float _Complex plasma_complex32_t;
148typedef double _Complex plasma_complex64_t;
149
150/******************************************************************************/
151plasma_enum_t plasma_diag_const(char lapack_char);
152plasma_enum_t plasma_direct_const(char lapack_char);
153plasma_enum_t plasma_norm_const(char lapack_char);
154plasma_enum_t plasma_side_const(char lapack_char);
155plasma_enum_t plasma_storev_const(char lapack_char);
156plasma_enum_t plasma_trans_const(char lapack_char);
157plasma_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_direct_const(char lapack_char)
Definition: constants.c:45
plasma_enum_t plasma_diag_const(char lapack_char)
Definition: constants.c:32
plasma_enum_t plasma_uplo_const(char lapack_char)
Definition: constants.c:124
plasma_enum_t plasma_trans_const(char lapack_char)
Definition: constants.c:109
plasma_enum_t plasma_storev_const(char lapack_char)
Definition: constants.c:95
plasma_enum_t plasma_side_const(char lapack_char)
Definition: constants.c:81
plasma_enum_t plasma_norm_const(char lapack_char)
Definition: constants.c:61