PageRenderTime 87ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 2ms

/Include/acml.h

https://bitbucket.org/seanfarley/nudg
C Header | 2409 lines | 2205 code | 59 blank | 145 comment | 0 complexity | ef23d8b9861a06e409f5edb5a85d9062 MD5 | raw file
Possible License(s): LGPL-3.0

Large files files are truncated, but you can click here to view the full file

  1. /*
  2. * ACML version 3.6.0 Copyright AMD,NAG 2003,2004,2005
  3. */
  4. /*
  5. This is the ACML header file. It contains function prototypes
  6. to allow a C programmer to call ACML routines via their C
  7. or Fortran interfaces.
  8. C interfaces to ACML routines differ from FORTRAN interfaces in
  9. the following major respects:
  10. (i) The FORTRAN interface names are appended by an underscore.
  11. (ii) The C interfaces contain no workspace arguments; all
  12. workspace memory is allocated internally.
  13. (iii) Scalar input arguments are passed by value in C interfaces.
  14. FORTRAN interfaces pass all arguments (except for character
  15. string "length" arguments that are normally hidden from
  16. FORTRAN programmers) by reference.
  17. (iv) Most arguments that are passed as character string pointers
  18. to FORTRAN interfaces are passed by value as single
  19. characters to C interfaces. The character string "length"
  20. arguments of FORTRAN interfaces are not required in the
  21. C interfaces.
  22. It is important to note that in both the FORTRAN and C interfaces,
  23. 2-dimensional arrays are assumed to be stored in column-major order.
  24. e.g. the matrix A = [ 1.0 2.0 ]
  25. [ 3.0 4.0 ]
  26. would be stored in memory as 1.0, 3.0, 2.0, 4.0. This storage order
  27. corresponds to a FORTRAN-style 2-D array declaration A(2,2), but not
  28. to an array declared as a[2][2] in C which would be stored in
  29. row-major order as 1.0, 2.0, 3.0, 4.0.
  30. As an example, compare the FORTRAN and C interfaces of LAPACK
  31. routine dsytrf as implemented in ACML.
  32. FORTRAN:
  33. void dsytrf_(char *uplo, int *n, double *a, int *lda, int *ipiv,
  34. double *work, int *lwork, int *info, int uplo_len);
  35. C:
  36. void dsytrf(char uplo, int n, double *a, int lda, int *ipiv, int *info);
  37. C code calling both the above variants might look like this:
  38. double *a;
  39. int *ipiv;
  40. double *work;
  41. int n, lda, lwork, info;
  42. //
  43. // Assume that all arrays and variables are allocated and initialized
  44. // as required by dsytrf.
  45. //
  46. // Call the FORTRAN version of dsytrf. The first argument is a character
  47. // string, and the last argument is the length of that string. The input
  48. // scalar arguments n, lda and lwork, as well as the output scalar
  49. // argument info, are all passed by reference.
  50. dsytrf_("Upper", &n, a, &lda, ipiv, work, &lwork, &info, 5);
  51. //
  52. // Call the C version of dsytrf. The first argument is a character,
  53. // workspace is not required, and input scalar arguments n and lda are
  54. // passed by value. Output scalar argument info is passed by reference.
  55. dsytrf('U', n, a, lda, ipiv, &info);
  56. */
  57. #ifndef _ACML_H
  58. #define _ACML_H
  59. /* Under Windows math.h defines "complex" to mean "_complex". */
  60. #include <math.h>
  61. #undef complex
  62. #ifdef __cplusplus
  63. extern "C" {
  64. #endif /* __cplusplus */
  65. /* ------------------------------------------------------------------ */
  66. /* A complex datatype for use by the C interfaces to ACML routines */
  67. #ifndef _ACML_COMPLEX
  68. #define _ACML_COMPLEX
  69. typedef struct
  70. {
  71. float real, imag;
  72. } complex;
  73. typedef struct
  74. {
  75. double real, imag;
  76. } doublecomplex;
  77. #endif /* !defined(_ACML_COMPLEX) */
  78. /*
  79. These typedefs are for routines that are arguments to other routines,
  80. e.g. ACML_CGEES_SELECT describes the argument "select" of routine cgees.
  81. */
  82. typedef int (* ACML_CGEES_SELECT)(complex *);
  83. typedef int (* ACML_CGEESX_SELECT)(complex *);
  84. typedef int (* ACML_CGGES_SELCTG)(complex *, complex *);
  85. typedef int (* ACML_CGGESX_SELCTG)(complex *, complex *);
  86. typedef int (* ACML_DGEES_SELECT)(double *, double *);
  87. typedef int (* ACML_DGEESX_SELECT)(double *, double *);
  88. typedef int (* ACML_DGGES_DELCTG)(double *, double *, double *);
  89. typedef int (* ACML_DGGESX_DELCTG)(double *, double *, double *);
  90. typedef int (* ACML_SGEES_SELECT)(float *, float *);
  91. typedef int (* ACML_SGEESX_SELECT)(float *, float *);
  92. typedef int (* ACML_SGGES_SELCTG)(float *, float *, float *);
  93. typedef int (* ACML_SGGESX_SELCTG)(float *, float *, float *);
  94. typedef int (* ACML_ZGEES_SELECT)(doublecomplex *);
  95. typedef int (* ACML_ZGEESX_SELECT)(doublecomplex *);
  96. typedef int (* ACML_ZGGES_DELCTG)(doublecomplex *, doublecomplex *);
  97. typedef int (* ACML_ZGGESX_DELCTG)(doublecomplex *, doublecomplex *);
  98. typedef void (* ACML_DRANDINITIALIZEUSER_UINI)(int *, int *, int *, int *, int *, int *, int *);
  99. typedef void (* ACML_DRANDINITIALIZEUSER_UGEN)(int *, int *, double *, int *);
  100. typedef void (* ACML_SRANDINITIALIZEUSER_UINI)(int *, int *, int *, int *, int *, int *, int *);
  101. typedef void (* ACML_SRANDINITIALIZEUSER_UGEN)(int *, int *, float *, int *);
  102. /* ------------------------------------------------------------------ */
  103. /* Below are prototypes for the C interfaces to ACML routines */
  104. /* BLAS C interfaces */
  105. extern void caxpy(int n, complex *alpha, complex *x, int incx, complex *y, int incy);
  106. extern void ccopy(int n, complex *x, int incx, complex *y, int incy);
  107. extern complex cdotc(int n, complex *x, int incx, complex *y, int incy);
  108. extern complex cdotu(int n, complex *x, int incx, complex *y, int incy);
  109. extern void cgbmv(char transa, int m, int n, int nsub, int nsuper, complex *alpha, complex *a, int lda, complex *x, int incx, complex *beta, complex *y, int incy);
  110. extern void cgemm(char transa, char transb, int m, int n, int k, complex *alpha, complex *a, int lda, complex *b, int ldb, complex *beta, complex *c, int ldc);
  111. extern void cgemv(char transa, int m, int n, complex *alpha, complex *a, int lda, complex *x, int incx, complex *beta, complex *y, int incy);
  112. extern void cgerc(int m, int n, complex *alpha, complex *x, int incx, complex *y, int incy, complex *a, int lda);
  113. extern void cgeru(int m, int n, complex *alpha, complex *x, int incx, complex *y, int incy, complex *a, int lda);
  114. extern void chbmv(char uplo, int n, int ndiag, complex *alpha, complex *a, int lda, complex *x, int incx, complex *beta, complex *y, int incy);
  115. extern void chemm(char side, char uplo, int m, int n, complex *alpha, complex *a, int lda, complex *b, int ldb, complex *beta, complex *c, int ldc);
  116. extern void chemv(char uplo, int n, complex *alpha, complex *a, int lda, complex *x, int incx, complex *beta, complex *y, int incy);
  117. extern void cher(char uplo, int n, float alpha, complex *x, int incx, complex *a, int lda);
  118. extern void cher2(char uplo, int n, complex *alpha, complex *x, int incx, complex *y, int incy, complex *a, int lda);
  119. extern void cher2k(char uplo, char transa, int n, int k, complex *alpha, complex *a, int lda, complex *b, int ldb, float beta, complex *c, int ldc);
  120. extern void cherk(char uplo, char transa, int n, int k, float alpha, complex *a, int lda, float beta, complex *c, int ldc);
  121. extern void chpmv(char uplo, int n, complex *alpha, complex *a, complex *x, int incx, complex *beta, complex *y, int incy);
  122. extern void chpr(char uplo, int n, float alpha, complex *x, int incx, complex *a);
  123. extern void chpr2(char uplo, int n, complex *alpha, complex *x, int incx, complex *y, int incy, complex *a);
  124. extern void crotg(complex *a, complex *b, float *c, complex *s);
  125. extern void cscal(int n, complex *alpha, complex *y, int incy);
  126. extern void csrot(int n, complex *x, int incx, complex *y, int incy, float c, float s);
  127. extern void csscal(int n, float alpha, complex *y, int incy);
  128. extern void cswap(int n, complex *x, int incx, complex *y, int incy);
  129. extern void csymm(char side, char uplo, int m, int n, complex *alpha, complex *a, int lda, complex *b, int ldb, complex *beta, complex *c, int ldc);
  130. extern void csyr2k(char uplo, char transa, int n, int k, complex *alpha, complex *a, int lda, complex *b, int ldb, complex *beta, complex *c, int ldc);
  131. extern void csyrk(char uplo, char transa, int n, int k, complex *alpha, complex *a, int lda, complex *beta, complex *c, int ldc);
  132. extern void ctbmv(char uplo, char transa, char diag, int n, int ndiag, complex *a, int lda, complex *y, int incy);
  133. extern void ctbsv(char uplo, char transa, char diag, int n, int ndiag, complex *a, int lda, complex *y, int incy);
  134. extern void ctpmv(char uplo, char transa, char diag, int n, complex *a, complex *y, int incy);
  135. extern void ctpsv(char uplo, char transa, char diag, int n, complex *a, complex *y, int incy);
  136. extern void ctrmm(char side, char uplo, char transa, char diag, int m, int n, complex *alpha, complex *a, int lda, complex *b, int ldb);
  137. extern void ctrmv(char uplo, char transa, char diag, int n, complex *a, int lda, complex *y, int incy);
  138. extern void ctrsm(char side, char uplo, char transa, char diag, int m, int n, complex *alpha, complex *a, int lda, complex *b, int ldb);
  139. extern void ctrsv(char uplo, char transa, char diag, int n, complex *a, int lda, complex *y, int incy);
  140. extern double dasum(int n, double *x, int incx);
  141. extern void daxpy(int n, double alpha, double *x, int incx, double *y, int incy);
  142. extern void dcopy(int n, double *x, int incx, double *y, int incy);
  143. extern double ddot(int n, double *x, int incx, double *y, int incy);
  144. extern void dgbmv(char transa, int m, int n, int nsub, int nsuper, double alpha, double *a, int lda, double *x, int incx, double beta, double *y, int incy);
  145. extern void dgemm(char transa, char transb, int m, int n, int k, double alpha, double *a, int lda, double *b, int ldb, double beta, double *c, int ldc);
  146. extern void dgemv(char transa, int m, int n, double alpha, double *a, int lda, double *x, int incx, double beta, double *y, int incy);
  147. extern void dger(int m, int n, double alpha, double *x, int incx, double *y, int incy, double *a, int lda);
  148. extern double dnrm2(int n, double *x, int incx);
  149. extern void drot(int n, double *x, int incx, double *y, int incy, double c, double s);
  150. extern void drotg(double *a, double *b, double *c, double *s);
  151. extern void drotm(int n, double *x, int incx, double *y, int incy, double *param);
  152. extern void drotmg(double d1, double d2, double b1, double b2, double *param);
  153. extern void dsbmv(char uplo, int n, int ndiag, double alpha, double *a, int lda, double *x, int incx, double beta, double *y, int incy);
  154. extern void dscal(int n, double alpha, double *y, int incy);
  155. extern double dsdot(int n, float *x, int incx, float *y, int incy);
  156. extern void dspmv(char uplo, int n, double alpha, double *a, double *x, int incx, double beta, double *y, int incy);
  157. extern void dspr(char uplo, int n, double alpha, double *x, int incx, double *a);
  158. extern void dspr2(char uplo, int n, double alpha, double *x, int incx, double *y, int incy, double *a);
  159. extern void dswap(int n, double *x, int incx, double *y, int incy);
  160. extern void dsymm(char side, char uplo, int m, int n, double alpha, double *a, int lda, double *b, int ldb, double beta, double *c, int ldc);
  161. extern void dsymv(char uplo, int n, double alpha, double *a, int lda, double *x, int incx, double beta, double *y, int incy);
  162. extern void dsyr(char uplo, int n, double alpha, double *x, int incx, double *a, int lda);
  163. extern void dsyr2(char uplo, int n, double alpha, double *x, int incx, double *y, int incy, double *a, int lda);
  164. extern void dsyr2k(char uplo, char transa, int n, int k, double alpha, double *a, int lda, double *b, int ldb, double beta, double *c, int ldc);
  165. extern void dsyrk(char uplo, char transa, int n, int k, double alpha, double *a, int lda, double beta, double *c, int ldc);
  166. extern void dtbmv(char uplo, char transa, char diag, int n, int ndiag, double *a, int lda, double *y, int incy);
  167. extern void dtbsv(char uplo, char transa, char diag, int n, int ndiag, double *a, int lda, double *y, int incy);
  168. extern void dtpmv(char uplo, char transa, char diag, int n, double *a, double *y, int incy);
  169. extern void dtpsv(char uplo, char transa, char diag, int n, double *a, double *y, int incy);
  170. extern void dtrmm(char side, char uplo, char transa, char diag, int m, int n, double alpha, double *a, int lda, double *b, int ldb);
  171. extern void dtrmv(char uplo, char transa, char diag, int n, double *a, int lda, double *y, int incy);
  172. extern void dtrsm(char side, char uplo, char transa, char diag, int m, int n, double alpha, double *a, int lda, double *b, int ldb);
  173. extern void dtrsv(char uplo, char transa, char diag, int n, double *a, int lda, double *y, int incy);
  174. extern double dzasum(int n, doublecomplex *x, int incx);
  175. extern double dznrm2(int n, doublecomplex *x, int incx);
  176. extern int icamax(int n, complex *x, int incx);
  177. extern int idamax(int n, double *x, int incx);
  178. extern int isamax(int n, float *x, int incx);
  179. extern int izamax(int n, doublecomplex *x, int incx);
  180. extern int lsame(char ca, char cb);
  181. extern float sasum(int n, float *x, int incx);
  182. extern void saxpy(int n, float alpha, float *x, int incx, float *y, int incy);
  183. extern float scasum(int n, complex *x, int incx);
  184. extern float scnrm2(int n, complex *x, int incx);
  185. extern void scopy(int n, float *x, int incx, float *y, int incy);
  186. extern float sdot(int n, float *x, int incx, float *y, int incy);
  187. extern float sdsdot(int n, float sb, float *sx, int incx, float *sy, int incy);
  188. extern void sgbmv(char transa, int m, int n, int nsub, int nsuper, float alpha, float *a, int lda, float *x, int incx, float beta, float *y, int incy);
  189. extern void sgemm(char transa, char transb, int m, int n, int k, float alpha, float *a, int lda, float *b, int ldb, float beta, float *c, int ldc);
  190. extern void sgemv(char transa, int m, int n, float alpha, float *a, int lda, float *x, int incx, float beta, float *y, int incy);
  191. extern void sger(int m, int n, float alpha, float *x, int incx, float *y, int incy, float *a, int lda);
  192. extern float snrm2(int n, float *x, int incx);
  193. extern void srot(int n, float *x, int incx, float *y, int incy, float c, float s);
  194. extern void srotg(float *a, float *b, float *c, float *s);
  195. extern void srotm(int n, float *x, int incx, float *y, int incy, float *param);
  196. extern void srotmg(float d1, float d2, float b1, float b2, float *param);
  197. extern void ssbmv(char uplo, int n, int ndiag, float alpha, float *a, int lda, float *x, int incx, float beta, float *y, int incy);
  198. extern void sscal(int n, float alpha, float *x, int incx);
  199. extern void sspmv(char uplo, int n, float alpha, float *a, float *x, int incx, float beta, float *y, int incy);
  200. extern void sspr(char uplo, int n, float alpha, float *x, int incx, float *a);
  201. extern void sspr2(char uplo, int n, float alpha, float *x, int incx, float *y, int incy, float *a);
  202. extern void sswap(int n, float *x, int incx, float *y, int incy);
  203. extern void ssymm(char side, char uplo, int m, int n, float alpha, float *a, int lda, float *b, int ldb, float beta, float *c, int ldc);
  204. extern void ssymv(char uplo, int n, float alpha, float *a, int lda, float *x, int incx, float beta, float *y, int incy);
  205. extern void ssyr(char uplo, int n, float alpha, float *x, int incx, float *a, int lda);
  206. extern void ssyr2(char uplo, int n, float alpha, float *x, int incx, float *y, int incy, float *a, int lda);
  207. extern void ssyr2k(char uplo, char transa, int n, int k, float alpha, float *a, int lda, float *b, int ldb, float beta, float *c, int ldc);
  208. extern void ssyrk(char uplo, char transa, int n, int k, float alpha, float *a, int lda, float beta, float *c, int ldc);
  209. extern void stbmv(char uplo, char transa, char diag, int n, int ndiag, float *a, int lda, float *y, int incy);
  210. extern void stbsv(char uplo, char transa, char diag, int n, int ndiag, float *a, int lda, float *y, int incy);
  211. extern void stpmv(char uplo, char transa, char diag, int n, float *a, float *y, int incy);
  212. extern void stpsv(char uplo, char transa, char diag, int n, float *a, float *y, int incy);
  213. extern void strmm(char side, char uplo, char transa, char diag, int m, int n, float alpha, float *a, int lda, float *b, int ldb);
  214. extern void strmv(char uplo, char transa, char diag, int n, float *a, int lda, float *y, int incy);
  215. extern void strsm(char side, char uplo, char transa, char diag, int m, int n, float alpha, float *a, int lda, float *b, int ldb);
  216. extern void strsv(char uplo, char transa, char diag, int n, float *a, int lda, float *y, int incy);
  217. extern void xerbla(const char *srname, int *info);
  218. extern void zaxpy(int n, doublecomplex *alpha, doublecomplex *x, int incx, doublecomplex *y, int incy);
  219. extern void zcopy(int n, doublecomplex *x, int incx, doublecomplex *y, int incy);
  220. extern doublecomplex zdotc(int n, doublecomplex *x, int incx, doublecomplex *y, int incy);
  221. extern doublecomplex zdotu(int n, doublecomplex *x, int incx, doublecomplex *y, int incy);
  222. extern void zdrot(int n, doublecomplex *cx, int incx, doublecomplex *cy, int incy, double c, double s);
  223. extern void zdscal(int n, double alpha, doublecomplex *y, int incy);
  224. extern void zgbmv(char transa, int m, int n, int nsub, int nsuper, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *x, int incx, doublecomplex *beta, doublecomplex *y, int incy);
  225. extern void zgemm(char transa, char transb, int m, int n, int k, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb, doublecomplex *beta, doublecomplex *c, int ldc);
  226. extern void zgemv(char transa, int m, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *x, int incx, doublecomplex *beta, doublecomplex *y, int incy);
  227. extern void zgerc(int m, int n, doublecomplex *alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex *a, int lda);
  228. extern void zgeru(int m, int n, doublecomplex *alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex *a, int lda);
  229. extern void zhbmv(char uplo, int n, int ndiag, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *x, int incx, doublecomplex *beta, doublecomplex *y, int incy);
  230. extern void zhemm(char side, char uplo, int m, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb, doublecomplex *beta, doublecomplex *c, int ldc);
  231. extern void zhemv(char uplo, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *x, int incx, doublecomplex *beta, doublecomplex *y, int incy);
  232. extern void zher(char uplo, int n, double alpha, doublecomplex *x, int incx, doublecomplex *a, int lda);
  233. extern void zher2(char uplo, int n, doublecomplex *alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex *a, int lda);
  234. extern void zher2k(char uplo, char transa, int n, int k, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb, double beta, doublecomplex *c, int ldc);
  235. extern void zherk(char uplo, char transa, int n, int k, double alpha, doublecomplex *a, int lda, double beta, doublecomplex *c, int ldc);
  236. extern void zhpmv(char uplo, int n, doublecomplex *alpha, doublecomplex *a, doublecomplex *x, int incx, doublecomplex *beta, doublecomplex *y, int incy);
  237. extern void zhpr(char uplo, int n, double alpha, doublecomplex *x, int incx, doublecomplex *a);
  238. extern void zhpr2(char uplo, int n, doublecomplex *alpha, doublecomplex *x, int incx, doublecomplex *y, int incy, doublecomplex *a);
  239. extern void zrotg(doublecomplex *a, doublecomplex *b, double *c, doublecomplex *s);
  240. extern void zscal(int n, doublecomplex *alpha, doublecomplex *y, int incy);
  241. extern void zswap(int n, doublecomplex *x, int incx, doublecomplex *y, int incy);
  242. extern void zsymm(char side, char uplo, int m, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb, doublecomplex *beta, doublecomplex *c, int ldc);
  243. extern void zsyr2k(char uplo, char transa, int n, int k, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb, doublecomplex *beta, doublecomplex *c, int ldc);
  244. extern void zsyrk(char uplo, char transa, int n, int k, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *beta, doublecomplex *c, int ldc);
  245. extern void ztbmv(char uplo, char transa, char diag, int n, int ndiag, doublecomplex *a, int lda, doublecomplex *y, int incy);
  246. extern void ztbsv(char uplo, char transa, char diag, int n, int ndiag, doublecomplex *a, int lda, doublecomplex *y, int incy);
  247. extern void ztpmv(char uplo, char transa, char diag, int n, doublecomplex *a, doublecomplex *y, int incy);
  248. extern void ztpsv(char uplo, char transa, char diag, int n, doublecomplex *a, doublecomplex *y, int incy);
  249. extern void ztrmm(char side, char uplo, char transa, char diag, int m, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb);
  250. extern void ztrmv(char uplo, char transa, char diag, int n, doublecomplex *a, int lda, doublecomplex *y, int incy);
  251. extern void ztrsm(char side, char uplo, char transa, char diag, int m, int n, doublecomplex *alpha, doublecomplex *a, int lda, doublecomplex *b, int ldb);
  252. extern void ztrsv(char uplo, char transa, char diag, int n, doublecomplex *a, int lda, doublecomplex *y, int incy);
  253. /* LAPACK C interfaces */
  254. extern int ilaenv(int ispec, const char *name, const char *opts, int n1, int n2, int n3, int n4);
  255. extern void ilaenvset(int ispec, const char *name, const char *opts, int n1, int n2, int n3, int n4, int nvalue, int *info);
  256. extern void cbdsqr(char uplo, int n, int ncvt, int nru, int ncc, float *d, float *e, complex *vt, int ldvt, complex *u, int ldu, complex *c, int ldc, int *info);
  257. extern void cgbbrd(char vect, int m, int n, int ncc, int kl, int ku, complex *ab, int ldab, float *d, float *e, complex *q, int ldq, complex *pt, int ldpt, complex *c, int ldc, int *info);
  258. extern void cgbcon(char norm, int n, int nsub, int nsuper, complex *a, int lda, int *ipiv, float anorm, float *rcond, int *info);
  259. extern void cgbequ(int m, int n, int nsub, int nsuper, complex *a, int lda, float *rowsc, float *colsc, float *rowcnd, float *colcnd, float *amax, int *info);
  260. extern void cgbrfs(char transa, int n, int nsub, int nsuper, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  261. extern void cgbsv(int n, int nsub, int nsuper, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  262. /* N.B. In this C interface to cgbsvx, rpvgrw returns what is returned in
  263. the first element of RWORK by the FORTRAN interface */
  264. extern void cgbsvx(char fact, char transa, int n, int nsub, int nsuper, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, char equed, float *rowsc, float *colsc, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, float *rpvgrw, int *info);
  265. extern void cgbtrf(int m, int n, int nsub, int nsuper, complex *a, int lda, int *ipiv, int *info);
  266. extern void cgbtrs(char transa, int n, int nsub, int nsuper, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  267. extern void cgebak(char job, char side, int n, int ilo, int ihi, float *scale, int m, complex *v, int ldv, int *info);
  268. extern void cgebal(char job, int n, complex *a, int lda, int *ilo, int *ihi, float *scale, int *info);
  269. extern void cgebrd(int m, int n, complex *a, int lda, float *d, float *e, complex *tauq, complex *taup, int *info);
  270. extern void cgecon(char norm, int n, complex *a, int lda, float anorm, float *rcond, int *info);
  271. extern void cgeequ(int m, int n, complex *a, int lda, float *rowsc, float *colsc, float *rowcnd, float *colcnd, float *amax, int *info);
  272. extern void cgees(char jobz, char sortev, ACML_CGEES_SELECT select, int n, complex *a, int lda, int *nout, complex *w, complex *z, int ldz, int *info);
  273. extern void cgeesx(char jobz, char sortev, ACML_CGEESX_SELECT select, char sense, int n, complex *a, int lda, int *nout, complex *w, complex *z, int ldz, float *rcone, float *rconv, int *info);
  274. extern void cgeev(char jobvl, char jobvr, int n, complex *a, int lda, complex *w, complex *vl, int ldvl, complex *vr, int ldvr, int *info);
  275. extern void cgeevx(char balanc, char jobvl, char jobvr, char sense, int n, complex *a, int lda, complex *w, complex *vl, int ldvl, complex *vr, int ldvr, int *ilo, int *ihi, float *scale, float *abnrm, float *rconde, float *rcondv, int *info);
  276. extern void cgegs(char jobvsl, char jobvsr, int n, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *vsl, int ldvsl, complex *vsr, int ldvsr, int *info);
  277. extern void cgegv(char jobvl, char jobvr, int n, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *vl, int ldvl, complex *vr, int ldvr, int *info);
  278. extern void cgehrd(int n, int ilo, int ihi, complex *a, int lda, complex *tau, int *info);
  279. extern void cgelqf(int m, int n, complex *a, int lda, complex *tau, int *info);
  280. extern void cgels(char trans, int m, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  281. extern void cgelsd(int m, int n, int nrhs, complex *a, int lda, complex *b, int ldb, float *s, float rcond, int *rank, int *info);
  282. extern void cgelss(int m, int n, int nrhs, complex *a, int lda, complex *b, int ldb, float *sing, float rcond, int *irank, int *info);
  283. extern void cgelsx(int m, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *jpivot, float rcond, int *irank, int *info);
  284. extern void cgelsy(int m, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *jpvt, float rcond, int *rank, int *info);
  285. extern void cgeqlf(int m, int n, complex *a, int lda, complex *tau, int *info);
  286. extern void cgeqp3(int m, int n, complex *a, int lda, int *jpvt, complex *tau, int *info);
  287. extern void cgeqpf(int m, int n, complex *a, int lda, int *jpvt, complex *tau, int *info);
  288. extern void cgeqrf(int m, int n, complex *a, int lda, complex *tau, int *info);
  289. extern void cgerfs(char transa, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  290. extern void cgerqf(int m, int n, complex *a, int lda, complex *tau, int *info);
  291. extern void cgesdd(char jobz, int m, int n, complex *a, int lda, float *s, complex *u, int ldu, complex *vt, int ldvt, int *info);
  292. extern void cgesv(int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  293. extern void cgesvd(char jobu, char jobvt, int m, int n, complex *a, int lda, float *sing, complex *u, int ldu, complex *vt, int ldvt, int *info);
  294. /* N.B. In this C interface to cgesvx, rpvgrw returns what is returned in
  295. the first element of RWORK by the FORTRAN interface */
  296. extern void cgesvx(char fact, char transa, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, char equed, float *rowsc, float *colsc, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, float *rpvgrw, int *info);
  297. extern void cgetrf(int m, int n, complex *a, int lda, int *ipiv, int *info);
  298. extern void cgetri(int n, complex *a, int lda, int *ipiv, int *info);
  299. extern void cgetrs(char transa, int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  300. extern void cggbak(char job, char side, int n, int ilo, int ihi, float *lscale, float *rscale, int m, complex *v, int ldv, int *info);
  301. extern void cggbal(char job, int n, complex *a, int lda, complex *b, int ldb, int *ilo, int *ihi, float *lscale, float *rscale, int *info);
  302. extern void cgges(char jobvsl, char jobvsr, char sort, ACML_CGGES_SELCTG selctg, int n, complex *a, int lda, complex *b, int ldb, int *sdim, complex *alpha, complex *beta, complex *vsl, int ldvsl, complex *vsr, int ldvsr, int *info);
  303. extern void cggesx(char jobvsl, char jobvsr, char sort, ACML_CGGESX_SELCTG selctg, char sense, int n, complex *a, int lda, complex *b, int ldb, int *sdim, complex *alpha, complex *beta, complex *vsl, int ldvsl, complex *vsr, int ldvsr, float *rconde, float *rcondv, int *info);
  304. extern void cggev(char jobvl, char jobvr, int n, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *vl, int ldvl, complex *vr, int ldvr, int *info);
  305. extern void cggevx(char balanc, char jobvl, char jobvr, char sense, int n, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *vl, int ldvl, complex *vr, int ldvr, int *ilo, int *ihi, float *lscale, float *rscale, float *abnrm, float *bbnrm, float *rconde, float *rcondv, int *info);
  306. extern void cggglm(int n, int m, int p, complex *a, int lda, complex *b, int ldb, complex *d, complex *x, complex *y, int *info);
  307. extern void cgghrd(char compq, char compz, int n, int ilo, int ihi, complex *a, int lda, complex *b, int ldb, complex *q, int ldq, complex *z, int ldz, int *info);
  308. extern void cgglse(int m, int n, int p, complex *a, int lda, complex *b, int ldb, complex *c, complex *d, complex *x, int *info);
  309. extern void cggqrf(int n, int m, int p, complex *a, int lda, complex *taua, complex *b, int ldb, complex *taub, int *info);
  310. extern void cggrqf(int m, int p, int n, complex *a, int lda, complex *taua, complex *b, int ldb, complex *taub, int *info);
  311. extern void cggsvd(char jobu, char jobv, char jobq, int m, int n, int p, int *k, int *l, complex *a, int lda, complex *b, int ldb, float *alpha, float *beta, complex *u, int ldu, complex *v, int ldv, complex *q, int ldq, int *iwork, int *info);
  312. extern void cggsvp(char jobu, char jobv, char jobq, int m, int p, int n, complex *a, int lda, complex *b, int ldb, float tola, float tolb, int *k, int *l, complex *u, int ldu, complex *v, int ldv, complex *q, int ldq, int *info);
  313. extern void cgtcon(char norm, int n, complex *low, complex *diag, complex *up1, complex *up2, int *ipiv, float anorm, float *rcond, int *info);
  314. extern void cgtrfs(char transa, int n, int nrhs, complex *low, complex *diag, complex *up, complex *lowf, complex *diagf, complex *upf1, complex *upf2, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  315. extern void cgtsv(int n, int nrhs, complex *low, complex *diag, complex *up, complex *b, int ldb, int *info);
  316. extern void cgtsvx(char fact, char transa, int n, int nrhs, complex *low, complex *diag, complex *up, complex *lowf, complex *diagf, complex *upf1, complex *upf2, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  317. extern void cgttrf(int n, complex *low, complex *diag, complex *up1, complex *up2, int *ipiv, int *info);
  318. extern void cgttrs(char transa, int n, int nrhs, complex *low, complex *diag, complex *up1, complex *up2, int *ipiv, complex *b, int ldb, int *info);
  319. extern void chbev(char jobz, char uplo, int n, int ndiag, complex *a, int lda, float *w, complex *z, int ldz, int *info);
  320. extern void chbevd(char jobz, char uplo, int n, int kd, complex *ab, int ldab, float *w, complex *z, int ldz, int *info);
  321. extern void chbevx(char jobz, char range, char uplo, int n, int ndiag, complex *a, int lda, complex *q, int ldq, float vl, float vu, int il, int iu, float abtol, int *nfound, float *w, complex *z, int ldz, int *ifail, int *info);
  322. extern void chbgst(char vect, char uplo, int n, int ka, int kb, complex *ab, int ldab, complex *bb, int ldbb, complex *x, int ldx, int *info);
  323. extern void chbgv(char jobz, char uplo, int n, int ka, int kb, complex *ab, int ldab, complex *bb, int ldbb, float *w, complex *z, int ldz, int *info);
  324. extern void chbgvd(char jobz, char uplo, int n, int ka, int kb, complex *ab, int ldab, complex *bb, int ldbb, float *w, complex *z, int ldz, int *info);
  325. extern void chbgvx(char jobz, char range, char uplo, int n, int ka, int kb, complex *ab, int ldab, complex *bb, int ldbb, complex *q, int ldq, float vl, float vu, int il, int iu, float abstol, int *m, float *w, complex *z, int ldz, int *ifail, int *info);
  326. extern void chbtrd(char vect, char uplo, int n, int kd, complex *ab, int ldab, float *d, float *e, complex *q, int ldq, int *info);
  327. extern void checon(char uplo, int n, complex *a, int lda, int *ipiv, float anorm, float *rcond, int *info);
  328. extern void cheev(char jobz, char uplo, int n, complex *a, int lda, float *w, int *info);
  329. extern void cheevd(char jobz, char uplo, int n, complex *a, int lda, float *w, int *info);
  330. extern void cheevr(char jobz, char range, char uplo, int n, complex *a, int lda, float vl, float vu, int il, int iu, float abstol, int *m, float *w, complex *z, int ldz, int *isuppz, int *info);
  331. extern void cheevx(char jobz, char range, char uplo, int n, complex *a, int lda, float vl, float vu, int il, int iu, float abtol, int *nfound, float *w, complex *z, int ldz, int *ifail, int *info);
  332. extern void chegst(int itype, char uplo, int n, complex *a, int lda, complex *b, int ldb, int *info);
  333. extern void chegv(int itype, char jobz, char uplo, int n, complex *a, int lda, complex *b, int ldb, float *w, int *info);
  334. extern void chegvd(int itype, char jobz, char uplo, int n, complex *a, int lda, complex *b, int ldb, float *w, int *info);
  335. extern void chegvx(int itype, char jobz, char range, char uplo, int n, complex *a, int lda, complex *b, int ldb, float vl, float vu, int il, int iu, float abstol, int *m, float *w, complex *z, int ldz, int *ifail, int *info);
  336. extern void cherfs(char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  337. extern void chesv(char uplo, int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  338. extern void chesvx(char fact, char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  339. extern void chetrd(char uplo, int n, complex *a, int lda, float *d, float *e, complex *tau, int *info);
  340. extern void chetrf(char uplo, int n, complex *a, int lda, int *ipiv, int *info);
  341. extern void chetri(char uplo, int n, complex *a, int lda, int *ipiv, int *info);
  342. extern void chetrs(char uplo, int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  343. extern void chgeqz(char job, char compq, char compz, int n, int ilo, int ihi, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *q, int ldq, complex *z, int ldz, int *info);
  344. extern void chpcon(char uplo, int n, complex *a, int *ipiv, float anorm, float *rcond, int *info);
  345. extern void chpev(char jobz, char uplo, int n, complex *a, float *w, complex *z, int ldz, int *info);
  346. extern void chpevd(char jobz, char uplo, int n, complex *ap, float *w, complex *z, int ldz, int *info);
  347. extern void chpevx(char jobz, char range, char uplo, int n, complex *a, float vl, float vu, int il, int iu, float abtol, int *nfound, float *w, complex *z, int ldz, int *ifail, int *info);
  348. extern void chpgst(int itype, char uplo, int n, complex *ap, complex *bp, int *info);
  349. extern void chpgv(int itype, char jobz, char uplo, int n, complex *a, complex *b, float *w, complex *z, int ldz, int *info);
  350. extern void chpgvd(int itype, char jobz, char uplo, int n, complex *ap, complex *bp, float *w, complex *z, int ldz, int *info);
  351. extern void chpgvx(int itype, char jobz, char range, char uplo, int n, complex *ap, complex *bp, float vl, float vu, int il, int iu, float abstol, int *m, float *w, complex *z, int ldz, int *ifail, int *info);
  352. extern void chprfs(char uplo, int n, int nrhs, complex *a, complex *af, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  353. extern void chpsv(char uplo, int n, int nrhs, complex *a, int *ipiv, complex *b, int ldb, int *info);
  354. extern void chpsvx(char fact, char uplo, int n, int nrhs, complex *a, complex *af, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  355. extern void chptrd(char uplo, int n, complex *ap, float *d, float *e, complex *tau, int *info);
  356. extern void chptrf(char uplo, int n, complex *a, int *ipiv, int *info);
  357. extern void chptri(char uplo, int n, complex *a, int *ipiv, int *info);
  358. extern void chptrs(char uplo, int n, int nrhs, complex *a, int *ipiv, complex *b, int ldb, int *info);
  359. extern void chsein(char side, char eigsrc, char initv, int *select, int n, complex *h, int ldh, complex *w, complex *vl, int ldvl, complex *vr, int ldvr, int mm, int *m, int *ifaill, int *ifailr, int *info);
  360. extern void chseqr(char job, char compz, int n, int ilo, int ihi, complex *h, int ldh, complex *w, complex *z, int ldz, int *info);
  361. extern void cpbcon(char uplo, int n, int ndiag, complex *a, int lda, float anorm, float *rcond, int *info);
  362. extern void cpbequ(char uplo, int n, int ndiag, complex *a, int lda, float *scale, float *scond, float *amax, int *info);
  363. extern void cpbrfs(char uplo, int n, int ndiag, int nrhs, complex *a, int lda, complex *af, int ldaf, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  364. extern void cpbstf(char uplo, int n, int kd, complex *ab, int ldab, int *info);
  365. extern void cpbsv(char uplo, int n, int ndiag, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  366. extern void cpbsvx(char fact, char uplo, int n, int ndiag, int nrhs, complex *a, int lda, complex *af, int ldaf, char equed, float *scale, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  367. extern void cpbtrf(char uplo, int n, int ndiag, complex *a, int lda, int *info);
  368. extern void cpbtrs(char uplo, int n, int ndiag, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  369. extern void cpocon(char uplo, int n, complex *a, int lda, float anorm, float *rcond, int *info);
  370. extern void cpoequ(int n, complex *a, int lda, float *scale, float *scond, float *amax, int *info);
  371. extern void cporfs(char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  372. extern void cposv(char uplo, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  373. extern void cposvx(char fact, char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, char equed, float *scale, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  374. extern void cpotrf(char uplo, int n, complex *a, int lda, int *info);
  375. extern void cpotri(char uplo, int n, complex *a, int lda, int *info);
  376. extern void cpotrs(char uplo, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  377. extern void cppcon(char uplo, int n, complex *a, float anorm, float *rcond, int *info);
  378. extern void cppequ(char uplo, int n, complex *a, float *scale, float *scond, float *amax, int *info);
  379. extern void cpprfs(char uplo, int n, int nrhs, complex *a, complex *af, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  380. extern void cppsv(char uplo, int n, int nrhs, complex *a, complex *b, int ldb, int *info);
  381. extern void cppsvx(char fact, char uplo, int n, int nrhs, complex *a, complex *af, char equed, float *scale, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  382. extern void cpptrf(char uplo, int n, complex *a, int *info);
  383. extern void cpptri(char uplo, int n, complex *a, int *info);
  384. extern void cpptrs(char uplo, int n, int nrhs, complex *a, complex *b, int ldb, int *info);
  385. extern void cptcon(int n, float *diag, complex *offd, float anorm, float *rcond, int *info);
  386. extern void cpteqr(char compz, int n, float *d, float *e, complex *z, int ldz, int *info);
  387. extern void cptrfs(char uplo, int n, int nrhs, float *diag, complex *offd, float *diagf, complex *offdf, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  388. extern void cptsv(int n, int nrhs, float *diag, complex *sub, complex *b, int ldb, int *info);
  389. extern void cptsvx(char fact, int n, int nrhs, float *diag, complex *sub, float *diagf, complex *subf, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  390. extern void cpttrf(int n, float *diag, complex *offd, int *info);
  391. extern void cpttrs(char uplo, int n, int nrhs, float *diag, complex *offd, complex *b, int ldb, int *info);
  392. extern void cspcon(char uplo, int n, complex *a, int *ipiv, float anorm, float *rcond, int *info);
  393. extern void csprfs(char uplo, int n, int nrhs, complex *a, complex *af, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  394. extern void cspsv(char uplo, int n, int nrhs, complex *a, int *ipiv, complex *b, int ldb, int *info);
  395. extern void cspsvx(char fact, char uplo, int n, int nrhs, complex *a, complex *af, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  396. extern void csptrf(char uplo, int n, complex *a, int *ipiv, int *info);
  397. extern void csptri(char uplo, int n, complex *a, int *ipiv, int *info);
  398. extern void csptrs(char uplo, int n, int nrhs, complex *a, int *ipiv, complex *b, int ldb, int *info);
  399. extern void cstedc(char compz, int n, float *d, float *e, complex *z, int ldz, int *info);
  400. extern void cstegr(char jobz, char range, int n, float *d, float *e, float vl, float vu, int il, int iu, float abstol, int *m, float *w, complex *z, int ldz, int *isuppz, int *info);
  401. extern void cstein(int n, float *d, float *e, int m, float *w, int *iblock, int *isplit, complex *z, int ldz, int *ifail, int *info);
  402. extern void csteqr(char compz, int n, float *d, float *e, complex *z, int ldz, int *info);
  403. extern void csycon(char uplo, int n, complex *a, int lda, int *ipiv, float anorm, float *rcond, int *info);
  404. extern void csyrfs(char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  405. extern void csysv(char uplo, int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  406. extern void csysvx(char fact, char uplo, int n, int nrhs, complex *a, int lda, complex *af, int ldaf, int *ipiv, complex *b, int ldb, complex *x, int ldx, float *rcond, float *ferr, float *berr, int *info);
  407. extern void csytrf(char uplo, int n, complex *a, int lda, int *ipiv, int *info);
  408. extern void csytri(char uplo, int n, complex *a, int lda, int *ipiv, int *info);
  409. extern void csytrs(char uplo, int n, int nrhs, complex *a, int lda, int *ipiv, complex *b, int ldb, int *info);
  410. extern void ctbcon(char norm, char uplo, char diag, int n, int ndiag, complex *a, int lda, float *rcond, int *info);
  411. extern void ctbrfs(char uplo, char transa, char diag, int n, int ndiag, int nrhs, complex *a, int lda, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  412. extern void ctbtrs(char uplo, char transa, char diag, int n, int ndiag, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  413. extern void ctgevc(char side, char howmny, int *select, int n, complex *a, int lda, complex *b, int ldb, complex *vl, int ldvl, complex *vr, int ldvr, int mm, int *m, int *info);
  414. extern void ctgexc(int wantq, int wantz, int n, complex *a, int lda, complex *b, int ldb, complex *q, int ldq, complex *z, int ldz, int *ifst, int *ilst, int *info);
  415. extern void ctgsen(int ijob, int wantq, int wantz, int *select, int n, complex *a, int lda, complex *b, int ldb, complex *alpha, complex *beta, complex *q, int ldq, complex *z, int ldz, int *m, float *pl, float *pr, float *dif, int *info);
  416. extern void ctgsja(char jobu, char jobv, char jobq, int m, int p, int n, int k, int l, complex *a, int lda, complex *b, int ldb, float tola, float tolb, float *alpha, float *beta, complex *u, int ldu, complex *v, int ldv, complex *q, int ldq, int *ncycle, int *info);
  417. extern void ctgsna(char job, char howmnt, int *select, int n, complex *a, int lda, complex *b, int ldb, complex *vl, int ldvl, complex *vr, int ldvr, float *s, float *dif, int mm, int *m, int *info);
  418. extern void ctgsyl(char trans, int ijob, int m, int n, complex *a, int lda, complex *b, int ldb, complex *c, int ldc, complex *d, int ldd, complex *e, int lde, complex *f, int ldf, float *scale, float *dif, int *info);
  419. extern void ctpcon(char norm, char uplo, char diag, int n, complex *a, float *rcond, int *info);
  420. extern void ctprfs(char uplo, char transa, char diag, int n, int nrhs, complex *a, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  421. extern void ctptri(char uplo, char diag, int n, complex *a, int *info);
  422. extern void ctptrs(char uplo, char transa, char diag, int n, int nrhs, complex *a, complex *b, int ldb, int *info);
  423. extern void ctrcon(char norm, char uplo, char diag, int n, complex *a, int lda, float *rcond, int *info);
  424. extern void ctrevc(char side, char howmny, int *select, int n, complex *t, int ldt, complex *vl, int ldvl, complex *vr, int ldvr, int mm, int *m, int *info);
  425. extern void ctrexc(char compq, int n, complex *t, int ldt, complex *q, int ldq, int ifst, int ilst, int *info);
  426. extern void ctrrfs(char uplo, char transa, char diag, int n, int nrhs, complex *a, int lda, complex *b, int ldb, complex *x, int ldx, float *ferr, float *berr, int *info);
  427. extern void ctrsen(char job, char compq, int *select, int n, complex *t, int ldt, complex *q, int ldq, complex *w, int *m, float *s, float *sep, int *info);
  428. extern void ctrsna(char job, char howmny, int *select, int n, complex *t, int ldt, complex *vl, int ldvl, complex *vr, int ldvr, float *s, float *sep, int mm, int *m, int *info);
  429. extern void ctrsyl(char trana, char tranb, int isgn, int m, int n, complex *a, int lda, complex *b, int ldb, complex *c, int ldc, float *scale, int *info);
  430. extern void ctrtri(char uplo, char diag, int n, complex *a, int lda, int *info);
  431. extern void ctrtrs(char uplo, char transa, char diag, int n, int nrhs, complex *a, int lda, complex *b, int ldb, int *info);
  432. extern void ctzrqf(int m, int n, complex *a, int lda, complex *tau, int *info);
  433. extern void ctzrzf(int m, int n, complex *a, int lda, complex *tau, int *info);
  434. extern void cungbr(char vect, int m, int n, int k, complex *a, int lda, complex *tau, int *info);
  435. extern void cunghr(int n, int ilo, int ihi, complex *a, int lda, complex *tau, int *info);
  436. extern void cunglq(int m, int n, int k, complex *a, int lda, complex *tau, int *info);
  437. extern void cungql(int m, int n, int k, complex *a, int lda, complex *tau, int *info);
  438. extern void cungqr(int m, int n, int k, complex *a, int lda, complex *tau, int *info);
  439. extern void cungrq(int m, int n, int k, complex *a, int lda, complex *tau, int *info);
  440. extern void cungtr(char uplo, int n, complex *a, int lda, complex *tau, int *info);
  441. extern void cunmbr(char vect, char side, char trans, int m, int n, int k, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  442. extern void cunmhr(char side, char trans, int m, int n, int ilo, int ihi, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  443. extern void cunmlq(char side, char trans, int m, int n, int k, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  444. extern void cunmql(char side, char trans, int m, int n, int k, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  445. extern void cunmqr(char side, char trans, int m, int n, int k, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  446. extern void cunmrq(char side, char trans, int m, int n, int k, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  447. extern void cunmrz(char side, char trans, int m, int n, int k, int l, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  448. extern void cunmtr(char side, char uplo, char trans, int m, int n, complex *a, int lda, complex *tau, complex *c, int ldc, int *info);
  449. extern void cupgtr(char uplo, int n, complex *ap, complex *tau, complex *q, int ldq, int *info);
  450. extern void cupmtr(char side, char uplo, char trans, int m, int n, complex *ap, complex *tau, complex *c, int ldc, int *info);
  451. extern void dbdsdc(char uplo, char compq, int n, double *d, double *e, double *u, int ldu, double *vt, int ldvt, double *q, int *iq, int *info);
  452. extern void dbdsqr(char uplo, int n, int ncvt, int nru, int ncc, double *d, double *e, double *vt, int ldvt, double *u, int ldu, double *c, int ldc, int *info);
  453. extern void ddisna(char job, int m, int n, double *d, double *sep, int *info);
  454. extern void dgbbrd(char vect, int m, int n, int ncc, int kl, int ku, double *ab, int ldab, double *d, double *e, double *q, int ldq, double *pt, int ldpt, double *c, int ldc, int *info);
  455. extern void dgbcon(char norm, int n, int nsub, int nsuper, double *a, int lda, int *ipiv, double anorm, double *rcond, int *info);
  456. extern void dgbequ(int m, int n, int nsub, int nsuper, double *a, int lda, double *rowsc, double *colsc, double *rowcn, double *colcn, double *amax, int *info);
  457. extern void dgbrfs(char transa, int n, int nsub, int nsuper, int nrhs, double *a, int lda, double *af, int ldaf, int *ipiv, double *b, int ldb, double *x, int ldx, double *ferr, double *berr, int *info);
  458. extern void dgbsv(int n, int nsub, int nsuper, int nrhs, double *a, int lda, int *ipiv, double *b, int ldb, int *info);
  459. /* N.B. In this C interface to dgbsvx, rpvgrw returns what is returned in
  460. the first element of WORK by the FORTRAN interface */
  461. extern void dgbsvx(char fact, char transa, int n, int nsub, int nsuper, int nrhs, double *a, int lda, double *af, int ldaf, int *ipiv, char equed, double *rowsc, double *colsc, double *b, int ldb, double *x, int ldx, double *rcond, double *ferr, double *berr, double *rpvgrw, int *info);
  462. extern void dgbtrf(int m, int n, int nsub, int nsuper, double *a, int lda, int *ipiv, int *info);
  463. extern void dgbtrs(char transa, int n, int nsub, int nsuper, int nrhs, double *a, int lda, int *ipiv, double *b, int ldb, int *info);
  464. extern void dgebak(char job, char side, int n, int ilo, int ihi, double *scale, int m, double *v, int ldv, int *info);
  465. extern void dgebal(char job, int n, double *a, int lda, int *ilo, int *ihi, double *scale, int *info);
  466. extern void dgebrd(int m, int n, double *a, int lda, double *d, double *e, double *tauq, double *taup, int *info);
  467. extern void dgecon(char norm, int n, double *a, int lda, double anorm, double *rcond, int *info);
  468. extern void dgeequ(int m, int n, double *a, int lda, double *rowsc, double *colsc, double *rowcn, double *colcn, double *amax, int *info);
  469. extern void dgees(char jobz, char sortev, ACML_DGEES_SELECT select, int n, double *a, int lda, int *nout, double *wr, double *wi, double *z, int ldz, int *info);
  470. extern void dgeesx(char jobz, char sortev, ACML_DGEESX_SELECT select, char sense, int n, double *a, int lda, int *nout, double *wr, double *wi, double *z, int ldz, double *srcone, double *rconv, int *info);
  471. extern void dgeev(char jobvl, char jobvr, int

Large files files are truncated, but you can click here to view the full file