PLASMA
Parallel Linear Algebra Software for Multicore Architectures
core_lapack_z.h
1
13#ifndef PLASMA_CORE_LAPACK_Z_H
14#define PLASMA_CORE_LAPACK_Z_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20// LAPACK_GLOBAL is Fortran name mangling macro from LAPACKE
21
22// LAPACKE_zlantr broken (returns 0) in LAPACKE < 3.6.1
23#ifndef LAPACK_zlantr
24#define LAPACK_zlantr LAPACK_GLOBAL(zlantr, ZLANTR)
25double LAPACK_zlantr(const char *norm, const char *uplo, const char *diag,
26 const lapack_int *m, const lapack_int *n,
27 const plasma_complex64_t *A, const lapack_int *lda,
28 double *work);
29#endif
30
31// LAPACKE_zlascl not available in LAPACKE < 3.6.0
32#ifndef LAPACK_zlascl
33#define LAPACK_zlascl LAPACK_GLOBAL(zlascl, ZLASCL)
34void LAPACK_zlascl(const char *type, const lapack_int *kl, const lapack_int *ku,
35 const double *cfrom, const double *cto,
36 const lapack_int *m, const lapack_int *n,
37 plasma_complex64_t *A, const lapack_int *lda,
38 lapack_int *info);
39#endif
40
41// LAPACKE_zlassq not available yet
42#ifndef LAPACK_zlassq
43#define LAPACK_zlassq LAPACK_GLOBAL(zlassq, ZLASSQ)
44void LAPACK_zlassq(const lapack_int *n, const plasma_complex64_t *x, const lapack_int *incx,
45 double *scale, double *sumsq);
46#endif
47
48// LAPACKE_zlangb not available yet
49#ifndef LAPACK_zlangb
50#define LAPACK_zlangb LAPACK_GLOBAL(zlangb, ZLANGB)
51double LAPACK_zlangb(const char *norm,
52 const lapack_int *n, const lapack_int *kl, const lapack_int *ku,
53 const plasma_complex64_t *A, const lapack_int *lda,
54 double *work);
55
56#endif
57
58#ifdef __cplusplus
59} // extern "C"
60#endif
61
62#endif // PLASMA_CORE_LAPACK_Z_H