PLASMA
Parallel Linear Algebra Software for Multicore Architectures
core_lapack_s.h
1
13#ifndef PLASMA_CORE_LAPACK_S_H
14#define PLASMA_CORE_LAPACK_S_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20// LAPACK_GLOBAL is Fortran name mangling macro from LAPACKE
21
22// LAPACKE_slantr broken (returns 0) in LAPACKE < 3.6.1
23#ifndef LAPACK_slantr
24#define LAPACK_slantr LAPACK_GLOBAL(slantr, SLANTR)
25float LAPACK_slantr(const char *norm, const char *uplo, const char *diag,
26 const lapack_int *m, const lapack_int *n,
27 const float *A, const lapack_int *lda,
28 float *work);
29#endif
30
31// LAPACKE_slascl not available in LAPACKE < 3.6.0
32#ifndef LAPACK_slascl
33#define LAPACK_slascl LAPACK_GLOBAL(slascl, SLASCL)
34void LAPACK_slascl(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 float *A, const lapack_int *lda,
38 lapack_int *info);
39#endif
40
41// LAPACKE_slassq not available yet
42#ifndef LAPACK_slassq
43#define LAPACK_slassq LAPACK_GLOBAL(slassq, SLASSQ)
44void LAPACK_slassq(const lapack_int *n, const float *x, const lapack_int *incx,
45 float *scale, float *sumsq);
46#endif
47
48// LAPACKE_slangb not available yet
49#ifndef LAPACK_slangb
50#define LAPACK_slangb LAPACK_GLOBAL(slangb, SLANGB)
51float LAPACK_slangb(const char *norm,
52 const lapack_int *n, const lapack_int *kl, const lapack_int *ku,
53 const float *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_S_H