PLASMA
Parallel Linear Algebra Software for Multicore Architectures
core_lapack_d.h
1
13#ifndef PLASMA_CORE_LAPACK_D_H
14#define PLASMA_CORE_LAPACK_D_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20// LAPACK_GLOBAL is Fortran name mangling macro from LAPACKE
21
22// LAPACKE_dlantr broken (returns 0) in LAPACKE < 3.6.1
23#ifndef LAPACK_dlantr
24#define LAPACK_dlantr LAPACK_GLOBAL(dlantr, DLANTR)
25double LAPACK_dlantr(const char *norm, const char *uplo, const char *diag,
26 const lapack_int *m, const lapack_int *n,
27 const double *A, const lapack_int *lda,
28 double *work);
29#endif
30
31// LAPACKE_dlascl not available in LAPACKE < 3.6.0
32#ifndef LAPACK_dlascl
33#define LAPACK_dlascl LAPACK_GLOBAL(dlascl, DLASCL)
34void LAPACK_dlascl(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 double *A, const lapack_int *lda,
38 lapack_int *info);
39#endif
40
41// LAPACKE_dlassq not available yet
42#ifndef LAPACK_dlassq
43#define LAPACK_dlassq LAPACK_GLOBAL(dlassq, DLASSQ)
44void LAPACK_dlassq(const lapack_int *n, const double *x, const lapack_int *incx,
45 double *scale, double *sumsq);
46#endif
47
48// LAPACKE_dlangb not available yet
49#ifndef LAPACK_dlangb
50#define LAPACK_dlangb LAPACK_GLOBAL(dlangb, DLANGB)
51double LAPACK_dlangb(const char *norm,
52 const lapack_int *n, const lapack_int *kl, const lapack_int *ku,
53 const double *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_D_H