PLASMA
Parallel Linear Algebra Software for Multicore Architectures
core_lapack_c.h
1 
13 #ifndef PLASMA_CORE_LAPACK_C_H
14 #define PLASMA_CORE_LAPACK_C_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 // LAPACK_GLOBAL is Fortran name mangling macro from LAPACKE
21 
22 // LAPACKE_clantr broken (returns 0) in LAPACKE < 3.6.1
23 #ifndef LAPACK_clantr
24 #define LAPACK_clantr LAPACK_GLOBAL(clantr, CLANTR)
25 float LAPACK_clantr(const char *norm, const char *uplo, const char *diag,
26  const lapack_int *m, const lapack_int *n,
27  const plasma_complex32_t *A, const lapack_int *lda,
28  float *work);
29 #endif
30 
31 // LAPACKE_clascl not available in LAPACKE < 3.6.0
32 #ifndef LAPACK_clascl
33 #define LAPACK_clascl LAPACK_GLOBAL(clascl, CLASCL)
34 void LAPACK_clascl(const char *type, const lapack_int *kl, const lapack_int *ku,
35  const float *cfrom, const float *cto,
36  const lapack_int *m, const lapack_int *n,
37  plasma_complex32_t *A, const lapack_int *lda,
38  lapack_int *info);
39 #endif
40 
41 // LAPACKE_classq not available yet
42 #ifndef LAPACK_classq
43 #define LAPACK_classq LAPACK_GLOBAL(classq, CLASSQ)
44 void LAPACK_classq(const lapack_int *n, const plasma_complex32_t *x, const lapack_int *incx,
45  float *scale, float *sumsq);
46 #endif
47 
48 // LAPACKE_clangb not available yet
49 #ifndef LAPACK_clangb
50 #define LAPACK_clangb LAPACK_GLOBAL(clangb, CLANGB)
51 float LAPACK_clangb(const char *norm,
52  const lapack_int *n, const lapack_int *kl, const lapack_int *ku,
53  const plasma_complex32_t *A, const lapack_int *lda,
54  float *work);
55 
56 #endif
57 
58 #ifdef __cplusplus
59 } // extern "C"
60 #endif
61 
62 #endif // PLASMA_CORE_LAPACK_C_H