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