/library/src/math_kernel/lapacke/lapacke.h

https://bitbucket.org/Fourbe/speakerid · C Header · 16287 lines · 15565 code · 658 blank · 64 comment · 0 complexity · cf8dfa969a7c47726917cb3bf83247fc MD5 · raw file

Large files are truncated click here to view the full file

  1. /*****************************************************************************
  2. Copyright (c) 2010, Intel Corp.
  3. All rights reserved.
  4. Redistribution and use in source and binary forms, with or without
  5. modification, are permitted provided that the following conditions are met:
  6. * Redistributions of source code must retain the above copyright notice,
  7. this list of conditions and the following disclaimer.
  8. * Redistributions in binary form must reproduce the above copyright
  9. notice, this list of conditions and the following disclaimer in the
  10. documentation and/or other materials provided with the distribution.
  11. * Neither the name of Intel Corporation nor the names of its contributors
  12. may be used to endorse or promote products derived from this software
  13. without specific prior written permission.
  14. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  15. AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  16. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17. ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  18. LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  19. CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  20. SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  21. INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  22. CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  23. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  24. THE POSSIBILITY OF SUCH DAMAGE.
  25. ******************************************************************************
  26. * Contents: Native C interface to LAPACK
  27. * Author: Intel Corporation
  28. * Generated November, 2011
  29. *****************************************************************************/
  30. #ifndef _LAPACKE_H_
  31. #define _LAPACKE_H_
  32. /*
  33. * Turn on HAVE_LAPACK_CONFIG_H to redefine C-LAPACK datatypes
  34. */
  35. #ifdef HAVE_LAPACK_CONFIG_H
  36. #include "lapacke_config.h"
  37. #endif
  38. #ifdef __cplusplus
  39. extern "C" {
  40. #endif /* __cplusplus */
  41. #include <stdlib.h>
  42. #ifndef lapack_int
  43. #define lapack_int int
  44. #endif
  45. #ifndef lapack_logical
  46. #define lapack_logical lapack_int
  47. #endif
  48. /* Complex types are structures equivalent to the
  49. * Fortran complex types COMPLEX(4) and COMPLEX(8).
  50. *
  51. * One can also redefine the types with his own types
  52. * for example by including in the code definitions like
  53. *
  54. * #define lapack_complex_float std::complex<float>
  55. * #define lapack_complex_double std::complex<double>
  56. *
  57. * or define these types in the command line:
  58. *
  59. * -Dlapack_complex_float="std::complex<float>"
  60. * -Dlapack_complex_double="std::complex<double>"
  61. */
  62. #ifndef LAPACK_COMPLEX_CUSTOM
  63. /* Complex type (single precision) */
  64. #ifndef lapack_complex_float
  65. #include <complex.h>
  66. #define lapack_complex_float float _Complex
  67. #endif
  68. #ifndef lapack_complex_float_real
  69. #define lapack_complex_float_real(z) (creal(z))
  70. #endif
  71. #ifndef lapack_complex_float_imag
  72. #define lapack_complex_float_imag(z) (cimag(z))
  73. #endif
  74. lapack_complex_float lapack_make_complex_float( float re, float im );
  75. /* Complex type (double precision) */
  76. #ifndef lapack_complex_double
  77. #include <complex.h>
  78. #define lapack_complex_double double _Complex
  79. #endif
  80. #ifndef lapack_complex_double_real
  81. #define lapack_complex_double_real(z) (creal(z))
  82. #endif
  83. #ifndef lapack_complex_double_imag
  84. #define lapack_complex_double_imag(z) (cimag(z))
  85. #endif
  86. lapack_complex_double lapack_make_complex_double( double re, double im );
  87. #endif
  88. #ifndef LAPACKE_malloc
  89. #define LAPACKE_malloc( size ) malloc( size )
  90. #endif
  91. #ifndef LAPACKE_free
  92. #define LAPACKE_free( p ) free( p )
  93. #endif
  94. #define LAPACK_C2INT( x ) (lapack_int)(*((float*)&x ))
  95. #define LAPACK_Z2INT( x ) (lapack_int)(*((double*)&x ))
  96. #define LAPACK_ROW_MAJOR 101
  97. #define LAPACK_COL_MAJOR 102
  98. #define LAPACK_WORK_MEMORY_ERROR -1010
  99. #define LAPACK_TRANSPOSE_MEMORY_ERROR -1011
  100. /* Callback logical functions of one, two, or three arguments are used
  101. * to select eigenvalues to sort to the top left of the Schur form.
  102. * The value is selected if function returns TRUE (non-zero). */
  103. typedef lapack_logical (*LAPACK_S_SELECT2) ( const float*, const float* );
  104. typedef lapack_logical (*LAPACK_S_SELECT3)
  105. ( const float*, const float*, const float* );
  106. typedef lapack_logical (*LAPACK_D_SELECT2) ( const double*, const double* );
  107. typedef lapack_logical (*LAPACK_D_SELECT3)
  108. ( const double*, const double*, const double* );
  109. typedef lapack_logical (*LAPACK_C_SELECT1) ( const lapack_complex_float* );
  110. typedef lapack_logical (*LAPACK_C_SELECT2)
  111. ( const lapack_complex_float*, const lapack_complex_float* );
  112. typedef lapack_logical (*LAPACK_Z_SELECT1) ( const lapack_complex_double* );
  113. typedef lapack_logical (*LAPACK_Z_SELECT2)
  114. ( const lapack_complex_double*, const lapack_complex_double* );
  115. #include "lapacke_mangling.h"
  116. #define LAPACK_lsame LAPACK_GLOBAL(lsame,LSAME)
  117. lapack_logical LAPACK_lsame( char* ca, char* cb,
  118. lapack_int lca, lapack_int lcb );
  119. /* C-LAPACK function prototypes */
  120. lapack_int LAPACKE_sbdsdc( int matrix_order, char uplo, char compq,
  121. lapack_int n, float* d, float* e, float* u,
  122. lapack_int ldu, float* vt, lapack_int ldvt, float* q,
  123. lapack_int* iq );
  124. lapack_int LAPACKE_dbdsdc( int matrix_order, char uplo, char compq,
  125. lapack_int n, double* d, double* e, double* u,
  126. lapack_int ldu, double* vt, lapack_int ldvt,
  127. double* q, lapack_int* iq );
  128. lapack_int LAPACKE_sbdsqr( int matrix_order, char uplo, lapack_int n,
  129. lapack_int ncvt, lapack_int nru, lapack_int ncc,
  130. float* d, float* e, float* vt, lapack_int ldvt,
  131. float* u, lapack_int ldu, float* c, lapack_int ldc );
  132. lapack_int LAPACKE_dbdsqr( int matrix_order, char uplo, lapack_int n,
  133. lapack_int ncvt, lapack_int nru, lapack_int ncc,
  134. double* d, double* e, double* vt, lapack_int ldvt,
  135. double* u, lapack_int ldu, double* c,
  136. lapack_int ldc );
  137. lapack_int LAPACKE_cbdsqr( int matrix_order, char uplo, lapack_int n,
  138. lapack_int ncvt, lapack_int nru, lapack_int ncc,
  139. float* d, float* e, lapack_complex_float* vt,
  140. lapack_int ldvt, lapack_complex_float* u,
  141. lapack_int ldu, lapack_complex_float* c,
  142. lapack_int ldc );
  143. lapack_int LAPACKE_zbdsqr( int matrix_order, char uplo, lapack_int n,
  144. lapack_int ncvt, lapack_int nru, lapack_int ncc,
  145. double* d, double* e, lapack_complex_double* vt,
  146. lapack_int ldvt, lapack_complex_double* u,
  147. lapack_int ldu, lapack_complex_double* c,
  148. lapack_int ldc );
  149. lapack_int LAPACKE_sdisna( char job, lapack_int m, lapack_int n, const float* d,
  150. float* sep );
  151. lapack_int LAPACKE_ddisna( char job, lapack_int m, lapack_int n,
  152. const double* d, double* sep );
  153. lapack_int LAPACKE_sgbbrd( int matrix_order, char vect, lapack_int m,
  154. lapack_int n, lapack_int ncc, lapack_int kl,
  155. lapack_int ku, float* ab, lapack_int ldab, float* d,
  156. float* e, float* q, lapack_int ldq, float* pt,
  157. lapack_int ldpt, float* c, lapack_int ldc );
  158. lapack_int LAPACKE_dgbbrd( int matrix_order, char vect, lapack_int m,
  159. lapack_int n, lapack_int ncc, lapack_int kl,
  160. lapack_int ku, double* ab, lapack_int ldab,
  161. double* d, double* e, double* q, lapack_int ldq,
  162. double* pt, lapack_int ldpt, double* c,
  163. lapack_int ldc );
  164. lapack_int LAPACKE_cgbbrd( int matrix_order, char vect, lapack_int m,
  165. lapack_int n, lapack_int ncc, lapack_int kl,
  166. lapack_int ku, lapack_complex_float* ab,
  167. lapack_int ldab, float* d, float* e,
  168. lapack_complex_float* q, lapack_int ldq,
  169. lapack_complex_float* pt, lapack_int ldpt,
  170. lapack_complex_float* c, lapack_int ldc );
  171. lapack_int LAPACKE_zgbbrd( int matrix_order, char vect, lapack_int m,
  172. lapack_int n, lapack_int ncc, lapack_int kl,
  173. lapack_int ku, lapack_complex_double* ab,
  174. lapack_int ldab, double* d, double* e,
  175. lapack_complex_double* q, lapack_int ldq,
  176. lapack_complex_double* pt, lapack_int ldpt,
  177. lapack_complex_double* c, lapack_int ldc );
  178. lapack_int LAPACKE_sgbcon( int matrix_order, char norm, lapack_int n,
  179. lapack_int kl, lapack_int ku, const float* ab,
  180. lapack_int ldab, const lapack_int* ipiv, float anorm,
  181. float* rcond );
  182. lapack_int LAPACKE_dgbcon( int matrix_order, char norm, lapack_int n,
  183. lapack_int kl, lapack_int ku, const double* ab,
  184. lapack_int ldab, const lapack_int* ipiv,
  185. double anorm, double* rcond );
  186. lapack_int LAPACKE_cgbcon( int matrix_order, char norm, lapack_int n,
  187. lapack_int kl, lapack_int ku,
  188. const lapack_complex_float* ab, lapack_int ldab,
  189. const lapack_int* ipiv, float anorm, float* rcond );
  190. lapack_int LAPACKE_zgbcon( int matrix_order, char norm, lapack_int n,
  191. lapack_int kl, lapack_int ku,
  192. const lapack_complex_double* ab, lapack_int ldab,
  193. const lapack_int* ipiv, double anorm,
  194. double* rcond );
  195. lapack_int LAPACKE_sgbequ( int matrix_order, lapack_int m, lapack_int n,
  196. lapack_int kl, lapack_int ku, const float* ab,
  197. lapack_int ldab, float* r, float* c, float* rowcnd,
  198. float* colcnd, float* amax );
  199. lapack_int LAPACKE_dgbequ( int matrix_order, lapack_int m, lapack_int n,
  200. lapack_int kl, lapack_int ku, const double* ab,
  201. lapack_int ldab, double* r, double* c,
  202. double* rowcnd, double* colcnd, double* amax );
  203. lapack_int LAPACKE_cgbequ( int matrix_order, lapack_int m, lapack_int n,
  204. lapack_int kl, lapack_int ku,
  205. const lapack_complex_float* ab, lapack_int ldab,
  206. float* r, float* c, float* rowcnd, float* colcnd,
  207. float* amax );
  208. lapack_int LAPACKE_zgbequ( int matrix_order, lapack_int m, lapack_int n,
  209. lapack_int kl, lapack_int ku,
  210. const lapack_complex_double* ab, lapack_int ldab,
  211. double* r, double* c, double* rowcnd, double* colcnd,
  212. double* amax );
  213. lapack_int LAPACKE_sgbequb( int matrix_order, lapack_int m, lapack_int n,
  214. lapack_int kl, lapack_int ku, const float* ab,
  215. lapack_int ldab, float* r, float* c, float* rowcnd,
  216. float* colcnd, float* amax );
  217. lapack_int LAPACKE_dgbequb( int matrix_order, lapack_int m, lapack_int n,
  218. lapack_int kl, lapack_int ku, const double* ab,
  219. lapack_int ldab, double* r, double* c,
  220. double* rowcnd, double* colcnd, double* amax );
  221. lapack_int LAPACKE_cgbequb( int matrix_order, lapack_int m, lapack_int n,
  222. lapack_int kl, lapack_int ku,
  223. const lapack_complex_float* ab, lapack_int ldab,
  224. float* r, float* c, float* rowcnd, float* colcnd,
  225. float* amax );
  226. lapack_int LAPACKE_zgbequb( int matrix_order, lapack_int m, lapack_int n,
  227. lapack_int kl, lapack_int ku,
  228. const lapack_complex_double* ab, lapack_int ldab,
  229. double* r, double* c, double* rowcnd,
  230. double* colcnd, double* amax );
  231. lapack_int LAPACKE_sgbrfs( int matrix_order, char trans, lapack_int n,
  232. lapack_int kl, lapack_int ku, lapack_int nrhs,
  233. const float* ab, lapack_int ldab, const float* afb,
  234. lapack_int ldafb, const lapack_int* ipiv,
  235. const float* b, lapack_int ldb, float* x,
  236. lapack_int ldx, float* ferr, float* berr );
  237. lapack_int LAPACKE_dgbrfs( int matrix_order, char trans, lapack_int n,
  238. lapack_int kl, lapack_int ku, lapack_int nrhs,
  239. const double* ab, lapack_int ldab, const double* afb,
  240. lapack_int ldafb, const lapack_int* ipiv,
  241. const double* b, lapack_int ldb, double* x,
  242. lapack_int ldx, double* ferr, double* berr );
  243. lapack_int LAPACKE_cgbrfs( int matrix_order, char trans, lapack_int n,
  244. lapack_int kl, lapack_int ku, lapack_int nrhs,
  245. const lapack_complex_float* ab, lapack_int ldab,
  246. const lapack_complex_float* afb, lapack_int ldafb,
  247. const lapack_int* ipiv,
  248. const lapack_complex_float* b, lapack_int ldb,
  249. lapack_complex_float* x, lapack_int ldx, float* ferr,
  250. float* berr );
  251. lapack_int LAPACKE_zgbrfs( int matrix_order, char trans, lapack_int n,
  252. lapack_int kl, lapack_int ku, lapack_int nrhs,
  253. const lapack_complex_double* ab, lapack_int ldab,
  254. const lapack_complex_double* afb, lapack_int ldafb,
  255. const lapack_int* ipiv,
  256. const lapack_complex_double* b, lapack_int ldb,
  257. lapack_complex_double* x, lapack_int ldx,
  258. double* ferr, double* berr );
  259. lapack_int LAPACKE_sgbrfsx( int matrix_order, char trans, char equed,
  260. lapack_int n, lapack_int kl, lapack_int ku,
  261. lapack_int nrhs, const float* ab, lapack_int ldab,
  262. const float* afb, lapack_int ldafb,
  263. const lapack_int* ipiv, const float* r,
  264. const float* c, const float* b, lapack_int ldb,
  265. float* x, lapack_int ldx, float* rcond, float* berr,
  266. lapack_int n_err_bnds, float* err_bnds_norm,
  267. float* err_bnds_comp, lapack_int nparams,
  268. float* params );
  269. lapack_int LAPACKE_dgbrfsx( int matrix_order, char trans, char equed,
  270. lapack_int n, lapack_int kl, lapack_int ku,
  271. lapack_int nrhs, const double* ab, lapack_int ldab,
  272. const double* afb, lapack_int ldafb,
  273. const lapack_int* ipiv, const double* r,
  274. const double* c, const double* b, lapack_int ldb,
  275. double* x, lapack_int ldx, double* rcond,
  276. double* berr, lapack_int n_err_bnds,
  277. double* err_bnds_norm, double* err_bnds_comp,
  278. lapack_int nparams, double* params );
  279. lapack_int LAPACKE_cgbrfsx( int matrix_order, char trans, char equed,
  280. lapack_int n, lapack_int kl, lapack_int ku,
  281. lapack_int nrhs, const lapack_complex_float* ab,
  282. lapack_int ldab, const lapack_complex_float* afb,
  283. lapack_int ldafb, const lapack_int* ipiv,
  284. const float* r, const float* c,
  285. const lapack_complex_float* b, lapack_int ldb,
  286. lapack_complex_float* x, lapack_int ldx,
  287. float* rcond, float* berr, lapack_int n_err_bnds,
  288. float* err_bnds_norm, float* err_bnds_comp,
  289. lapack_int nparams, float* params );
  290. lapack_int LAPACKE_zgbrfsx( int matrix_order, char trans, char equed,
  291. lapack_int n, lapack_int kl, lapack_int ku,
  292. lapack_int nrhs, const lapack_complex_double* ab,
  293. lapack_int ldab, const lapack_complex_double* afb,
  294. lapack_int ldafb, const lapack_int* ipiv,
  295. const double* r, const double* c,
  296. const lapack_complex_double* b, lapack_int ldb,
  297. lapack_complex_double* x, lapack_int ldx,
  298. double* rcond, double* berr, lapack_int n_err_bnds,
  299. double* err_bnds_norm, double* err_bnds_comp,
  300. lapack_int nparams, double* params );
  301. lapack_int LAPACKE_sgbsv( int matrix_order, lapack_int n, lapack_int kl,
  302. lapack_int ku, lapack_int nrhs, float* ab,
  303. lapack_int ldab, lapack_int* ipiv, float* b,
  304. lapack_int ldb );
  305. lapack_int LAPACKE_dgbsv( int matrix_order, lapack_int n, lapack_int kl,
  306. lapack_int ku, lapack_int nrhs, double* ab,
  307. lapack_int ldab, lapack_int* ipiv, double* b,
  308. lapack_int ldb );
  309. lapack_int LAPACKE_cgbsv( int matrix_order, lapack_int n, lapack_int kl,
  310. lapack_int ku, lapack_int nrhs,
  311. lapack_complex_float* ab, lapack_int ldab,
  312. lapack_int* ipiv, lapack_complex_float* b,
  313. lapack_int ldb );
  314. lapack_int LAPACKE_zgbsv( int matrix_order, lapack_int n, lapack_int kl,
  315. lapack_int ku, lapack_int nrhs,
  316. lapack_complex_double* ab, lapack_int ldab,
  317. lapack_int* ipiv, lapack_complex_double* b,
  318. lapack_int ldb );
  319. lapack_int LAPACKE_sgbsvx( int matrix_order, char fact, char trans,
  320. lapack_int n, lapack_int kl, lapack_int ku,
  321. lapack_int nrhs, float* ab, lapack_int ldab,
  322. float* afb, lapack_int ldafb, lapack_int* ipiv,
  323. char* equed, float* r, float* c, float* b,
  324. lapack_int ldb, float* x, lapack_int ldx,
  325. float* rcond, float* ferr, float* berr,
  326. float* rpivot );
  327. lapack_int LAPACKE_dgbsvx( int matrix_order, char fact, char trans,
  328. lapack_int n, lapack_int kl, lapack_int ku,
  329. lapack_int nrhs, double* ab, lapack_int ldab,
  330. double* afb, lapack_int ldafb, lapack_int* ipiv,
  331. char* equed, double* r, double* c, double* b,
  332. lapack_int ldb, double* x, lapack_int ldx,
  333. double* rcond, double* ferr, double* berr,
  334. double* rpivot );
  335. lapack_int LAPACKE_cgbsvx( int matrix_order, char fact, char trans,
  336. lapack_int n, lapack_int kl, lapack_int ku,
  337. lapack_int nrhs, lapack_complex_float* ab,
  338. lapack_int ldab, lapack_complex_float* afb,
  339. lapack_int ldafb, lapack_int* ipiv, char* equed,
  340. float* r, float* c, lapack_complex_float* b,
  341. lapack_int ldb, lapack_complex_float* x,
  342. lapack_int ldx, float* rcond, float* ferr,
  343. float* berr, float* rpivot );
  344. lapack_int LAPACKE_zgbsvx( int matrix_order, char fact, char trans,
  345. lapack_int n, lapack_int kl, lapack_int ku,
  346. lapack_int nrhs, lapack_complex_double* ab,
  347. lapack_int ldab, lapack_complex_double* afb,
  348. lapack_int ldafb, lapack_int* ipiv, char* equed,
  349. double* r, double* c, lapack_complex_double* b,
  350. lapack_int ldb, lapack_complex_double* x,
  351. lapack_int ldx, double* rcond, double* ferr,
  352. double* berr, double* rpivot );
  353. lapack_int LAPACKE_sgbsvxx( int matrix_order, char fact, char trans,
  354. lapack_int n, lapack_int kl, lapack_int ku,
  355. lapack_int nrhs, float* ab, lapack_int ldab,
  356. float* afb, lapack_int ldafb, lapack_int* ipiv,
  357. char* equed, float* r, float* c, float* b,
  358. lapack_int ldb, float* x, lapack_int ldx,
  359. float* rcond, float* rpvgrw, float* berr,
  360. lapack_int n_err_bnds, float* err_bnds_norm,
  361. float* err_bnds_comp, lapack_int nparams,
  362. float* params );
  363. lapack_int LAPACKE_dgbsvxx( int matrix_order, char fact, char trans,
  364. lapack_int n, lapack_int kl, lapack_int ku,
  365. lapack_int nrhs, double* ab, lapack_int ldab,
  366. double* afb, lapack_int ldafb, lapack_int* ipiv,
  367. char* equed, double* r, double* c, double* b,
  368. lapack_int ldb, double* x, lapack_int ldx,
  369. double* rcond, double* rpvgrw, double* berr,
  370. lapack_int n_err_bnds, double* err_bnds_norm,
  371. double* err_bnds_comp, lapack_int nparams,
  372. double* params );
  373. lapack_int LAPACKE_cgbsvxx( int matrix_order, char fact, char trans,
  374. lapack_int n, lapack_int kl, lapack_int ku,
  375. lapack_int nrhs, lapack_complex_float* ab,
  376. lapack_int ldab, lapack_complex_float* afb,
  377. lapack_int ldafb, lapack_int* ipiv, char* equed,
  378. float* r, float* c, lapack_complex_float* b,
  379. lapack_int ldb, lapack_complex_float* x,
  380. lapack_int ldx, float* rcond, float* rpvgrw,
  381. float* berr, lapack_int n_err_bnds,
  382. float* err_bnds_norm, float* err_bnds_comp,
  383. lapack_int nparams, float* params );
  384. lapack_int LAPACKE_zgbsvxx( int matrix_order, char fact, char trans,
  385. lapack_int n, lapack_int kl, lapack_int ku,
  386. lapack_int nrhs, lapack_complex_double* ab,
  387. lapack_int ldab, lapack_complex_double* afb,
  388. lapack_int ldafb, lapack_int* ipiv, char* equed,
  389. double* r, double* c, lapack_complex_double* b,
  390. lapack_int ldb, lapack_complex_double* x,
  391. lapack_int ldx, double* rcond, double* rpvgrw,
  392. double* berr, lapack_int n_err_bnds,
  393. double* err_bnds_norm, double* err_bnds_comp,
  394. lapack_int nparams, double* params );
  395. lapack_int LAPACKE_sgbtrf( int matrix_order, lapack_int m, lapack_int n,
  396. lapack_int kl, lapack_int ku, float* ab,
  397. lapack_int ldab, lapack_int* ipiv );
  398. lapack_int LAPACKE_dgbtrf( int matrix_order, lapack_int m, lapack_int n,
  399. lapack_int kl, lapack_int ku, double* ab,
  400. lapack_int ldab, lapack_int* ipiv );
  401. lapack_int LAPACKE_cgbtrf( int matrix_order, lapack_int m, lapack_int n,
  402. lapack_int kl, lapack_int ku,
  403. lapack_complex_float* ab, lapack_int ldab,
  404. lapack_int* ipiv );
  405. lapack_int LAPACKE_zgbtrf( int matrix_order, lapack_int m, lapack_int n,
  406. lapack_int kl, lapack_int ku,
  407. lapack_complex_double* ab, lapack_int ldab,
  408. lapack_int* ipiv );
  409. lapack_int LAPACKE_sgbtrs( int matrix_order, char trans, lapack_int n,
  410. lapack_int kl, lapack_int ku, lapack_int nrhs,
  411. const float* ab, lapack_int ldab,
  412. const lapack_int* ipiv, float* b, lapack_int ldb );
  413. lapack_int LAPACKE_dgbtrs( int matrix_order, char trans, lapack_int n,
  414. lapack_int kl, lapack_int ku, lapack_int nrhs,
  415. const double* ab, lapack_int ldab,
  416. const lapack_int* ipiv, double* b, lapack_int ldb );
  417. lapack_int LAPACKE_cgbtrs( int matrix_order, char trans, lapack_int n,
  418. lapack_int kl, lapack_int ku, lapack_int nrhs,
  419. const lapack_complex_float* ab, lapack_int ldab,
  420. const lapack_int* ipiv, lapack_complex_float* b,
  421. lapack_int ldb );
  422. lapack_int LAPACKE_zgbtrs( int matrix_order, char trans, lapack_int n,
  423. lapack_int kl, lapack_int ku, lapack_int nrhs,
  424. const lapack_complex_double* ab, lapack_int ldab,
  425. const lapack_int* ipiv, lapack_complex_double* b,
  426. lapack_int ldb );
  427. lapack_int LAPACKE_sgebak( int matrix_order, char job, char side, lapack_int n,
  428. lapack_int ilo, lapack_int ihi, const float* scale,
  429. lapack_int m, float* v, lapack_int ldv );
  430. lapack_int LAPACKE_dgebak( int matrix_order, char job, char side, lapack_int n,
  431. lapack_int ilo, lapack_int ihi, const double* scale,
  432. lapack_int m, double* v, lapack_int ldv );
  433. lapack_int LAPACKE_cgebak( int matrix_order, char job, char side, lapack_int n,
  434. lapack_int ilo, lapack_int ihi, const float* scale,
  435. lapack_int m, lapack_complex_float* v,
  436. lapack_int ldv );
  437. lapack_int LAPACKE_zgebak( int matrix_order, char job, char side, lapack_int n,
  438. lapack_int ilo, lapack_int ihi, const double* scale,
  439. lapack_int m, lapack_complex_double* v,
  440. lapack_int ldv );
  441. lapack_int LAPACKE_sgebal( int matrix_order, char job, lapack_int n, float* a,
  442. lapack_int lda, lapack_int* ilo, lapack_int* ihi,
  443. float* scale );
  444. lapack_int LAPACKE_dgebal( int matrix_order, char job, lapack_int n, double* a,
  445. lapack_int lda, lapack_int* ilo, lapack_int* ihi,
  446. double* scale );
  447. lapack_int LAPACKE_cgebal( int matrix_order, char job, lapack_int n,
  448. lapack_complex_float* a, lapack_int lda,
  449. lapack_int* ilo, lapack_int* ihi, float* scale );
  450. lapack_int LAPACKE_zgebal( int matrix_order, char job, lapack_int n,
  451. lapack_complex_double* a, lapack_int lda,
  452. lapack_int* ilo, lapack_int* ihi, double* scale );
  453. lapack_int LAPACKE_sgebrd( int matrix_order, lapack_int m, lapack_int n,
  454. float* a, lapack_int lda, float* d, float* e,
  455. float* tauq, float* taup );
  456. lapack_int LAPACKE_dgebrd( int matrix_order, lapack_int m, lapack_int n,
  457. double* a, lapack_int lda, double* d, double* e,
  458. double* tauq, double* taup );
  459. lapack_int LAPACKE_cgebrd( int matrix_order, lapack_int m, lapack_int n,
  460. lapack_complex_float* a, lapack_int lda, float* d,
  461. float* e, lapack_complex_float* tauq,
  462. lapack_complex_float* taup );
  463. lapack_int LAPACKE_zgebrd( int matrix_order, lapack_int m, lapack_int n,
  464. lapack_complex_double* a, lapack_int lda, double* d,
  465. double* e, lapack_complex_double* tauq,
  466. lapack_complex_double* taup );
  467. lapack_int LAPACKE_sgecon( int matrix_order, char norm, lapack_int n,
  468. const float* a, lapack_int lda, float anorm,
  469. float* rcond );
  470. lapack_int LAPACKE_dgecon( int matrix_order, char norm, lapack_int n,
  471. const double* a, lapack_int lda, double anorm,
  472. double* rcond );
  473. lapack_int LAPACKE_cgecon( int matrix_order, char norm, lapack_int n,
  474. const lapack_complex_float* a, lapack_int lda,
  475. float anorm, float* rcond );
  476. lapack_int LAPACKE_zgecon( int matrix_order, char norm, lapack_int n,
  477. const lapack_complex_double* a, lapack_int lda,
  478. double anorm, double* rcond );
  479. lapack_int LAPACKE_sgeequ( int matrix_order, lapack_int m, lapack_int n,
  480. const float* a, lapack_int lda, float* r, float* c,
  481. float* rowcnd, float* colcnd, float* amax );
  482. lapack_int LAPACKE_dgeequ( int matrix_order, lapack_int m, lapack_int n,
  483. const double* a, lapack_int lda, double* r,
  484. double* c, double* rowcnd, double* colcnd,
  485. double* amax );
  486. lapack_int LAPACKE_cgeequ( int matrix_order, lapack_int m, lapack_int n,
  487. const lapack_complex_float* a, lapack_int lda,
  488. float* r, float* c, float* rowcnd, float* colcnd,
  489. float* amax );
  490. lapack_int LAPACKE_zgeequ( int matrix_order, lapack_int m, lapack_int n,
  491. const lapack_complex_double* a, lapack_int lda,
  492. double* r, double* c, double* rowcnd, double* colcnd,
  493. double* amax );
  494. lapack_int LAPACKE_sgeequb( int matrix_order, lapack_int m, lapack_int n,
  495. const float* a, lapack_int lda, float* r, float* c,
  496. float* rowcnd, float* colcnd, float* amax );
  497. lapack_int LAPACKE_dgeequb( int matrix_order, lapack_int m, lapack_int n,
  498. const double* a, lapack_int lda, double* r,
  499. double* c, double* rowcnd, double* colcnd,
  500. double* amax );
  501. lapack_int LAPACKE_cgeequb( int matrix_order, lapack_int m, lapack_int n,
  502. const lapack_complex_float* a, lapack_int lda,
  503. float* r, float* c, float* rowcnd, float* colcnd,
  504. float* amax );
  505. lapack_int LAPACKE_zgeequb( int matrix_order, lapack_int m, lapack_int n,
  506. const lapack_complex_double* a, lapack_int lda,
  507. double* r, double* c, double* rowcnd,
  508. double* colcnd, double* amax );
  509. lapack_int LAPACKE_sgees( int matrix_order, char jobvs, char sort,
  510. LAPACK_S_SELECT2 select, lapack_int n, float* a,
  511. lapack_int lda, lapack_int* sdim, float* wr,
  512. float* wi, float* vs, lapack_int ldvs );
  513. lapack_int LAPACKE_dgees( int matrix_order, char jobvs, char sort,
  514. LAPACK_D_SELECT2 select, lapack_int n, double* a,
  515. lapack_int lda, lapack_int* sdim, double* wr,
  516. double* wi, double* vs, lapack_int ldvs );
  517. lapack_int LAPACKE_cgees( int matrix_order, char jobvs, char sort,
  518. LAPACK_C_SELECT1 select, lapack_int n,
  519. lapack_complex_float* a, lapack_int lda,
  520. lapack_int* sdim, lapack_complex_float* w,
  521. lapack_complex_float* vs, lapack_int ldvs );
  522. lapack_int LAPACKE_zgees( int matrix_order, char jobvs, char sort,
  523. LAPACK_Z_SELECT1 select, lapack_int n,
  524. lapack_complex_double* a, lapack_int lda,
  525. lapack_int* sdim, lapack_complex_double* w,
  526. lapack_complex_double* vs, lapack_int ldvs );
  527. lapack_int LAPACKE_sgeesx( int matrix_order, char jobvs, char sort,
  528. LAPACK_S_SELECT2 select, char sense, lapack_int n,
  529. float* a, lapack_int lda, lapack_int* sdim,
  530. float* wr, float* wi, float* vs, lapack_int ldvs,
  531. float* rconde, float* rcondv );
  532. lapack_int LAPACKE_dgeesx( int matrix_order, char jobvs, char sort,
  533. LAPACK_D_SELECT2 select, char sense, lapack_int n,
  534. double* a, lapack_int lda, lapack_int* sdim,
  535. double* wr, double* wi, double* vs, lapack_int ldvs,
  536. double* rconde, double* rcondv );
  537. lapack_int LAPACKE_cgeesx( int matrix_order, char jobvs, char sort,
  538. LAPACK_C_SELECT1 select, char sense, lapack_int n,
  539. lapack_complex_float* a, lapack_int lda,
  540. lapack_int* sdim, lapack_complex_float* w,
  541. lapack_complex_float* vs, lapack_int ldvs,
  542. float* rconde, float* rcondv );
  543. lapack_int LAPACKE_zgeesx( int matrix_order, char jobvs, char sort,
  544. LAPACK_Z_SELECT1 select, char sense, lapack_int n,
  545. lapack_complex_double* a, lapack_int lda,
  546. lapack_int* sdim, lapack_complex_double* w,
  547. lapack_complex_double* vs, lapack_int ldvs,
  548. double* rconde, double* rcondv );
  549. lapack_int LAPACKE_sgeev( int matrix_order, char jobvl, char jobvr,
  550. lapack_int n, float* a, lapack_int lda, float* wr,
  551. float* wi, float* vl, lapack_int ldvl, float* vr,
  552. lapack_int ldvr );
  553. lapack_int LAPACKE_dgeev( int matrix_order, char jobvl, char jobvr,
  554. lapack_int n, double* a, lapack_int lda, double* wr,
  555. double* wi, double* vl, lapack_int ldvl, double* vr,
  556. lapack_int ldvr );
  557. lapack_int LAPACKE_cgeev( int matrix_order, char jobvl, char jobvr,
  558. lapack_int n, lapack_complex_float* a, lapack_int lda,
  559. lapack_complex_float* w, lapack_complex_float* vl,
  560. lapack_int ldvl, lapack_complex_float* vr,
  561. lapack_int ldvr );
  562. lapack_int LAPACKE_zgeev( int matrix_order, char jobvl, char jobvr,
  563. lapack_int n, lapack_complex_double* a,
  564. lapack_int lda, lapack_complex_double* w,
  565. lapack_complex_double* vl, lapack_int ldvl,
  566. lapack_complex_double* vr, lapack_int ldvr );
  567. lapack_int LAPACKE_sgeevx( int matrix_order, char balanc, char jobvl,
  568. char jobvr, char sense, lapack_int n, float* a,
  569. lapack_int lda, float* wr, float* wi, float* vl,
  570. lapack_int ldvl, float* vr, lapack_int ldvr,
  571. lapack_int* ilo, lapack_int* ihi, float* scale,
  572. float* abnrm, float* rconde, float* rcondv );
  573. lapack_int LAPACKE_dgeevx( int matrix_order, char balanc, char jobvl,
  574. char jobvr, char sense, lapack_int n, double* a,
  575. lapack_int lda, double* wr, double* wi, double* vl,
  576. lapack_int ldvl, double* vr, lapack_int ldvr,
  577. lapack_int* ilo, lapack_int* ihi, double* scale,
  578. double* abnrm, double* rconde, double* rcondv );
  579. lapack_int LAPACKE_cgeevx( int matrix_order, char balanc, char jobvl,
  580. char jobvr, char sense, lapack_int n,
  581. lapack_complex_float* a, lapack_int lda,
  582. lapack_complex_float* w, lapack_complex_float* vl,
  583. lapack_int ldvl, lapack_complex_float* vr,
  584. lapack_int ldvr, lapack_int* ilo, lapack_int* ihi,
  585. float* scale, float* abnrm, float* rconde,
  586. float* rcondv );
  587. lapack_int LAPACKE_zgeevx( int matrix_order, char balanc, char jobvl,
  588. char jobvr, char sense, lapack_int n,
  589. lapack_complex_double* a, lapack_int lda,
  590. lapack_complex_double* w, lapack_complex_double* vl,
  591. lapack_int ldvl, lapack_complex_double* vr,
  592. lapack_int ldvr, lapack_int* ilo, lapack_int* ihi,
  593. double* scale, double* abnrm, double* rconde,
  594. double* rcondv );
  595. lapack_int LAPACKE_sgehrd( int matrix_order, lapack_int n, lapack_int ilo,
  596. lapack_int ihi, float* a, lapack_int lda,
  597. float* tau );
  598. lapack_int LAPACKE_dgehrd( int matrix_order, lapack_int n, lapack_int ilo,
  599. lapack_int ihi, double* a, lapack_int lda,
  600. double* tau );
  601. lapack_int LAPACKE_cgehrd( int matrix_order, lapack_int n, lapack_int ilo,
  602. lapack_int ihi, lapack_complex_float* a,
  603. lapack_int lda, lapack_complex_float* tau );
  604. lapack_int LAPACKE_zgehrd( int matrix_order, lapack_int n, lapack_int ilo,
  605. lapack_int ihi, lapack_complex_double* a,
  606. lapack_int lda, lapack_complex_double* tau );
  607. lapack_int LAPACKE_sgejsv( int matrix_order, char joba, char jobu, char jobv,
  608. char jobr, char jobt, char jobp, lapack_int m,
  609. lapack_int n, float* a, lapack_int lda, float* sva,
  610. float* u, lapack_int ldu, float* v, lapack_int ldv,
  611. float* stat, lapack_int* istat );
  612. lapack_int LAPACKE_dgejsv( int matrix_order, char joba, char jobu, char jobv,
  613. char jobr, char jobt, char jobp, lapack_int m,
  614. lapack_int n, double* a, lapack_int lda, double* sva,
  615. double* u, lapack_int ldu, double* v, lapack_int ldv,
  616. double* stat, lapack_int* istat );
  617. lapack_int LAPACKE_sgelq2( int matrix_order, lapack_int m, lapack_int n,
  618. float* a, lapack_int lda, float* tau );
  619. lapack_int LAPACKE_dgelq2( int matrix_order, lapack_int m, lapack_int n,
  620. double* a, lapack_int lda, double* tau );
  621. lapack_int LAPACKE_cgelq2( int matrix_order, lapack_int m, lapack_int n,
  622. lapack_complex_float* a, lapack_int lda,
  623. lapack_complex_float* tau );
  624. lapack_int LAPACKE_zgelq2( int matrix_order, lapack_int m, lapack_int n,
  625. lapack_complex_double* a, lapack_int lda,
  626. lapack_complex_double* tau );
  627. lapack_int LAPACKE_sgelqf( int matrix_order, lapack_int m, lapack_int n,
  628. float* a, lapack_int lda, float* tau );
  629. lapack_int LAPACKE_dgelqf( int matrix_order, lapack_int m, lapack_int n,
  630. double* a, lapack_int lda, double* tau );
  631. lapack_int LAPACKE_cgelqf( int matrix_order, lapack_int m, lapack_int n,
  632. lapack_complex_float* a, lapack_int lda,
  633. lapack_complex_float* tau );
  634. lapack_int LAPACKE_zgelqf( int matrix_order, lapack_int m, lapack_int n,
  635. lapack_complex_double* a, lapack_int lda,
  636. lapack_complex_double* tau );
  637. lapack_int LAPACKE_sgels( int matrix_order, char trans, lapack_int m,
  638. lapack_int n, lapack_int nrhs, float* a,
  639. lapack_int lda, float* b, lapack_int ldb );
  640. lapack_int LAPACKE_dgels( int matrix_order, char trans, lapack_int m,
  641. lapack_int n, lapack_int nrhs, double* a,
  642. lapack_int lda, double* b, lapack_int ldb );
  643. lapack_int LAPACKE_cgels( int matrix_order, char trans, lapack_int m,
  644. lapack_int n, lapack_int nrhs,
  645. lapack_complex_float* a, lapack_int lda,
  646. lapack_complex_float* b, lapack_int ldb );
  647. lapack_int LAPACKE_zgels( int matrix_order, char trans, lapack_int m,
  648. lapack_int n, lapack_int nrhs,
  649. lapack_complex_double* a, lapack_int lda,
  650. lapack_complex_double* b, lapack_int ldb );
  651. lapack_int LAPACKE_sgelsd( int matrix_order, lapack_int m, lapack_int n,
  652. lapack_int nrhs, float* a, lapack_int lda, float* b,
  653. lapack_int ldb, float* s, float rcond,
  654. lapack_int* rank );
  655. lapack_int LAPACKE_dgelsd( int matrix_order, lapack_int m, lapack_int n,
  656. lapack_int nrhs, double* a, lapack_int lda,
  657. double* b, lapack_int ldb, double* s, double rcond,
  658. lapack_int* rank );
  659. lapack_int LAPACKE_cgelsd( int matrix_order, lapack_int m, lapack_int n,
  660. lapack_int nrhs, lapack_complex_float* a,
  661. lapack_int lda, lapack_complex_float* b,
  662. lapack_int ldb, float* s, float rcond,
  663. lapack_int* rank );
  664. lapack_int LAPACKE_zgelsd( int matrix_order, lapack_int m, lapack_int n,
  665. lapack_int nrhs, lapack_complex_double* a,
  666. lapack_int lda, lapack_complex_double* b,
  667. lapack_int ldb, double* s, double rcond,
  668. lapack_int* rank );
  669. lapack_int LAPACKE_sgelss( int matrix_order, lapack_int m, lapack_int n,
  670. lapack_int nrhs, float* a, lapack_int lda, float* b,
  671. lapack_int ldb, float* s, float rcond,
  672. lapack_int* rank );
  673. lapack_int LAPACKE_dgelss( int matrix_order, lapack_int m, lapack_int n,
  674. lapack_int nrhs, double* a, lapack_int lda,
  675. double* b, lapack_int ldb, double* s, double rcond,
  676. lapack_int* rank );
  677. lapack_int LAPACKE_cgelss( int matrix_order, lapack_int m, lapack_int n,
  678. lapack_int nrhs, lapack_complex_float* a,
  679. lapack_int lda, lapack_complex_float* b,
  680. lapack_int ldb, float* s, float rcond,
  681. lapack_int* rank );
  682. lapack_int LAPACKE_zgelss( int matrix_order, lapack_int m, lapack_int n,
  683. lapack_int nrhs, lapack_complex_double* a,
  684. lapack_int lda, lapack_complex_double* b,
  685. lapack_int ldb, double* s, double rcond,
  686. lapack_int* rank );
  687. lapack_int LAPACKE_sgelsy( int matrix_order, lapack_int m, lapack_int n,
  688. lapack_int nrhs, float* a, lapack_int lda, float* b,
  689. lapack_int ldb, lapack_int* jpvt, float rcond,
  690. lapack_int* rank );
  691. lapack_int LAPACKE_dgelsy( int matrix_order, lapack_int m, lapack_int n,
  692. lapack_int nrhs, double* a, lapack_int lda,
  693. double* b, lapack_int ldb, lapack_int* jpvt,
  694. double rcond, lapack_int* rank );
  695. lapack_int LAPACKE_cgelsy( int matrix_order, lapack_int m, lapack_int n,
  696. lapack_int nrhs, lapack_complex_float* a,
  697. lapack_int lda, lapack_complex_float* b,
  698. lapack_int ldb, lapack_int* jpvt, float rcond,
  699. lapack_int* rank );
  700. lapack_int LAPACKE_zgelsy( int matrix_order, lapack_int m, lapack_int n,
  701. lapack_int nrhs, lapack_complex_double* a,
  702. lapack_int lda, lapack_complex_double* b,
  703. lapack_int ldb, lapack_int* jpvt, double rcond,
  704. lapack_int* rank );
  705. lapack_int LAPACKE_sgeqlf( int matrix_order, lapack_int m, lapack_int n,
  706. float* a, lapack_int lda, float* tau );
  707. lapack_int LAPACKE_dgeqlf( int matrix_order, lapack_int m, lapack_int n,
  708. double* a, lapack_int lda, double* tau );
  709. lapack_int LAPACKE_cgeqlf( int matrix_order, lapack_int m, lapack_int n,
  710. lapack_complex_float* a, lapack_int lda,
  711. lapack_complex_float* tau );
  712. lapack_int LAPACKE_zgeqlf( int matrix_order, lapack_int m, lapack_int n,
  713. lapack_complex_double* a, lapack_int lda,
  714. lapack_complex_double* tau );
  715. lapack_int LAPACKE_sgeqp3( int matrix_order, lapack_int m, lapack_int n,
  716. float* a, lapack_int lda, lapack_int* jpvt,
  717. float* tau );
  718. lapack_int LAPACKE_dgeqp3( int matrix_order, lapack_int m, lapack_int n,
  719. double* a, lapack_int lda, lapack_int* jpvt,
  720. double* tau );
  721. lapack_int LAPACKE_cgeqp3( int matrix_order, lapack_int m, lapack_int n,
  722. lapack_complex_float* a, lapack_int lda,
  723. lapack_int* jpvt, lapack_complex_float* tau );
  724. lapack_int LAPACKE_zgeqp3( int matrix_order, lapack_int m, lapack_int n,
  725. lapack_complex_double* a, lapack_int lda,
  726. lapack_int* jpvt, lapack_complex_double* tau );
  727. lapack_int LAPACKE_sgeqpf( int matrix_order, lapack_int m, lapack_int n,
  728. float* a, lapack_int lda, lapack_int* jpvt,
  729. float* tau );
  730. lapack_int LAPACKE_dgeqpf( int matrix_order, lapack_int m, lapack_int n,
  731. double* a, lapack_int lda, lapack_int* jpvt,
  732. double* tau );
  733. lapack_int LAPACKE_cgeqpf( int matrix_order, lapack_int m, lapack_int n,
  734. lapack_complex_float* a, lapack_int lda,
  735. lapack_int* jpvt, lapack_complex_float* tau );
  736. lapack_int LAPACKE_zgeqpf( int matrix_order, lapack_int m, lapack_int n,
  737. lapack_complex_double* a, lapack_int lda,
  738. lapack_int* jpvt, lapack_complex_double* tau );
  739. lapack_int LAPACKE_sgeqr2( int matrix_order, lapack_int m, lapack_int n,
  740. float* a, lapack_int lda, float* tau );
  741. lapack_int LAPACKE_dgeqr2( int matrix_order, lapack_int m, lapack_int n,
  742. double* a, lapack_int lda, double* tau );
  743. lapack_int LAPACKE_cgeqr2( int matrix_order, lapack_int m, lapack_int n,
  744. lapack_complex_float* a, lapack_int lda,
  745. lapack_complex_float* tau );
  746. lapack_int LAPACKE_zgeqr2( int matrix_order, lapack_int m, lapack_int n,
  747. lapack_complex_double* a, lapack_int lda,
  748. lapack_complex_double* tau );
  749. lapack_int LAPACKE_sgeqrf( int matrix_order, lapack_int m, lapack_int n,
  750. float* a, lapack_int lda, float* tau );
  751. lapack_int LAPACKE_dgeqrf( int matrix_order, lapack_int m, lapack_int n,
  752. double* a, lapack_int lda, double* tau );
  753. lapack_int LAPACKE_cgeqrf( int matrix_order, lapack_int m, lapack_int n,
  754. lapack_complex_float* a, lapack_int lda,
  755. lapack_complex_float* tau );
  756. lapack_int LAPACKE_zgeqrf( int matrix_order, lapack_int m, lapack_int n,
  757. lapack_complex_double* a, lapack_int lda,
  758. lapack_complex_double* tau );
  759. lapack_int LAPACKE_sgeqrfp( int matrix_order, lapack_int m, lapack_int n,
  760. float* a, lapack_int lda, float* tau );
  761. lapack_int LAPACKE_dgeqrfp( int matrix_order, lapack_int m, lapack_int n,
  762. double* a, lapack_int lda, double* tau );
  763. lapack_int LAPACKE_cgeqrfp( int matrix_order, lapack_int m, lapack_int n,
  764. lapack_complex_float* a, lapack_int lda,
  765. lapack_complex_float* tau );
  766. lapack_int LAPACKE_zgeqrfp( int matrix_order, lapack_int m, lapack_int n,
  767. lapack_complex_double* a, lapack_int lda,
  768. lapack_complex_double* tau );
  769. lapack_int LAPACKE_sgerfs( int matrix_order, char trans, lapack_int n,
  770. lapack_int nrhs, const float* a, lapack_int lda,
  771. const float* af, lapack_int ldaf,
  772. const lapack_int* ipiv, const float* b,