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.

cblas_f77.h 21 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. /*
  2. * cblas_f77.h
  3. * Written by Keita Teranishi
  4. *
  5. * Updated by Jeff Horner
  6. * Merged cblas_f77.h and cblas_fortran_header.h
  7. */
  8. #ifndef CBLAS_F77_H
  9. #define CBLAS_F77_H
  10. #include <stdint.h>
  11. #ifdef CRAY
  12. #include <fortran.h>
  13. #define F77_CHAR _fcd
  14. #define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
  15. #define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
  16. #define F77_STRLEN(a) (_fcdlen)
  17. #endif
  18. #ifndef F77_INT
  19. #ifdef WeirdNEC
  20. #define F77_INT int64_t
  21. #else
  22. #define F77_INT int32_t
  23. #endif
  24. #endif
  25. #ifdef F77_CHAR
  26. #define FCHAR F77_CHAR
  27. #else
  28. #define FCHAR char *
  29. #endif
  30. #ifdef F77_INT
  31. #define FINT const F77_INT *
  32. #define FINT2 F77_INT *
  33. #else
  34. #define FINT const int *
  35. #define FINT2 int *
  36. #endif
  37. /*
  38. * Level 1 BLAS
  39. */
  40. #define F77_xerbla F77_GLOBAL(xerbla,XERBLA)
  41. #define F77_srotg F77_GLOBAL(srotg,SROTG)
  42. #define F77_srotmg F77_GLOBAL(srotmg,SROTMG)
  43. #define F77_srot F77_GLOBAL(srot,SROT)
  44. #define F77_srotm F77_GLOBAL(srotm,SROTM)
  45. #define F77_drotg F77_GLOBAL(drotg,DROTG)
  46. #define F77_drotmg F77_GLOBAL(drotmg,DROTMG)
  47. #define F77_drot F77_GLOBAL(drot,DROT)
  48. #define F77_drotm F77_GLOBAL(drotm,DROTM)
  49. #define F77_sswap F77_GLOBAL(sswap,SSWAP)
  50. #define F77_scopy F77_GLOBAL(scopy,SCOPY)
  51. #define F77_saxpy F77_GLOBAL(saxpy,SAXPY)
  52. #define F77_isamax_sub F77_GLOBAL(isamaxsub,ISAMAXSUB)
  53. #define F77_dswap F77_GLOBAL(dswap,DSWAP)
  54. #define F77_dcopy F77_GLOBAL(dcopy,DCOPY)
  55. #define F77_daxpy F77_GLOBAL(daxpy,DAXPY)
  56. #define F77_idamax_sub F77_GLOBAL(idamaxsub,IDAMAXSUB)
  57. #define F77_cswap F77_GLOBAL(cswap,CSWAP)
  58. #define F77_ccopy F77_GLOBAL(ccopy,CCOPY)
  59. #define F77_caxpy F77_GLOBAL(caxpy,CAXPY)
  60. #define F77_icamax_sub F77_GLOBAL(icamaxsub,ICAMAXSUB)
  61. #define F77_zswap F77_GLOBAL(zswap,ZSWAP)
  62. #define F77_zcopy F77_GLOBAL(zcopy,ZCOPY)
  63. #define F77_zaxpy F77_GLOBAL(zaxpy,ZAXPY)
  64. #define F77_izamax_sub F77_GLOBAL(izamaxsub,IZAMAXSUB)
  65. #define F77_sdot_sub F77_GLOBAL(sdotsub,SDOTSUB)
  66. #define F77_ddot_sub F77_GLOBAL(ddotsub,DDOTSUB)
  67. #define F77_dsdot_sub F77_GLOBAL(dsdotsub,DSDOTSUB)
  68. #define F77_sscal F77_GLOBAL(sscal,SSCAL)
  69. #define F77_dscal F77_GLOBAL(dscal,DSCAL)
  70. #define F77_cscal F77_GLOBAL(cscal,CSCAL)
  71. #define F77_zscal F77_GLOBAL(zscal,ZSCAL)
  72. #define F77_csscal F77_GLOBAL(csscal,CSSCAL)
  73. #define F77_zdscal F77_GLOBAL(zdscal,ZDSCAL)
  74. #define F77_cdotu_sub F77_GLOBAL(cdotusub,CDOTUSUB)
  75. #define F77_cdotc_sub F77_GLOBAL(cdotcsub,CDOTCSUB)
  76. #define F77_zdotu_sub F77_GLOBAL(zdotusub,ZDOTUSUB)
  77. #define F77_zdotc_sub F77_GLOBAL(zdotcsub,ZDOTCSUB)
  78. #define F77_snrm2_sub F77_GLOBAL(snrm2sub,SNRM2SUB)
  79. #define F77_sasum_sub F77_GLOBAL(sasumsub,SASUMSUB)
  80. #define F77_dnrm2_sub F77_GLOBAL(dnrm2sub,DNRM2SUB)
  81. #define F77_dasum_sub F77_GLOBAL(dasumsub,DASUMSUB)
  82. #define F77_scnrm2_sub F77_GLOBAL(scnrm2sub,SCNRM2SUB)
  83. #define F77_scasum_sub F77_GLOBAL(scasumsub,SCASUMSUB)
  84. #define F77_dznrm2_sub F77_GLOBAL(dznrm2sub,DZNRM2SUB)
  85. #define F77_dzasum_sub F77_GLOBAL(dzasumsub,DZASUMSUB)
  86. #define F77_sdsdot_sub F77_GLOBAL(sdsdotsub,SDSDOTSUB)
  87. /*
  88. * Level 2 BLAS
  89. */
  90. #define F77_ssymv F77_GLOBAL(ssymv,SSYMV)
  91. #define F77_ssbmv F77_GLOBAL(ssbmv,SSBMV)
  92. #define F77_sspmv F77_GLOBAL(sspmv,SSPMV)
  93. #define F77_sger F77_GLOBAL(sger,SGER)
  94. #define F77_ssyr F77_GLOBAL(ssyr,SSYR)
  95. #define F77_sspr F77_GLOBAL(sspr,SSPR)
  96. #define F77_ssyr2 F77_GLOBAL(ssyr2,SSYR2)
  97. #define F77_sspr2 F77_GLOBAL(sspr2,SSPR2)
  98. #define F77_dsymv F77_GLOBAL(dsymv,DSYMV)
  99. #define F77_dsbmv F77_GLOBAL(dsbmv,DSBMV)
  100. #define F77_dspmv F77_GLOBAL(dspmv,DSPMV)
  101. #define F77_dger F77_GLOBAL(dger,DGER)
  102. #define F77_dsyr F77_GLOBAL(dsyr,DSYR)
  103. #define F77_dspr F77_GLOBAL(dspr,DSPR)
  104. #define F77_dsyr2 F77_GLOBAL(dsyr2,DSYR2)
  105. #define F77_dspr2 F77_GLOBAL(dspr2,DSPR2)
  106. #define F77_chemv F77_GLOBAL(chemv,CHEMV)
  107. #define F77_chbmv F77_GLOBAL(chbmv,CHBMV)
  108. #define F77_chpmv F77_GLOBAL(chpmv,CHPMV)
  109. #define F77_cgeru F77_GLOBAL(cgeru,CGERU)
  110. #define F77_cgerc F77_GLOBAL(cgerc,CGERC)
  111. #define F77_cher F77_GLOBAL(cher,CHER)
  112. #define F77_chpr F77_GLOBAL(chpr,CHPR)
  113. #define F77_cher2 F77_GLOBAL(cher2,CHER2)
  114. #define F77_chpr2 F77_GLOBAL(chpr2,CHPR2)
  115. #define F77_zhemv F77_GLOBAL(zhemv,ZHEMV)
  116. #define F77_zhbmv F77_GLOBAL(zhbmv,ZHBMV)
  117. #define F77_zhpmv F77_GLOBAL(zhpmv,ZHPMV)
  118. #define F77_zgeru F77_GLOBAL(zgeru,ZGERU)
  119. #define F77_zgerc F77_GLOBAL(zgerc,ZGERC)
  120. #define F77_zher F77_GLOBAL(zher,ZHER)
  121. #define F77_zhpr F77_GLOBAL(zhpr,ZHPR)
  122. #define F77_zher2 F77_GLOBAL(zher2,ZHER2)
  123. #define F77_zhpr2 F77_GLOBAL(zhpr2,ZHPR2)
  124. #define F77_sgemv F77_GLOBAL(sgemv,SGEMV)
  125. #define F77_sgbmv F77_GLOBAL(sgbmv,SGBMV)
  126. #define F77_strmv F77_GLOBAL(strmv,STRMV)
  127. #define F77_stbmv F77_GLOBAL(stbmv,STBMV)
  128. #define F77_stpmv F77_GLOBAL(stpmv,STPMV)
  129. #define F77_strsv F77_GLOBAL(strsv,STRSV)
  130. #define F77_stbsv F77_GLOBAL(stbsv,STBSV)
  131. #define F77_stpsv F77_GLOBAL(stpsv,STPSV)
  132. #define F77_dgemv F77_GLOBAL(dgemv,DGEMV)
  133. #define F77_dgbmv F77_GLOBAL(dgbmv,DGBMV)
  134. #define F77_dtrmv F77_GLOBAL(dtrmv,DTRMV)
  135. #define F77_dtbmv F77_GLOBAL(dtbmv,DTBMV)
  136. #define F77_dtpmv F77_GLOBAL(dtpmv,DTPMV)
  137. #define F77_dtrsv F77_GLOBAL(dtrsv,DTRSV)
  138. #define F77_dtbsv F77_GLOBAL(dtbsv,DTBSV)
  139. #define F77_dtpsv F77_GLOBAL(dtpsv,DTPSV)
  140. #define F77_cgemv F77_GLOBAL(cgemv,CGEMV)
  141. #define F77_cgbmv F77_GLOBAL(cgbmv,CGBMV)
  142. #define F77_ctrmv F77_GLOBAL(ctrmv,CTRMV)
  143. #define F77_ctbmv F77_GLOBAL(ctbmv,CTBMV)
  144. #define F77_ctpmv F77_GLOBAL(ctpmv,CTPMV)
  145. #define F77_ctrsv F77_GLOBAL(ctrsv,CTRSV)
  146. #define F77_ctbsv F77_GLOBAL(ctbsv,CTBSV)
  147. #define F77_ctpsv F77_GLOBAL(ctpsv,CTPSV)
  148. #define F77_zgemv F77_GLOBAL(zgemv,ZGEMV)
  149. #define F77_zgbmv F77_GLOBAL(zgbmv,ZGBMV)
  150. #define F77_ztrmv F77_GLOBAL(ztrmv,ZTRMV)
  151. #define F77_ztbmv F77_GLOBAL(ztbmv,ZTBMV)
  152. #define F77_ztpmv F77_GLOBAL(ztpmv,ZTPMV)
  153. #define F77_ztrsv F77_GLOBAL(ztrsv,ZTRSV)
  154. #define F77_ztbsv F77_GLOBAL(ztbsv,ZTBSV)
  155. #define F77_ztpsv F77_GLOBAL(ztpsv,ZTPSV)
  156. /*
  157. * Level 3 BLAS
  158. */
  159. #define F77_chemm F77_GLOBAL(chemm,CHEMM)
  160. #define F77_cherk F77_GLOBAL(cherk,CHERK)
  161. #define F77_cher2k F77_GLOBAL(cher2k,CHER2K)
  162. #define F77_zhemm F77_GLOBAL(zhemm,ZHEMM)
  163. #define F77_zherk F77_GLOBAL(zherk,ZHERK)
  164. #define F77_zher2k F77_GLOBAL(zher2k,ZHER2K)
  165. #define F77_sgemm F77_GLOBAL(sgemm,SGEMM)
  166. #define F77_ssymm F77_GLOBAL(ssymm,SSYMM)
  167. #define F77_ssyrk F77_GLOBAL(ssyrk,SSYRK)
  168. #define F77_ssyr2k F77_GLOBAL(ssyr2k,SSYR2K)
  169. #define F77_strmm F77_GLOBAL(strmm,STRMM)
  170. #define F77_strsm F77_GLOBAL(strsm,STRSM)
  171. #define F77_dgemm F77_GLOBAL(dgemm,DGEMM)
  172. #define F77_dsymm F77_GLOBAL(dsymm,DSYMM)
  173. #define F77_dsyrk F77_GLOBAL(dsyrk,DSYRK)
  174. #define F77_dsyr2k F77_GLOBAL(dsyr2k,DSYR2K)
  175. #define F77_dtrmm F77_GLOBAL(dtrmm,DTRMM)
  176. #define F77_dtrsm F77_GLOBAL(dtrsm,DTRSM)
  177. #define F77_cgemm F77_GLOBAL(cgemm,CGEMM)
  178. #define F77_csymm F77_GLOBAL(csymm,CSYMM)
  179. #define F77_csyrk F77_GLOBAL(csyrk,CSYRK)
  180. #define F77_csyr2k F77_GLOBAL(csyr2k,CSYR2K)
  181. #define F77_ctrmm F77_GLOBAL(ctrmm,CTRMM)
  182. #define F77_ctrsm F77_GLOBAL(ctrsm,CTRSM)
  183. #define F77_zgemm F77_GLOBAL(zgemm,ZGEMM)
  184. #define F77_zsymm F77_GLOBAL(zsymm,ZSYMM)
  185. #define F77_zsyrk F77_GLOBAL(zsyrk,ZSYRK)
  186. #define F77_zsyr2k F77_GLOBAL(zsyr2k,ZSYR2K)
  187. #define F77_ztrmm F77_GLOBAL(ztrmm,ZTRMM)
  188. #define F77_ztrsm F77_GLOBAL(ztrsm,ZTRSM)
  189. #ifdef __cplusplus
  190. extern "C" {
  191. #endif
  192. void F77_xerbla(FCHAR, void *);
  193. /*
  194. * Level 1 Fortran Prototypes
  195. */
  196. /* Single Precision */
  197. void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
  198. void F77_srotg(float *,float *,float *,float *);
  199. void F77_srotm( FINT, float *, FINT, float *, FINT, const float *);
  200. void F77_srotmg(float *,float *,float *,const float *, float *);
  201. void F77_sswap( FINT, float *, FINT, float *, FINT);
  202. void F77_scopy( FINT, const float *, FINT, float *, FINT);
  203. void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT);
  204. void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
  205. void F77_sdsdot_sub( FINT, const float *, const float *, FINT, const float *, FINT, float *);
  206. void F77_sscal( FINT, const float *, float *, FINT);
  207. void F77_snrm2_sub( FINT, const float *, FINT, float *);
  208. void F77_sasum_sub( FINT, const float *, FINT, float *);
  209. void F77_isamax_sub( FINT, const float * , FINT, FINT2);
  210. /* Double Precision */
  211. void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
  212. void F77_drotg(double *,double *,double *,double *);
  213. void F77_drotm( FINT, double *, FINT, double *, FINT, const double *);
  214. void F77_drotmg(double *,double *,double *,const double *, double *);
  215. void F77_dswap( FINT, double *, FINT, double *, FINT);
  216. void F77_dcopy( FINT, const double *, FINT, double *, FINT);
  217. void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT);
  218. void F77_dswap( FINT, double *, FINT, double *, FINT);
  219. void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
  220. void F77_ddot_sub( FINT, const double *, FINT, const double *, FINT, double *);
  221. void F77_dscal( FINT, const double *, double *, FINT);
  222. void F77_dnrm2_sub( FINT, const double *, FINT, double *);
  223. void F77_dasum_sub( FINT, const double *, FINT, double *);
  224. void F77_idamax_sub( FINT, const double * , FINT, FINT2);
  225. /* Single Complex Precision */
  226. void F77_cswap( FINT, void *, FINT, void *, FINT);
  227. void F77_ccopy( FINT, const void *, FINT, void *, FINT);
  228. void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT);
  229. void F77_cswap( FINT, void *, FINT, void *, FINT);
  230. void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
  231. void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
  232. void F77_cscal( FINT, const void *, void *, FINT);
  233. void F77_icamax_sub( FINT, const void *, FINT, FINT2);
  234. void F77_csscal( FINT, const float *, void *, FINT);
  235. void F77_scnrm2_sub( FINT, const void *, FINT, float *);
  236. void F77_scasum_sub( FINT, const void *, FINT, float *);
  237. /* Double Complex Precision */
  238. void F77_zswap( FINT, void *, FINT, void *, FINT);
  239. void F77_zcopy( FINT, const void *, FINT, void *, FINT);
  240. void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT);
  241. void F77_zswap( FINT, void *, FINT, void *, FINT);
  242. void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
  243. void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
  244. void F77_zdscal( FINT, const double *, void *, FINT);
  245. void F77_zscal( FINT, const void *, void *, FINT);
  246. void F77_dznrm2_sub( FINT, const void *, FINT, double *);
  247. void F77_dzasum_sub( FINT, const void *, FINT, double *);
  248. void F77_izamax_sub( FINT, const void *, FINT, FINT2);
  249. /*
  250. * Level 2 Fortran Prototypes
  251. */
  252. /* Single Precision */
  253. void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  254. void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  255. void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  256. void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  257. void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
  258. void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
  259. void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
  260. void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
  261. void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
  262. void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
  263. void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
  264. void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
  265. void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
  266. void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
  267. void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *);
  268. void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
  269. /* Double Precision */
  270. void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  271. void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  272. void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  273. void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  274. void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
  275. void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
  276. void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
  277. void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
  278. void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
  279. void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
  280. void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
  281. void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
  282. void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
  283. void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
  284. void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *);
  285. void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
  286. /* Single Complex Precision */
  287. void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  288. void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  289. void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  290. void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  291. void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
  292. void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  293. void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  294. void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
  295. void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  296. void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  297. void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
  298. void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  299. void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  300. void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
  301. void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  302. void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
  303. void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
  304. /* Double Complex Precision */
  305. void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  306. void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  307. void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  308. void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  309. void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
  310. void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  311. void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  312. void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
  313. void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  314. void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  315. void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
  316. void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  317. void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  318. void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
  319. void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  320. void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
  321. void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
  322. /*
  323. * Level 3 Fortran Prototypes
  324. */
  325. /* Single Precision */
  326. void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  327. void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  328. void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  329. void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  330. void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  331. void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  332. /* Double Precision */
  333. void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  334. void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  335. void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  336. void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  337. void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  338. void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  339. /* Single Complex Precision */
  340. void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  341. void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  342. void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  343. void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  344. void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  345. void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  346. void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  347. void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  348. void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  349. /* Double Complex Precision */
  350. void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  351. void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  352. void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  353. void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  354. void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  355. void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  356. void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  357. void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  358. void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  359. #ifdef __cplusplus
  360. }
  361. #endif
  362. #endif /* CBLAS_F77_H */