You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

common_interface.h 49 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  1. /*********************************************************************/
  2. /* Copyright 2009, 2010 The University of Texas at Austin. */
  3. /* All rights reserved. */
  4. /* */
  5. /* Redistribution and use in source and binary forms, with or */
  6. /* without modification, are permitted provided that the following */
  7. /* conditions are met: */
  8. /* */
  9. /* 1. Redistributions of source code must retain the above */
  10. /* copyright notice, this list of conditions and the following */
  11. /* disclaimer. */
  12. /* */
  13. /* 2. Redistributions in binary form must reproduce the above */
  14. /* copyright notice, this list of conditions and the following */
  15. /* disclaimer in the documentation and/or other materials */
  16. /* provided with the distribution. */
  17. /* */
  18. /* THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF TEXAS AT */
  19. /* AUSTIN ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, */
  20. /* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
  21. /* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
  22. /* DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF TEXAS AT */
  23. /* AUSTIN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, */
  24. /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */
  25. /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE */
  26. /* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR */
  27. /* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
  28. /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */
  29. /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT */
  30. /* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE */
  31. /* POSSIBILITY OF SUCH DAMAGE. */
  32. /* */
  33. /* The views and conclusions contained in the software and */
  34. /* documentation are those of the authors and should not be */
  35. /* interpreted as representing official policies, either expressed */
  36. /* or implied, of The University of Texas at Austin. */
  37. /*********************************************************************/
  38. #ifndef ASSEMBLER
  39. #ifdef __cplusplus
  40. extern "C" {
  41. /* Assume C declarations for C++ */
  42. #endif /* __cplusplus */
  43. int BLASFUNC(xerbla)(char *, blasint *info, blasint);
  44. void openblas_set_num_threads_(int *);
  45. FLOATRET BLASFUNC(sdot) (blasint *, float *, blasint *, float *, blasint *);
  46. FLOATRET BLASFUNC(sdsdot)(blasint *, float *, float *, blasint *, float *, blasint *);
  47. double BLASFUNC(dsdot) (blasint *, float *, blasint *, float *, blasint *);
  48. double BLASFUNC(ddot) (blasint *, double *, blasint *, double *, blasint *);
  49. xdouble BLASFUNC(qdot) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  50. float BLASFUNC(sbdot) (blasint *, bfloat16 *, blasint *, bfloat16 *, blasint *);
  51. void BLASFUNC(sbstobf16) (blasint *, float *, blasint *, bfloat16 *, blasint *);
  52. void BLASFUNC(sbdtobf16) (blasint *, double *, blasint *, bfloat16 *, blasint *);
  53. void BLASFUNC(sbf16tos) (blasint *, bfloat16 *, blasint *, float *, blasint *);
  54. void BLASFUNC(dbf16tod) (blasint *, bfloat16 *, blasint *, double *, blasint *);
  55. #ifdef RETURN_BY_STRUCT
  56. typedef struct {
  57. float r, i;
  58. } myccomplex_t;
  59. typedef struct {
  60. double r, i;
  61. } myzcomplex_t;
  62. typedef struct {
  63. xdouble r, i;
  64. } myxcomplex_t;
  65. myccomplex_t BLASFUNC(cdotu) (blasint *, float *, blasint *, float *, blasint *);
  66. myccomplex_t BLASFUNC(cdotc) (blasint *, float *, blasint *, float *, blasint *);
  67. myzcomplex_t BLASFUNC(zdotu) (blasint *, double *, blasint *, double *, blasint *);
  68. myzcomplex_t BLASFUNC(zdotc) (blasint *, double *, blasint *, double *, blasint *);
  69. myxcomplex_t BLASFUNC(xdotu) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  70. myxcomplex_t BLASFUNC(xdotc) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  71. #elif defined RETURN_BY_STACK
  72. void BLASFUNC(cdotu) (openblas_complex_float *, blasint *, float * , blasint *, float *, blasint *);
  73. void BLASFUNC(cdotc) (openblas_complex_float *, blasint *, float *, blasint *, float *, blasint *);
  74. void BLASFUNC(zdotu) (openblas_complex_double *, blasint *, double *, blasint *, double *, blasint *);
  75. void BLASFUNC(zdotc) (openblas_complex_double *, blasint *, double *, blasint *, double *, blasint *);
  76. void BLASFUNC(xdotu) (openblas_complex_xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  77. void BLASFUNC(xdotc) (openblas_complex_xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  78. #else
  79. openblas_complex_float BLASFUNC(cdotu) (blasint *, float *, blasint *, float *, blasint *);
  80. openblas_complex_float BLASFUNC(cdotc) (blasint *, float *, blasint *, float *, blasint *);
  81. openblas_complex_double BLASFUNC(zdotu) (blasint *, double *, blasint *, double *, blasint *);
  82. openblas_complex_double BLASFUNC(zdotc) (blasint *, double *, blasint *, double *, blasint *);
  83. openblas_complex_xdouble BLASFUNC(xdotu) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  84. openblas_complex_xdouble BLASFUNC(xdotc) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  85. #endif
  86. void BLASFUNC(saxpy) (blasint *, float *, float *, blasint *, float *, blasint *);
  87. void BLASFUNC(daxpy) (blasint *, double *, double *, blasint *, double *, blasint *);
  88. void BLASFUNC(qaxpy) (blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  89. void BLASFUNC(caxpy) (blasint *, float *, float *, blasint *, float *, blasint *);
  90. void BLASFUNC(zaxpy) (blasint *, double *, double *, blasint *, double *, blasint *);
  91. void BLASFUNC(xaxpy) (blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  92. void BLASFUNC(caxpyc)(blasint *, float *, float *, blasint *, float *, blasint *);
  93. void BLASFUNC(zaxpyc)(blasint *, double *, double *, blasint *, double *, blasint *);
  94. void BLASFUNC(xaxpyc)(blasint *, xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  95. void BLASFUNC(scopy) (blasint *, float *, blasint *, float *, blasint *);
  96. void BLASFUNC(dcopy) (blasint *, double *, blasint *, double *, blasint *);
  97. void BLASFUNC(qcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  98. void BLASFUNC(ccopy) (blasint *, float *, blasint *, float *, blasint *);
  99. void BLASFUNC(zcopy) (blasint *, double *, blasint *, double *, blasint *);
  100. void BLASFUNC(xcopy) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  101. void BLASFUNC(sswap) (blasint *, float *, blasint *, float *, blasint *);
  102. void BLASFUNC(dswap) (blasint *, double *, blasint *, double *, blasint *);
  103. void BLASFUNC(qswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  104. void BLASFUNC(cswap) (blasint *, float *, blasint *, float *, blasint *);
  105. void BLASFUNC(zswap) (blasint *, double *, blasint *, double *, blasint *);
  106. void BLASFUNC(xswap) (blasint *, xdouble *, blasint *, xdouble *, blasint *);
  107. FLOATRET BLASFUNC(sasum) (blasint *, float *, blasint *);
  108. FLOATRET BLASFUNC(scasum)(blasint *, float *, blasint *);
  109. double BLASFUNC(dasum) (blasint *, double *, blasint *);
  110. xdouble BLASFUNC(qasum) (blasint *, xdouble *, blasint *);
  111. double BLASFUNC(dzasum)(blasint *, double *, blasint *);
  112. xdouble BLASFUNC(qxasum)(blasint *, xdouble *, blasint *);
  113. FLOATRET BLASFUNC(ssum) (blasint *, float *, blasint *);
  114. FLOATRET BLASFUNC(scsum)(blasint *, float *, blasint *);
  115. double BLASFUNC(dsum) (blasint *, double *, blasint *);
  116. xdouble BLASFUNC(qsum) (blasint *, xdouble *, blasint *);
  117. double BLASFUNC(dzsum)(blasint *, double *, blasint *);
  118. xdouble BLASFUNC(qxsum)(blasint *, xdouble *, blasint *);
  119. blasint BLASFUNC(isamax)(blasint *, float *, blasint *);
  120. blasint BLASFUNC(idamax)(blasint *, double *, blasint *);
  121. blasint BLASFUNC(iqamax)(blasint *, xdouble *, blasint *);
  122. blasint BLASFUNC(icamax)(blasint *, float *, blasint *);
  123. blasint BLASFUNC(izamax)(blasint *, double *, blasint *);
  124. blasint BLASFUNC(ixamax)(blasint *, xdouble *, blasint *);
  125. blasint BLASFUNC(ismax) (blasint *, float *, blasint *);
  126. blasint BLASFUNC(idmax) (blasint *, double *, blasint *);
  127. blasint BLASFUNC(iqmax) (blasint *, xdouble *, blasint *);
  128. blasint BLASFUNC(icmax) (blasint *, float *, blasint *);
  129. blasint BLASFUNC(izmax) (blasint *, double *, blasint *);
  130. blasint BLASFUNC(ixmax) (blasint *, xdouble *, blasint *);
  131. blasint BLASFUNC(isamin)(blasint *, float *, blasint *);
  132. blasint BLASFUNC(idamin)(blasint *, double *, blasint *);
  133. blasint BLASFUNC(iqamin)(blasint *, xdouble *, blasint *);
  134. blasint BLASFUNC(icamin)(blasint *, float *, blasint *);
  135. blasint BLASFUNC(izamin)(blasint *, double *, blasint *);
  136. blasint BLASFUNC(ixamin)(blasint *, xdouble *, blasint *);
  137. blasint BLASFUNC(ismin)(blasint *, float *, blasint *);
  138. blasint BLASFUNC(idmin)(blasint *, double *, blasint *);
  139. blasint BLASFUNC(iqmin)(blasint *, xdouble *, blasint *);
  140. blasint BLASFUNC(icmin)(blasint *, float *, blasint *);
  141. blasint BLASFUNC(izmin)(blasint *, double *, blasint *);
  142. blasint BLASFUNC(ixmin)(blasint *, xdouble *, blasint *);
  143. FLOATRET BLASFUNC(samax) (blasint *, float *, blasint *);
  144. double BLASFUNC(damax) (blasint *, double *, blasint *);
  145. xdouble BLASFUNC(qamax) (blasint *, xdouble *, blasint *);
  146. FLOATRET BLASFUNC(scamax)(blasint *, float *, blasint *);
  147. double BLASFUNC(dzamax)(blasint *, double *, blasint *);
  148. xdouble BLASFUNC(qxamax)(blasint *, xdouble *, blasint *);
  149. FLOATRET BLASFUNC(samin) (blasint *, float *, blasint *);
  150. double BLASFUNC(damin) (blasint *, double *, blasint *);
  151. xdouble BLASFUNC(qamin) (blasint *, xdouble *, blasint *);
  152. FLOATRET BLASFUNC(scamin)(blasint *, float *, blasint *);
  153. double BLASFUNC(dzamin)(blasint *, double *, blasint *);
  154. xdouble BLASFUNC(qxamin)(blasint *, xdouble *, blasint *);
  155. FLOATRET BLASFUNC(smax) (blasint *, float *, blasint *);
  156. double BLASFUNC(dmax) (blasint *, double *, blasint *);
  157. xdouble BLASFUNC(qmax) (blasint *, xdouble *, blasint *);
  158. FLOATRET BLASFUNC(scmax) (blasint *, float *, blasint *);
  159. double BLASFUNC(dzmax) (blasint *, double *, blasint *);
  160. xdouble BLASFUNC(qxmax) (blasint *, xdouble *, blasint *);
  161. FLOATRET BLASFUNC(smin) (blasint *, float *, blasint *);
  162. double BLASFUNC(dmin) (blasint *, double *, blasint *);
  163. xdouble BLASFUNC(qmin) (blasint *, xdouble *, blasint *);
  164. FLOATRET BLASFUNC(scmin) (blasint *, float *, blasint *);
  165. double BLASFUNC(dzmin) (blasint *, double *, blasint *);
  166. xdouble BLASFUNC(qxmin) (blasint *, xdouble *, blasint *);
  167. void BLASFUNC(sscal) (blasint *, float *, float *, blasint *);
  168. void BLASFUNC(dscal) (blasint *, double *, double *, blasint *);
  169. void BLASFUNC(qscal) (blasint *, xdouble *, xdouble *, blasint *);
  170. void BLASFUNC(cscal) (blasint *, float *, float *, blasint *);
  171. void BLASFUNC(zscal) (blasint *, double *, double *, blasint *);
  172. void BLASFUNC(xscal) (blasint *, xdouble *, xdouble *, blasint *);
  173. void BLASFUNC(csscal)(blasint *, float *, float *, blasint *);
  174. void BLASFUNC(zdscal)(blasint *, double *, double *, blasint *);
  175. void BLASFUNC(xqscal)(blasint *, xdouble *, xdouble *, blasint *);
  176. FLOATRET BLASFUNC(snrm2) (blasint *, float *, blasint *);
  177. FLOATRET BLASFUNC(scnrm2)(blasint *, float *, blasint *);
  178. double BLASFUNC(dnrm2) (blasint *, double *, blasint *);
  179. xdouble BLASFUNC(qnrm2) (blasint *, xdouble *, blasint *);
  180. double BLASFUNC(dznrm2)(blasint *, double *, blasint *);
  181. xdouble BLASFUNC(qxnrm2)(blasint *, xdouble *, blasint *);
  182. void BLASFUNC(srot) (blasint *, float *, blasint *, float *, blasint *, float *, float *);
  183. void BLASFUNC(drot) (blasint *, double *, blasint *, double *, blasint *, double *, double *);
  184. void BLASFUNC(qrot) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *);
  185. void BLASFUNC(csrot) (blasint *, float *, blasint *, float *, blasint *, float *, float *);
  186. void BLASFUNC(zdrot) (blasint *, double *, blasint *, double *, blasint *, double *, double *);
  187. void BLASFUNC(xqrot) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *);
  188. void BLASFUNC(srotg) (float *, float *, float *, float *);
  189. void BLASFUNC(drotg) (double *, double *, double *, double *);
  190. void BLASFUNC(qrotg) (xdouble *, xdouble *, xdouble *, xdouble *);
  191. void BLASFUNC(crotg) (float *, float *, float *, float *);
  192. void BLASFUNC(zrotg) (double *, double *, double *, double *);
  193. void BLASFUNC(xrotg) (xdouble *, xdouble *, xdouble *, xdouble *);
  194. void BLASFUNC(srotmg)(float *, float *, float *, float *, float *);
  195. void BLASFUNC(drotmg)(double *, double *, double *, double *, double *);
  196. void BLASFUNC(srotm) (blasint *, float *, blasint *, float *, blasint *, float *);
  197. void BLASFUNC(drotm) (blasint *, double *, blasint *, double *, blasint *, double *);
  198. void BLASFUNC(qrotm) (blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *);
  199. /* Level 2 routines */
  200. void BLASFUNC(sger)(blasint *, blasint *, float *, float *, blasint *,
  201. float *, blasint *, float *, blasint *);
  202. void BLASFUNC(dger)(blasint *, blasint *, double *, double *, blasint *,
  203. double *, blasint *, double *, blasint *);
  204. void BLASFUNC(qger)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
  205. xdouble *, blasint *, xdouble *, blasint *);
  206. void BLASFUNC(cgeru)(blasint *, blasint *, float *, float *, blasint *,
  207. float *, blasint *, float *, blasint *);
  208. void BLASFUNC(cgerc)(blasint *, blasint *, float *, float *, blasint *,
  209. float *, blasint *, float *, blasint *);
  210. void BLASFUNC(zgeru)(blasint *, blasint *, double *, double *, blasint *,
  211. double *, blasint *, double *, blasint *);
  212. void BLASFUNC(zgerc)(blasint *, blasint *, double *, double *, blasint *,
  213. double *, blasint *, double *, blasint *);
  214. void BLASFUNC(xgeru)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
  215. xdouble *, blasint *, xdouble *, blasint *);
  216. void BLASFUNC(xgerc)(blasint *, blasint *, xdouble *, xdouble *, blasint *,
  217. xdouble *, blasint *, xdouble *, blasint *);
  218. void BLASFUNC(sbgemv)(char *, blasint *, blasint *, float *, bfloat16 *, blasint *,
  219. bfloat16 *, blasint *, float *, float *, blasint *);
  220. void BLASFUNC(sgemv)(char *, blasint *, blasint *, float *, float *, blasint *,
  221. float *, blasint *, float *, float *, blasint *);
  222. void BLASFUNC(dgemv)(char *, blasint *, blasint *, double *, double *, blasint *,
  223. double *, blasint *, double *, double *, blasint *);
  224. void BLASFUNC(qgemv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  225. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  226. void BLASFUNC(cgemv)(char *, blasint *, blasint *, float *, float *, blasint *,
  227. float *, blasint *, float *, float *, blasint *);
  228. void BLASFUNC(zgemv)(char *, blasint *, blasint *, double *, double *, blasint *,
  229. double *, blasint *, double *, double *, blasint *);
  230. void BLASFUNC(xgemv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  231. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  232. void BLASFUNC(strsv) (char *, char *, char *, blasint *, float *, blasint *,
  233. float *, blasint *);
  234. void BLASFUNC(dtrsv) (char *, char *, char *, blasint *, double *, blasint *,
  235. double *, blasint *);
  236. void BLASFUNC(qtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
  237. xdouble *, blasint *);
  238. void BLASFUNC(ctrsv) (char *, char *, char *, blasint *, float *, blasint *,
  239. float *, blasint *);
  240. void BLASFUNC(ztrsv) (char *, char *, char *, blasint *, double *, blasint *,
  241. double *, blasint *);
  242. void BLASFUNC(xtrsv) (char *, char *, char *, blasint *, xdouble *, blasint *,
  243. xdouble *, blasint *);
  244. void BLASFUNC(strmv) (char *, char *, char *, blasint *, float *, blasint *,
  245. float *, blasint *);
  246. void BLASFUNC(dtrmv) (char *, char *, char *, blasint *, double *, blasint *,
  247. double *, blasint *);
  248. void BLASFUNC(qtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
  249. xdouble *, blasint *);
  250. void BLASFUNC(ctrmv) (char *, char *, char *, blasint *, float *, blasint *,
  251. float *, blasint *);
  252. void BLASFUNC(ztrmv) (char *, char *, char *, blasint *, double *, blasint *,
  253. double *, blasint *);
  254. void BLASFUNC(xtrmv) (char *, char *, char *, blasint *, xdouble *, blasint *,
  255. xdouble *, blasint *);
  256. void BLASFUNC(stpsv) (char *, char *, char *, blasint *, float *, float *, blasint *);
  257. void BLASFUNC(dtpsv) (char *, char *, char *, blasint *, double *, double *, blasint *);
  258. void BLASFUNC(qtpsv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
  259. void BLASFUNC(ctpsv) (char *, char *, char *, blasint *, float *, float *, blasint *);
  260. void BLASFUNC(ztpsv) (char *, char *, char *, blasint *, double *, double *, blasint *);
  261. void BLASFUNC(xtpsv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
  262. void BLASFUNC(stpmv) (char *, char *, char *, blasint *, float *, float *, blasint *);
  263. void BLASFUNC(dtpmv) (char *, char *, char *, blasint *, double *, double *, blasint *);
  264. void BLASFUNC(qtpmv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
  265. void BLASFUNC(ctpmv) (char *, char *, char *, blasint *, float *, float *, blasint *);
  266. void BLASFUNC(ztpmv) (char *, char *, char *, blasint *, double *, double *, blasint *);
  267. void BLASFUNC(xtpmv) (char *, char *, char *, blasint *, xdouble *, xdouble *, blasint *);
  268. void BLASFUNC(stbmv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
  269. void BLASFUNC(dtbmv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
  270. void BLASFUNC(qtbmv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  271. void BLASFUNC(ctbmv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
  272. void BLASFUNC(ztbmv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
  273. void BLASFUNC(xtbmv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  274. void BLASFUNC(stbsv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
  275. void BLASFUNC(dtbsv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
  276. void BLASFUNC(qtbsv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  277. void BLASFUNC(ctbsv) (char *, char *, char *, blasint *, blasint *, float *, blasint *, float *, blasint *);
  278. void BLASFUNC(ztbsv) (char *, char *, char *, blasint *, blasint *, double *, blasint *, double *, blasint *);
  279. void BLASFUNC(xtbsv) (char *, char *, char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  280. void BLASFUNC(ssymv) (char *, blasint *, float *, float *, blasint *,
  281. float *, blasint *, float *, float *, blasint *);
  282. void BLASFUNC(dsymv) (char *, blasint *, double *, double *, blasint *,
  283. double *, blasint *, double *, double *, blasint *);
  284. void BLASFUNC(qsymv) (char *, blasint *, xdouble *, xdouble *, blasint *,
  285. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  286. void BLASFUNC(csymv) (char *, blasint *, float *, float *, blasint *,
  287. float *, blasint *, float *, float *, blasint *);
  288. void BLASFUNC(zsymv) (char *, blasint *, double *, double *, blasint *,
  289. double *, blasint *, double *, double *, blasint *);
  290. void BLASFUNC(xsymv) (char *, blasint *, xdouble *, xdouble *, blasint *,
  291. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  292. void BLASFUNC(sspmv) (char *, blasint *, float *, float *,
  293. float *, blasint *, float *, float *, blasint *);
  294. void BLASFUNC(dspmv) (char *, blasint *, double *, double *,
  295. double *, blasint *, double *, double *, blasint *);
  296. void BLASFUNC(qspmv) (char *, blasint *, xdouble *, xdouble *,
  297. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  298. void BLASFUNC(cspmv) (char *, blasint *, float *, float *,
  299. float *, blasint *, float *, float *, blasint *);
  300. void BLASFUNC(zspmv) (char *, blasint *, double *, double *,
  301. double *, blasint *, double *, double *, blasint *);
  302. void BLASFUNC(xspmv) (char *, blasint *, xdouble *, xdouble *,
  303. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  304. void BLASFUNC(ssyr) (char *, blasint *, float *, float *, blasint *,
  305. float *, blasint *);
  306. void BLASFUNC(dsyr) (char *, blasint *, double *, double *, blasint *,
  307. double *, blasint *);
  308. void BLASFUNC(qsyr) (char *, blasint *, xdouble *, xdouble *, blasint *,
  309. xdouble *, blasint *);
  310. void BLASFUNC(csyr) (char *, blasint *, float *, float *, blasint *,
  311. float *, blasint *);
  312. void BLASFUNC(zsyr) (char *, blasint *, double *, double *, blasint *,
  313. double *, blasint *);
  314. void BLASFUNC(xsyr) (char *, blasint *, xdouble *, xdouble *, blasint *,
  315. xdouble *, blasint *);
  316. void BLASFUNC(ssyr2) (char *, blasint *, float *,
  317. float *, blasint *, float *, blasint *, float *, blasint *);
  318. void BLASFUNC(dsyr2) (char *, blasint *, double *,
  319. double *, blasint *, double *, blasint *, double *, blasint *);
  320. void BLASFUNC(qsyr2) (char *, blasint *, xdouble *,
  321. xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  322. void BLASFUNC(csyr2) (char *, blasint *, float *,
  323. float *, blasint *, float *, blasint *, float *, blasint *);
  324. void BLASFUNC(zsyr2) (char *, blasint *, double *,
  325. double *, blasint *, double *, blasint *, double *, blasint *);
  326. void BLASFUNC(xsyr2) (char *, blasint *, xdouble *,
  327. xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  328. void BLASFUNC(sspr) (char *, blasint *, float *, float *, blasint *,
  329. float *);
  330. void BLASFUNC(dspr) (char *, blasint *, double *, double *, blasint *,
  331. double *);
  332. void BLASFUNC(qspr) (char *, blasint *, xdouble *, xdouble *, blasint *,
  333. xdouble *);
  334. void BLASFUNC(cspr) (char *, blasint *, float *, float *, blasint *,
  335. float *);
  336. void BLASFUNC(zspr) (char *, blasint *, double *, double *, blasint *,
  337. double *);
  338. void BLASFUNC(xspr) (char *, blasint *, xdouble *, xdouble *, blasint *,
  339. xdouble *);
  340. void BLASFUNC(sspr2) (char *, blasint *, float *,
  341. float *, blasint *, float *, blasint *, float *);
  342. void BLASFUNC(dspr2) (char *, blasint *, double *,
  343. double *, blasint *, double *, blasint *, double *);
  344. void BLASFUNC(qspr2) (char *, blasint *, xdouble *,
  345. xdouble *, blasint *, xdouble *, blasint *, xdouble *);
  346. void BLASFUNC(cspr2) (char *, blasint *, float *,
  347. float *, blasint *, float *, blasint *, float *);
  348. void BLASFUNC(zspr2) (char *, blasint *, double *,
  349. double *, blasint *, double *, blasint *, double *);
  350. void BLASFUNC(xspr2) (char *, blasint *, xdouble *,
  351. xdouble *, blasint *, xdouble *, blasint *, xdouble *);
  352. void BLASFUNC(cher) (char *, blasint *, float *, float *, blasint *,
  353. float *, blasint *);
  354. void BLASFUNC(zher) (char *, blasint *, double *, double *, blasint *,
  355. double *, blasint *);
  356. void BLASFUNC(xher) (char *, blasint *, xdouble *, xdouble *, blasint *,
  357. xdouble *, blasint *);
  358. void BLASFUNC(chpr) (char *, blasint *, float *, float *, blasint *, float *);
  359. void BLASFUNC(zhpr) (char *, blasint *, double *, double *, blasint *, double *);
  360. void BLASFUNC(xhpr) (char *, blasint *, xdouble *, xdouble *, blasint *, xdouble *);
  361. void BLASFUNC(cher2) (char *, blasint *, float *,
  362. float *, blasint *, float *, blasint *, float *, blasint *);
  363. void BLASFUNC(zher2) (char *, blasint *, double *,
  364. double *, blasint *, double *, blasint *, double *, blasint *);
  365. void BLASFUNC(xher2) (char *, blasint *, xdouble *,
  366. xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *);
  367. void BLASFUNC(chpr2) (char *, blasint *, float *,
  368. float *, blasint *, float *, blasint *, float *);
  369. void BLASFUNC(zhpr2) (char *, blasint *, double *,
  370. double *, blasint *, double *, blasint *, double *);
  371. void BLASFUNC(xhpr2) (char *, blasint *, xdouble *,
  372. xdouble *, blasint *, xdouble *, blasint *, xdouble *);
  373. void BLASFUNC(chemv) (char *, blasint *, float *, float *, blasint *,
  374. float *, blasint *, float *, float *, blasint *);
  375. void BLASFUNC(zhemv) (char *, blasint *, double *, double *, blasint *,
  376. double *, blasint *, double *, double *, blasint *);
  377. void BLASFUNC(xhemv) (char *, blasint *, xdouble *, xdouble *, blasint *,
  378. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  379. void BLASFUNC(chpmv) (char *, blasint *, float *, float *,
  380. float *, blasint *, float *, float *, blasint *);
  381. void BLASFUNC(zhpmv) (char *, blasint *, double *, double *,
  382. double *, blasint *, double *, double *, blasint *);
  383. void BLASFUNC(xhpmv) (char *, blasint *, xdouble *, xdouble *,
  384. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  385. int BLASFUNC(snorm)(char *, blasint *, blasint *, float *, blasint *);
  386. int BLASFUNC(dnorm)(char *, blasint *, blasint *, double *, blasint *);
  387. int BLASFUNC(cnorm)(char *, blasint *, blasint *, float *, blasint *);
  388. int BLASFUNC(znorm)(char *, blasint *, blasint *, double *, blasint *);
  389. void BLASFUNC(sgbmv)(char *, blasint *, blasint *, blasint *, blasint *, float *, float *, blasint *,
  390. float *, blasint *, float *, float *, blasint *);
  391. void BLASFUNC(dgbmv)(char *, blasint *, blasint *, blasint *, blasint *, double *, double *, blasint *,
  392. double *, blasint *, double *, double *, blasint *);
  393. void BLASFUNC(qgbmv)(char *, blasint *, blasint *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  394. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  395. void BLASFUNC(cgbmv)(char *, blasint *, blasint *, blasint *, blasint *, float *, float *, blasint *,
  396. float *, blasint *, float *, float *, blasint *);
  397. void BLASFUNC(zgbmv)(char *, blasint *, blasint *, blasint *, blasint *, double *, double *, blasint *,
  398. double *, blasint *, double *, double *, blasint *);
  399. void BLASFUNC(xgbmv)(char *, blasint *, blasint *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  400. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  401. void BLASFUNC(ssbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
  402. float *, blasint *, float *, float *, blasint *);
  403. void BLASFUNC(dsbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
  404. double *, blasint *, double *, double *, blasint *);
  405. void BLASFUNC(qsbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  406. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  407. void BLASFUNC(csbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
  408. float *, blasint *, float *, float *, blasint *);
  409. void BLASFUNC(zsbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
  410. double *, blasint *, double *, double *, blasint *);
  411. void BLASFUNC(xsbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  412. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  413. void BLASFUNC(chbmv)(char *, blasint *, blasint *, float *, float *, blasint *,
  414. float *, blasint *, float *, float *, blasint *);
  415. void BLASFUNC(zhbmv)(char *, blasint *, blasint *, double *, double *, blasint *,
  416. double *, blasint *, double *, double *, blasint *);
  417. void BLASFUNC(xhbmv)(char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  418. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  419. /* Level 3 routines */
  420. void BLASFUNC(sbgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
  421. bfloat16 *, blasint *, bfloat16 *, blasint *, float *, float *, blasint *);
  422. void BLASFUNC(sgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
  423. float *, blasint *, float *, blasint *, float *, float *, blasint *);
  424. void BLASFUNC(dgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
  425. double *, blasint *, double *, blasint *, double *, double *, blasint *);
  426. void BLASFUNC(qgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
  427. xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  428. void BLASFUNC(cgemm)(char *, char *, blasint *, blasint *, blasint *, float *,
  429. float *, blasint *, float *, blasint *, float *, float *, blasint *);
  430. void BLASFUNC(zgemm)(char *, char *, blasint *, blasint *, blasint *, double *,
  431. double *, blasint *, double *, blasint *, double *, double *, blasint *);
  432. void BLASFUNC(xgemm)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
  433. xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  434. void BLASFUNC(cgemm3m)(char *, char *, blasint *, blasint *, blasint *, float *,
  435. float *, blasint *, float *, blasint *, float *, float *, blasint *);
  436. void BLASFUNC(zgemm3m)(char *, char *, blasint *, blasint *, blasint *, double *,
  437. double *, blasint *, double *, blasint *, double *, double *, blasint *);
  438. void BLASFUNC(xgemm3m)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
  439. xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  440. int BLASFUNC(sge2mm)(char *, char *, char *, blasint *, blasint *,
  441. float *, float *, blasint *, float *, blasint *,
  442. float *, float *, blasint *);
  443. int BLASFUNC(dge2mm)(char *, char *, char *, blasint *, blasint *,
  444. double *, double *, blasint *, double *, blasint *,
  445. double *, double *, blasint *);
  446. int BLASFUNC(cge2mm)(char *, char *, char *, blasint *, blasint *,
  447. float *, float *, blasint *, float *, blasint *,
  448. float *, float *, blasint *);
  449. int BLASFUNC(zge2mm)(char *, char *, char *, blasint *, blasint *,
  450. double *, double *, blasint *, double *, blasint *,
  451. double *, double *, blasint *);
  452. void BLASFUNC(strsm)(char *, char *, char *, char *, blasint *, blasint *,
  453. float *, float *, blasint *, float *, blasint *);
  454. void BLASFUNC(dtrsm)(char *, char *, char *, char *, blasint *, blasint *,
  455. double *, double *, blasint *, double *, blasint *);
  456. void BLASFUNC(qtrsm)(char *, char *, char *, char *, blasint *, blasint *,
  457. xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  458. void BLASFUNC(ctrsm)(char *, char *, char *, char *, blasint *, blasint *,
  459. float *, float *, blasint *, float *, blasint *);
  460. void BLASFUNC(ztrsm)(char *, char *, char *, char *, blasint *, blasint *,
  461. double *, double *, blasint *, double *, blasint *);
  462. void BLASFUNC(xtrsm)(char *, char *, char *, char *, blasint *, blasint *,
  463. xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  464. void BLASFUNC(strmm)(char *, char *, char *, char *, blasint *, blasint *,
  465. float *, float *, blasint *, float *, blasint *);
  466. void BLASFUNC(dtrmm)(char *, char *, char *, char *, blasint *, blasint *,
  467. double *, double *, blasint *, double *, blasint *);
  468. void BLASFUNC(qtrmm)(char *, char *, char *, char *, blasint *, blasint *,
  469. xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  470. void BLASFUNC(ctrmm)(char *, char *, char *, char *, blasint *, blasint *,
  471. float *, float *, blasint *, float *, blasint *);
  472. void BLASFUNC(ztrmm)(char *, char *, char *, char *, blasint *, blasint *,
  473. double *, double *, blasint *, double *, blasint *);
  474. void BLASFUNC(xtrmm)(char *, char *, char *, char *, blasint *, blasint *,
  475. xdouble *, xdouble *, blasint *, xdouble *, blasint *);
  476. void BLASFUNC(ssymm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  477. float *, blasint *, float *, float *, blasint *);
  478. void BLASFUNC(dsymm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  479. double *, blasint *, double *, double *, blasint *);
  480. void BLASFUNC(qsymm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  481. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  482. void BLASFUNC(csymm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  483. float *, blasint *, float *, float *, blasint *);
  484. void BLASFUNC(zsymm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  485. double *, blasint *, double *, double *, blasint *);
  486. void BLASFUNC(xsymm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  487. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  488. void BLASFUNC(csymm3m)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  489. float *, blasint *, float *, float *, blasint *);
  490. void BLASFUNC(zsymm3m)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  491. double *, blasint *, double *, double *, blasint *);
  492. void BLASFUNC(xsymm3m)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  493. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  494. void BLASFUNC(ssyrk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  495. float *, float *, blasint *);
  496. void BLASFUNC(dsyrk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  497. double *, double *, blasint *);
  498. void BLASFUNC(qsyrk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  499. xdouble *, xdouble *, blasint *);
  500. void BLASFUNC(csyrk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  501. float *, float *, blasint *);
  502. void BLASFUNC(zsyrk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  503. double *, double *, blasint *);
  504. void BLASFUNC(xsyrk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  505. xdouble *, xdouble *, blasint *);
  506. void BLASFUNC(ssyr2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  507. float *, blasint *, float *, float *, blasint *);
  508. void BLASFUNC(dsyr2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  509. double*, blasint *, double *, double *, blasint *);
  510. void BLASFUNC(qsyr2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  511. xdouble*, blasint *, xdouble *, xdouble *, blasint *);
  512. void BLASFUNC(csyr2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  513. float *, blasint *, float *, float *, blasint *);
  514. void BLASFUNC(zsyr2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  515. double*, blasint *, double *, double *, blasint *);
  516. void BLASFUNC(xsyr2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  517. xdouble*, blasint *, xdouble *, xdouble *, blasint *);
  518. void BLASFUNC(chemm)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  519. float *, blasint *, float *, float *, blasint *);
  520. void BLASFUNC(zhemm)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  521. double *, blasint *, double *, double *, blasint *);
  522. void BLASFUNC(xhemm)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  523. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  524. void BLASFUNC(chemm3m)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  525. float *, blasint *, float *, float *, blasint *);
  526. void BLASFUNC(zhemm3m)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  527. double *, blasint *, double *, double *, blasint *);
  528. void BLASFUNC(xhemm3m)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  529. xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  530. void BLASFUNC(cherk)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  531. float *, float *, blasint *);
  532. void BLASFUNC(zherk)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  533. double *, double *, blasint *);
  534. void BLASFUNC(xherk)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  535. xdouble *, xdouble *, blasint *);
  536. void BLASFUNC(cher2k)(char *, char *, blasint *, blasint *, float *, float *, blasint *,
  537. float *, blasint *, float *, float *, blasint *);
  538. void BLASFUNC(zher2k)(char *, char *, blasint *, blasint *, double *, double *, blasint *,
  539. double*, blasint *, double *, double *, blasint *);
  540. void BLASFUNC(xher2k)(char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  541. xdouble*, blasint *, xdouble *, xdouble *, blasint *);
  542. int BLASFUNC(cher2m)(char *, char *, char *, blasint *, blasint *, float *, float *, blasint *,
  543. float *, blasint *, float *, float *, blasint *);
  544. int BLASFUNC(zher2m)(char *, char *, char *, blasint *, blasint *, double *, double *, blasint *,
  545. double*, blasint *, double *, double *, blasint *);
  546. int BLASFUNC(xher2m)(char *, char *, char *, blasint *, blasint *, xdouble *, xdouble *, blasint *,
  547. xdouble*, blasint *, xdouble *, xdouble *, blasint *);
  548. int BLASFUNC(sgemt)(char *, blasint *, blasint *, float *, float *, blasint *,
  549. float *, blasint *);
  550. int BLASFUNC(dgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
  551. double *, blasint *);
  552. int BLASFUNC(cgemt)(char *, blasint *, blasint *, float *, float *, blasint *,
  553. float *, blasint *);
  554. int BLASFUNC(zgemt)(char *, blasint *, blasint *, double *, double *, blasint *,
  555. double *, blasint *);
  556. int BLASFUNC(sgema)(char *, char *, blasint *, blasint *, float *,
  557. float *, blasint *, float *, float *, blasint *, float *, blasint *);
  558. int BLASFUNC(dgema)(char *, char *, blasint *, blasint *, double *,
  559. double *, blasint *, double*, double *, blasint *, double*, blasint *);
  560. int BLASFUNC(cgema)(char *, char *, blasint *, blasint *, float *,
  561. float *, blasint *, float *, float *, blasint *, float *, blasint *);
  562. int BLASFUNC(zgema)(char *, char *, blasint *, blasint *, double *,
  563. double *, blasint *, double*, double *, blasint *, double*, blasint *);
  564. int BLASFUNC(sgems)(char *, char *, blasint *, blasint *, float *,
  565. float *, blasint *, float *, float *, blasint *, float *, blasint *);
  566. int BLASFUNC(dgems)(char *, char *, blasint *, blasint *, double *,
  567. double *, blasint *, double*, double *, blasint *, double*, blasint *);
  568. int BLASFUNC(cgems)(char *, char *, blasint *, blasint *, float *,
  569. float *, blasint *, float *, float *, blasint *, float *, blasint *);
  570. int BLASFUNC(zgems)(char *, char *, blasint *, blasint *, double *,
  571. double *, blasint *, double*, double *, blasint *, double*, blasint *);
  572. int BLASFUNC(sgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
  573. float *, blasint *, float *, blasint *, float *, blasint *, float *, float *, blasint *);
  574. int BLASFUNC(dgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
  575. double *, blasint *, double *, blasint *, double *, blasint *, double *, double *, blasint *);
  576. int BLASFUNC(qgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
  577. xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  578. int BLASFUNC(cgemc)(char *, char *, blasint *, blasint *, blasint *, float *,
  579. float *, blasint *, float *, blasint *, float *, blasint *, float *, float *, blasint *);
  580. int BLASFUNC(zgemc)(char *, char *, blasint *, blasint *, blasint *, double *,
  581. double *, blasint *, double *, blasint *, double *, blasint *, double *, double *, blasint *);
  582. int BLASFUNC(xgemc)(char *, char *, blasint *, blasint *, blasint *, xdouble *,
  583. xdouble *, blasint *, xdouble *, blasint *, xdouble *, blasint *, xdouble *, xdouble *, blasint *);
  584. /* Lapack routines */
  585. int BLASFUNC(sgetf2)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
  586. int BLASFUNC(dgetf2)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
  587. int BLASFUNC(qgetf2)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
  588. int BLASFUNC(cgetf2)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
  589. int BLASFUNC(zgetf2)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
  590. int BLASFUNC(xgetf2)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
  591. int BLASFUNC(sgetrf)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
  592. int BLASFUNC(dgetrf)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
  593. int BLASFUNC(qgetrf)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
  594. int BLASFUNC(cgetrf)(blasint *, blasint *, float *, blasint *, blasint *, blasint *);
  595. int BLASFUNC(zgetrf)(blasint *, blasint *, double *, blasint *, blasint *, blasint *);
  596. int BLASFUNC(xgetrf)(blasint *, blasint *, xdouble *, blasint *, blasint *, blasint *);
  597. int BLASFUNC(slaswp)(blasint *, float *, blasint *, blasint *, blasint *, blasint *, blasint *);
  598. int BLASFUNC(dlaswp)(blasint *, double *, blasint *, blasint *, blasint *, blasint *, blasint *);
  599. int BLASFUNC(qlaswp)(blasint *, xdouble *, blasint *, blasint *, blasint *, blasint *, blasint *);
  600. int BLASFUNC(claswp)(blasint *, float *, blasint *, blasint *, blasint *, blasint *, blasint *);
  601. int BLASFUNC(zlaswp)(blasint *, double *, blasint *, blasint *, blasint *, blasint *, blasint *);
  602. int BLASFUNC(xlaswp)(blasint *, xdouble *, blasint *, blasint *, blasint *, blasint *, blasint *);
  603. int BLASFUNC(sgetrs)(char *, blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
  604. int BLASFUNC(dgetrs)(char *, blasint *, blasint *, double *, blasint *, blasint *, double *, blasint *, blasint *);
  605. int BLASFUNC(qgetrs)(char *, blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble *, blasint *, blasint *);
  606. int BLASFUNC(cgetrs)(char *, blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
  607. int BLASFUNC(zgetrs)(char *, blasint *, blasint *, double *, blasint *, blasint *, double *, blasint *, blasint *);
  608. int BLASFUNC(xgetrs)(char *, blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble *, blasint *, blasint *);
  609. int BLASFUNC(sgesv)(blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
  610. int BLASFUNC(dgesv)(blasint *, blasint *, double *, blasint *, blasint *, double*, blasint *, blasint *);
  611. int BLASFUNC(qgesv)(blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble*, blasint *, blasint *);
  612. int BLASFUNC(cgesv)(blasint *, blasint *, float *, blasint *, blasint *, float *, blasint *, blasint *);
  613. int BLASFUNC(zgesv)(blasint *, blasint *, double *, blasint *, blasint *, double*, blasint *, blasint *);
  614. int BLASFUNC(xgesv)(blasint *, blasint *, xdouble *, blasint *, blasint *, xdouble*, blasint *, blasint *);
  615. int BLASFUNC(spotf2)(char *, blasint *, float *, blasint *, blasint *);
  616. int BLASFUNC(dpotf2)(char *, blasint *, double *, blasint *, blasint *);
  617. int BLASFUNC(qpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);
  618. int BLASFUNC(cpotf2)(char *, blasint *, float *, blasint *, blasint *);
  619. int BLASFUNC(zpotf2)(char *, blasint *, double *, blasint *, blasint *);
  620. int BLASFUNC(xpotf2)(char *, blasint *, xdouble *, blasint *, blasint *);
  621. int BLASFUNC(spotrf)(char *, blasint *, float *, blasint *, blasint *);
  622. int BLASFUNC(dpotrf)(char *, blasint *, double *, blasint *, blasint *);
  623. int BLASFUNC(qpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);
  624. int BLASFUNC(cpotrf)(char *, blasint *, float *, blasint *, blasint *);
  625. int BLASFUNC(zpotrf)(char *, blasint *, double *, blasint *, blasint *);
  626. int BLASFUNC(xpotrf)(char *, blasint *, xdouble *, blasint *, blasint *);
  627. int BLASFUNC(spotri)(char *, blasint *, float *, blasint *, blasint *);
  628. int BLASFUNC(dpotri)(char *, blasint *, double *, blasint *, blasint *);
  629. int BLASFUNC(qpotri)(char *, blasint *, xdouble *, blasint *, blasint *);
  630. int BLASFUNC(cpotri)(char *, blasint *, float *, blasint *, blasint *);
  631. int BLASFUNC(zpotri)(char *, blasint *, double *, blasint *, blasint *);
  632. int BLASFUNC(xpotri)(char *, blasint *, xdouble *, blasint *, blasint *);
  633. int BLASFUNC(spotrs)(char *, blasint *, blasint *, float *, blasint *, float *, blasint *, blasint *);
  634. int BLASFUNC(dpotrs)(char *, blasint *, blasint *, double *, blasint *, double *, blasint *, blasint *);
  635. int BLASFUNC(qpotrs)(char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *, blasint *);
  636. int BLASFUNC(cpotrs)(char *, blasint *, blasint *, float *, blasint *, float *, blasint *, blasint *);
  637. int BLASFUNC(zpotrs)(char *, blasint *, blasint *, double *, blasint *, double *, blasint *, blasint *);
  638. int BLASFUNC(xpotrs)(char *, blasint *, blasint *, xdouble *, blasint *, xdouble *, blasint *, blasint *);
  639. int BLASFUNC(slauu2)(char *, blasint *, float *, blasint *, blasint *);
  640. int BLASFUNC(dlauu2)(char *, blasint *, double *, blasint *, blasint *);
  641. int BLASFUNC(qlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);
  642. int BLASFUNC(clauu2)(char *, blasint *, float *, blasint *, blasint *);
  643. int BLASFUNC(zlauu2)(char *, blasint *, double *, blasint *, blasint *);
  644. int BLASFUNC(xlauu2)(char *, blasint *, xdouble *, blasint *, blasint *);
  645. int BLASFUNC(slauum)(char *, blasint *, float *, blasint *, blasint *);
  646. int BLASFUNC(dlauum)(char *, blasint *, double *, blasint *, blasint *);
  647. int BLASFUNC(qlauum)(char *, blasint *, xdouble *, blasint *, blasint *);
  648. int BLASFUNC(clauum)(char *, blasint *, float *, blasint *, blasint *);
  649. int BLASFUNC(zlauum)(char *, blasint *, double *, blasint *, blasint *);
  650. int BLASFUNC(xlauum)(char *, blasint *, xdouble *, blasint *, blasint *);
  651. int BLASFUNC(strti2)(char *, char *, blasint *, float *, blasint *, blasint *);
  652. int BLASFUNC(dtrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
  653. int BLASFUNC(qtrti2)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
  654. int BLASFUNC(ctrti2)(char *, char *, blasint *, float *, blasint *, blasint *);
  655. int BLASFUNC(ztrti2)(char *, char *, blasint *, double *, blasint *, blasint *);
  656. int BLASFUNC(xtrti2)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
  657. int BLASFUNC(strtri)(char *, char *, blasint *, float *, blasint *, blasint *);
  658. int BLASFUNC(dtrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
  659. int BLASFUNC(qtrtri)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
  660. int BLASFUNC(ctrtri)(char *, char *, blasint *, float *, blasint *, blasint *);
  661. int BLASFUNC(ztrtri)(char *, char *, blasint *, double *, blasint *, blasint *);
  662. int BLASFUNC(xtrtri)(char *, char *, blasint *, xdouble *, blasint *, blasint *);
  663. FLOATRET BLASFUNC(slamch)(char *);
  664. double BLASFUNC(dlamch)(char *);
  665. xdouble BLASFUNC(qlamch)(char *);
  666. FLOATRET BLASFUNC(slamc3)(float *, float *);
  667. double BLASFUNC(dlamc3)(double *, double *);
  668. xdouble BLASFUNC(qlamc3)(xdouble *, xdouble *);
  669. /* BLAS extensions */
  670. void BLASFUNC(saxpby) (blasint *, float *, float *, blasint *, float *, float *, blasint *);
  671. void BLASFUNC(daxpby) (blasint *, double *, double *, blasint *, double *, double *, blasint *);
  672. void BLASFUNC(caxpby) (blasint *, float *, float *, blasint *, float *, float *, blasint *);
  673. void BLASFUNC(zaxpby) (blasint *, double *, double *, blasint *, double *, double *, blasint *);
  674. void BLASFUNC(somatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, float *, blasint *);
  675. void BLASFUNC(domatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, double *, blasint *);
  676. void BLASFUNC(comatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, float *, blasint *);
  677. void BLASFUNC(zomatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, double *, blasint *);
  678. void BLASFUNC(simatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, blasint *);
  679. void BLASFUNC(dimatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, blasint *);
  680. void BLASFUNC(cimatcopy) (char *, char *, blasint *, blasint *, float *, float *, blasint *, blasint *);
  681. void BLASFUNC(zimatcopy) (char *, char *, blasint *, blasint *, double *, double *, blasint *, blasint *);
  682. void BLASFUNC(sgeadd) (blasint *, blasint *, float *, float *, blasint *, float *, float *, blasint*);
  683. void BLASFUNC(dgeadd) (blasint *, blasint *, double *, double *, blasint *, double *, double *, blasint*);
  684. void BLASFUNC(cgeadd) (blasint *, blasint *, float *, float *, blasint *, float *, float *, blasint*);
  685. void BLASFUNC(zgeadd) (blasint *, blasint *, double *, double *, blasint *, double *, double *, blasint*);
  686. #ifdef __cplusplus
  687. }
  688. #endif /* __cplusplus */
  689. #endif