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
17extern "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)
25float 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)
34void 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)
44void 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)
51float 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