cblas_f77.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  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. #ifdef CRAY
  11. #include <fortran.h>
  12. #define F77_CHAR _fcd
  13. #define C2F_CHAR(a) ( _cptofcd( (a), 1 ) )
  14. #define C2F_STR(a, i) ( _cptofcd( (a), (i) ) )
  15. #define F77_STRLEN(a) (_fcdlen)
  16. #endif
  17. #ifdef WeirdNEC
  18. #define F77_INT long
  19. #endif
  20. #ifdef F77_CHAR
  21. #define FCHAR F77_CHAR
  22. #else
  23. #define FCHAR char *
  24. #endif
  25. #ifdef F77_INT
  26. #define FINT const F77_INT *
  27. #define FINT2 F77_INT *
  28. #else
  29. #define FINT const int *
  30. #define FINT2 int *
  31. #endif
  32. #if defined(ADD_)
  33. /*
  34. * Level 1 BLAS
  35. */
  36. #define F77_xerbla xerbla_
  37. #define F77_srotg srotg_
  38. #define F77_srotmg srotmg_
  39. #define F77_srot srot_
  40. #define F77_srotm srotm_
  41. #define F77_drotg drotg_
  42. #define F77_drotmg drotmg_
  43. #define F77_drot drot_
  44. #define F77_drotm drotm_
  45. #define F77_sswap sswap_
  46. #define F77_scopy scopy_
  47. #define F77_saxpy saxpy_
  48. #define F77_isamax_sub isamaxsub_
  49. #define F77_dswap dswap_
  50. #define F77_dcopy dcopy_
  51. #define F77_daxpy daxpy_
  52. #define F77_idamax_sub idamaxsub_
  53. #define F77_cswap cswap_
  54. #define F77_ccopy ccopy_
  55. #define F77_caxpy caxpy_
  56. #define F77_icamax_sub icamaxsub_
  57. #define F77_zswap zswap_
  58. #define F77_zcopy zcopy_
  59. #define F77_zaxpy zaxpy_
  60. #define F77_izamax_sub izamaxsub_
  61. #define F77_sdot_sub sdotsub_
  62. #define F77_ddot_sub ddotsub_
  63. #define F77_dsdot_sub dsdotsub_
  64. #define F77_sscal sscal_
  65. #define F77_dscal dscal_
  66. #define F77_cscal cscal_
  67. #define F77_zscal zscal_
  68. #define F77_csscal csscal_
  69. #define F77_zdscal zdscal_
  70. #define F77_cdotu_sub cdotusub_
  71. #define F77_cdotc_sub cdotcsub_
  72. #define F77_zdotu_sub zdotusub_
  73. #define F77_zdotc_sub zdotcsub_
  74. #define F77_snrm2_sub snrm2sub_
  75. #define F77_sasum_sub sasumsub_
  76. #define F77_dnrm2_sub dnrm2sub_
  77. #define F77_dasum_sub dasumsub_
  78. #define F77_scnrm2_sub scnrm2sub_
  79. #define F77_scasum_sub scasumsub_
  80. #define F77_dznrm2_sub dznrm2sub_
  81. #define F77_dzasum_sub dzasumsub_
  82. #define F77_sdsdot_sub sdsdotsub_
  83. /*
  84. * Level 2 BLAS
  85. */
  86. #define F77_ssymv ssymv_
  87. #define F77_ssbmv ssbmv_
  88. #define F77_sspmv sspmv_
  89. #define F77_sger sger_
  90. #define F77_ssyr ssyr_
  91. #define F77_sspr sspr_
  92. #define F77_ssyr2 ssyr2_
  93. #define F77_sspr2 sspr2_
  94. #define F77_dsymv dsymv_
  95. #define F77_dsbmv dsbmv_
  96. #define F77_dspmv dspmv_
  97. #define F77_dger dger_
  98. #define F77_dsyr dsyr_
  99. #define F77_dspr dspr_
  100. #define F77_dsyr2 dsyr2_
  101. #define F77_dspr2 dspr2_
  102. #define F77_chemv chemv_
  103. #define F77_chbmv chbmv_
  104. #define F77_chpmv chpmv_
  105. #define F77_cgeru cgeru_
  106. #define F77_cgerc cgerc_
  107. #define F77_cher cher_
  108. #define F77_chpr chpr_
  109. #define F77_cher2 cher2_
  110. #define F77_chpr2 chpr2_
  111. #define F77_zhemv zhemv_
  112. #define F77_zhbmv zhbmv_
  113. #define F77_zhpmv zhpmv_
  114. #define F77_zgeru zgeru_
  115. #define F77_zgerc zgerc_
  116. #define F77_zher zher_
  117. #define F77_zhpr zhpr_
  118. #define F77_zher2 zher2_
  119. #define F77_zhpr2 zhpr2_
  120. #define F77_sgemv sgemv_
  121. #define F77_sgbmv sgbmv_
  122. #define F77_strmv strmv_
  123. #define F77_stbmv stbmv_
  124. #define F77_stpmv stpmv_
  125. #define F77_strsv strsv_
  126. #define F77_stbsv stbsv_
  127. #define F77_stpsv stpsv_
  128. #define F77_dgemv dgemv_
  129. #define F77_dgbmv dgbmv_
  130. #define F77_dtrmv dtrmv_
  131. #define F77_dtbmv dtbmv_
  132. #define F77_dtpmv dtpmv_
  133. #define F77_dtrsv dtrsv_
  134. #define F77_dtbsv dtbsv_
  135. #define F77_dtpsv dtpsv_
  136. #define F77_cgemv cgemv_
  137. #define F77_cgbmv cgbmv_
  138. #define F77_ctrmv ctrmv_
  139. #define F77_ctbmv ctbmv_
  140. #define F77_ctpmv ctpmv_
  141. #define F77_ctrsv ctrsv_
  142. #define F77_ctbsv ctbsv_
  143. #define F77_ctpsv ctpsv_
  144. #define F77_zgemv zgemv_
  145. #define F77_zgbmv zgbmv_
  146. #define F77_ztrmv ztrmv_
  147. #define F77_ztbmv ztbmv_
  148. #define F77_ztpmv ztpmv_
  149. #define F77_ztrsv ztrsv_
  150. #define F77_ztbsv ztbsv_
  151. #define F77_ztpsv ztpsv_
  152. /*
  153. * Level 3 BLAS
  154. */
  155. #define F77_chemm chemm_
  156. #define F77_cherk cherk_
  157. #define F77_cher2k cher2k_
  158. #define F77_zhemm zhemm_
  159. #define F77_zherk zherk_
  160. #define F77_zher2k zher2k_
  161. #define F77_sgemm sgemm_
  162. #define F77_ssymm ssymm_
  163. #define F77_ssyrk ssyrk_
  164. #define F77_ssyr2k ssyr2k_
  165. #define F77_strmm strmm_
  166. #define F77_strsm strsm_
  167. #define F77_dgemm dgemm_
  168. #define F77_dsymm dsymm_
  169. #define F77_dsyrk dsyrk_
  170. #define F77_dsyr2k dsyr2k_
  171. #define F77_dtrmm dtrmm_
  172. #define F77_dtrsm dtrsm_
  173. #define F77_cgemm cgemm_
  174. #define F77_csymm csymm_
  175. #define F77_csyrk csyrk_
  176. #define F77_csyr2k csyr2k_
  177. #define F77_ctrmm ctrmm_
  178. #define F77_ctrsm ctrsm_
  179. #define F77_zgemm zgemm_
  180. #define F77_zsymm zsymm_
  181. #define F77_zsyrk zsyrk_
  182. #define F77_zsyr2k zsyr2k_
  183. #define F77_ztrmm ztrmm_
  184. #define F77_ztrsm ztrsm_
  185. #elif defined(UPCASE)
  186. /*
  187. * Level 1 BLAS
  188. */
  189. #define F77_xerbla XERBLA
  190. #define F77_srotg SROTG
  191. #define F77_srotmg SROTMG
  192. #define F77_srot SROT
  193. #define F77_srotm SROTM
  194. #define F77_drotg DROTG
  195. #define F77_drotmg DROTMG
  196. #define F77_drot DROT
  197. #define F77_drotm DROTM
  198. #define F77_sswap SSWAP
  199. #define F77_scopy SCOPY
  200. #define F77_saxpy SAXPY
  201. #define F77_isamax_sub ISAMAXSUB
  202. #define F77_dswap DSWAP
  203. #define F77_dcopy DCOPY
  204. #define F77_daxpy DAXPY
  205. #define F77_idamax_sub IDAMAXSUB
  206. #define F77_cswap CSWAP
  207. #define F77_ccopy CCOPY
  208. #define F77_caxpy CAXPY
  209. #define F77_icamax_sub ICAMAXSUB
  210. #define F77_zswap ZSWAP
  211. #define F77_zcopy ZCOPY
  212. #define F77_zaxpy ZAXPY
  213. #define F77_izamax_sub IZAMAXSUB
  214. #define F77_sdot_sub SDOTSUB
  215. #define F77_ddot_sub DDOTSUB
  216. #define F77_dsdot_sub DSDOTSUB
  217. #define F77_sscal SSCAL
  218. #define F77_dscal DSCAL
  219. #define F77_cscal CSCAL
  220. #define F77_zscal ZSCAL
  221. #define F77_csscal CSSCAL
  222. #define F77_zdscal ZDSCAL
  223. #define F77_cdotu_sub CDOTUSUB
  224. #define F77_cdotc_sub CDOTCSUB
  225. #define F77_zdotu_sub ZDOTUSUB
  226. #define F77_zdotc_sub ZDOTCSUB
  227. #define F77_snrm2_sub SNRM2SUB
  228. #define F77_sasum_sub SASUMSUB
  229. #define F77_dnrm2_sub DNRM2SUB
  230. #define F77_dasum_sub DASUMSUB
  231. #define F77_scnrm2_sub SCNRM2SUB
  232. #define F77_scasum_sub SCASUMSUB
  233. #define F77_dznrm2_sub DZNRM2SUB
  234. #define F77_dzasum_sub DZASUMSUB
  235. #define F77_sdsdot_sub SDSDOTSUB
  236. /*
  237. * Level 2 BLAS
  238. */
  239. #define F77_ssymv SSYMV
  240. #define F77_ssbmv SSBMV
  241. #define F77_sspmv SSPMV
  242. #define F77_sger SGER
  243. #define F77_ssyr SSYR
  244. #define F77_sspr SSPR
  245. #define F77_ssyr2 SSYR2
  246. #define F77_sspr2 SSPR2
  247. #define F77_dsymv DSYMV
  248. #define F77_dsbmv DSBMV
  249. #define F77_dspmv DSPMV
  250. #define F77_dger DGER
  251. #define F77_dsyr DSYR
  252. #define F77_dspr DSPR
  253. #define F77_dsyr2 DSYR2
  254. #define F77_dspr2 DSPR2
  255. #define F77_chemv CHEMV
  256. #define F77_chbmv CHBMV
  257. #define F77_chpmv CHPMV
  258. #define F77_cgeru CGERU
  259. #define F77_cgerc CGERC
  260. #define F77_cher CHER
  261. #define F77_chpr CHPR
  262. #define F77_cher2 CHER2
  263. #define F77_chpr2 CHPR2
  264. #define F77_zhemv ZHEMV
  265. #define F77_zhbmv ZHBMV
  266. #define F77_zhpmv ZHPMV
  267. #define F77_zgeru ZGERU
  268. #define F77_zgerc ZGERC
  269. #define F77_zher ZHER
  270. #define F77_zhpr ZHPR
  271. #define F77_zher2 ZHER2
  272. #define F77_zhpr2 ZHPR2
  273. #define F77_sgemv SGEMV
  274. #define F77_sgbmv SGBMV
  275. #define F77_strmv STRMV
  276. #define F77_stbmv STBMV
  277. #define F77_stpmv STPMV
  278. #define F77_strsv STRSV
  279. #define F77_stbsv STBSV
  280. #define F77_stpsv STPSV
  281. #define F77_dgemv DGEMV
  282. #define F77_dgbmv DGBMV
  283. #define F77_dtrmv DTRMV
  284. #define F77_dtbmv DTBMV
  285. #define F77_dtpmv DTPMV
  286. #define F77_dtrsv DTRSV
  287. #define F77_dtbsv DTBSV
  288. #define F77_dtpsv DTPSV
  289. #define F77_cgemv CGEMV
  290. #define F77_cgbmv CGBMV
  291. #define F77_ctrmv CTRMV
  292. #define F77_ctbmv CTBMV
  293. #define F77_ctpmv CTPMV
  294. #define F77_ctrsv CTRSV
  295. #define F77_ctbsv CTBSV
  296. #define F77_ctpsv CTPSV
  297. #define F77_zgemv ZGEMV
  298. #define F77_zgbmv ZGBMV
  299. #define F77_ztrmv ZTRMV
  300. #define F77_ztbmv ZTBMV
  301. #define F77_ztpmv ZTPMV
  302. #define F77_ztrsv ZTRSV
  303. #define F77_ztbsv ZTBSV
  304. #define F77_ztpsv ZTPSV
  305. /*
  306. * Level 3 BLAS
  307. */
  308. #define F77_chemm CHEMM
  309. #define F77_cherk CHERK
  310. #define F77_cher2k CHER2K
  311. #define F77_zhemm ZHEMM
  312. #define F77_zherk ZHERK
  313. #define F77_zher2k ZHER2K
  314. #define F77_sgemm SGEMM
  315. #define F77_ssymm SSYMM
  316. #define F77_ssyrk SSYRK
  317. #define F77_ssyr2k SSYR2K
  318. #define F77_strmm STRMM
  319. #define F77_strsm STRSM
  320. #define F77_dgemm DGEMM
  321. #define F77_dsymm DSYMM
  322. #define F77_dsyrk DSYRK
  323. #define F77_dsyr2k DSYR2K
  324. #define F77_dtrmm DTRMM
  325. #define F77_dtrsm DTRSM
  326. #define F77_cgemm CGEMM
  327. #define F77_csymm CSYMM
  328. #define F77_csyrk CSYRK
  329. #define F77_csyr2k CSYR2K
  330. #define F77_ctrmm CTRMM
  331. #define F77_ctrsm CTRSM
  332. #define F77_zgemm ZGEMM
  333. #define F77_zsymm ZSYMM
  334. #define F77_zsyrk ZSYRK
  335. #define F77_zsyr2k ZSYR2K
  336. #define F77_ztrmm ZTRMM
  337. #define F77_ztrsm ZTRSM
  338. #elif defined(NOCHANGE)
  339. /*
  340. * Level 1 BLAS
  341. */
  342. #define F77_xerbla xerbla
  343. #define F77_srotg srotg
  344. #define F77_srotmg srotmg
  345. #define F77_srot srot
  346. #define F77_srotm srotm
  347. #define F77_drotg drotg
  348. #define F77_drotmg drotmg
  349. #define F77_drot drot
  350. #define F77_drotm drotm
  351. #define F77_sswap sswap
  352. #define F77_scopy scopy
  353. #define F77_saxpy saxpy
  354. #define F77_isamax_sub isamaxsub
  355. #define F77_dswap dswap
  356. #define F77_dcopy dcopy
  357. #define F77_daxpy daxpy
  358. #define F77_idamax_sub idamaxsub
  359. #define F77_cswap cswap
  360. #define F77_ccopy ccopy
  361. #define F77_caxpy caxpy
  362. #define F77_icamax_sub icamaxsub
  363. #define F77_zswap zswap
  364. #define F77_zcopy zcopy
  365. #define F77_zaxpy zaxpy
  366. #define F77_izamax_sub izamaxsub
  367. #define F77_sdot_sub sdotsub
  368. #define F77_ddot_sub ddotsub
  369. #define F77_dsdot_sub dsdotsub
  370. #define F77_sscal sscal
  371. #define F77_dscal dscal
  372. #define F77_cscal cscal
  373. #define F77_zscal zscal
  374. #define F77_csscal csscal
  375. #define F77_zdscal zdscal
  376. #define F77_cdotu_sub cdotusub
  377. #define F77_cdotc_sub cdotcsub
  378. #define F77_zdotu_sub zdotusub
  379. #define F77_zdotc_sub zdotcsub
  380. #define F77_snrm2_sub snrm2sub
  381. #define F77_sasum_sub sasumsub
  382. #define F77_dnrm2_sub dnrm2sub
  383. #define F77_dasum_sub dasumsub
  384. #define F77_scnrm2_sub scnrm2sub
  385. #define F77_scasum_sub scasumsub
  386. #define F77_dznrm2_sub dznrm2sub
  387. #define F77_dzasum_sub dzasumsub
  388. #define F77_sdsdot_sub sdsdotsub
  389. /*
  390. * Level 2 BLAS
  391. */
  392. #define F77_ssymv ssymv
  393. #define F77_ssbmv ssbmv
  394. #define F77_sspmv sspmv
  395. #define F77_sger sger
  396. #define F77_ssyr ssyr
  397. #define F77_sspr sspr
  398. #define F77_ssyr2 ssyr2
  399. #define F77_sspr2 sspr2
  400. #define F77_dsymv dsymv
  401. #define F77_dsbmv dsbmv
  402. #define F77_dspmv dspmv
  403. #define F77_dger dger
  404. #define F77_dsyr dsyr
  405. #define F77_dspr dspr
  406. #define F77_dsyr2 dsyr2
  407. #define F77_dspr2 dspr2
  408. #define F77_chemv chemv
  409. #define F77_chbmv chbmv
  410. #define F77_chpmv chpmv
  411. #define F77_cgeru cgeru
  412. #define F77_cgerc cgerc
  413. #define F77_cher cher
  414. #define F77_chpr chpr
  415. #define F77_cher2 cher2
  416. #define F77_chpr2 chpr2
  417. #define F77_zhemv zhemv
  418. #define F77_zhbmv zhbmv
  419. #define F77_zhpmv zhpmv
  420. #define F77_zgeru zgeru
  421. #define F77_zgerc zgerc
  422. #define F77_zher zher
  423. #define F77_zhpr zhpr
  424. #define F77_zher2 zher2
  425. #define F77_zhpr2 zhpr2
  426. #define F77_sgemv sgemv
  427. #define F77_sgbmv sgbmv
  428. #define F77_strmv strmv
  429. #define F77_stbmv stbmv
  430. #define F77_stpmv stpmv
  431. #define F77_strsv strsv
  432. #define F77_stbsv stbsv
  433. #define F77_stpsv stpsv
  434. #define F77_dgemv dgemv
  435. #define F77_dgbmv dgbmv
  436. #define F77_dtrmv dtrmv
  437. #define F77_dtbmv dtbmv
  438. #define F77_dtpmv dtpmv
  439. #define F77_dtrsv dtrsv
  440. #define F77_dtbsv dtbsv
  441. #define F77_dtpsv dtpsv
  442. #define F77_cgemv cgemv
  443. #define F77_cgbmv cgbmv
  444. #define F77_ctrmv ctrmv
  445. #define F77_ctbmv ctbmv
  446. #define F77_ctpmv ctpmv
  447. #define F77_ctrsv ctrsv
  448. #define F77_ctbsv ctbsv
  449. #define F77_ctpsv ctpsv
  450. #define F77_zgemv zgemv
  451. #define F77_zgbmv zgbmv
  452. #define F77_ztrmv ztrmv
  453. #define F77_ztbmv ztbmv
  454. #define F77_ztpmv ztpmv
  455. #define F77_ztrsv ztrsv
  456. #define F77_ztbsv ztbsv
  457. #define F77_ztpsv ztpsv
  458. /*
  459. * Level 3 BLAS
  460. */
  461. #define F77_chemm chemm
  462. #define F77_cherk cherk
  463. #define F77_cher2k cher2k
  464. #define F77_zhemm zhemm
  465. #define F77_zherk zherk
  466. #define F77_zher2k zher2k
  467. #define F77_sgemm sgemm
  468. #define F77_ssymm ssymm
  469. #define F77_ssyrk ssyrk
  470. #define F77_ssyr2k ssyr2k
  471. #define F77_strmm strmm
  472. #define F77_strsm strsm
  473. #define F77_dgemm dgemm
  474. #define F77_dsymm dsymm
  475. #define F77_dsyrk dsyrk
  476. #define F77_dsyr2k dsyr2k
  477. #define F77_dtrmm dtrmm
  478. #define F77_dtrsm dtrsm
  479. #define F77_cgemm cgemm
  480. #define F77_csymm csymm
  481. #define F77_csyrk csyrk
  482. #define F77_csyr2k csyr2k
  483. #define F77_ctrmm ctrmm
  484. #define F77_ctrsm ctrsm
  485. #define F77_zgemm zgemm
  486. #define F77_zsymm zsymm
  487. #define F77_zsyrk zsyrk
  488. #define F77_zsyr2k zsyr2k
  489. #define F77_ztrmm ztrmm
  490. #define F77_ztrsm ztrsm
  491. #endif
  492. #ifdef __cplusplus
  493. extern "C" {
  494. #endif
  495. void F77_xerbla(FCHAR, void *);
  496. /*
  497. * Level 1 Fortran Prototypes
  498. */
  499. /* Single Precision */
  500. void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *);
  501. void F77_srotg(float *,float *,float *,float *);
  502. void F77_srotm( FINT, float *, FINT, float *, FINT, const float *);
  503. void F77_srotmg(float *,float *,float *,const float *, float *);
  504. void F77_sswap( FINT, float *, FINT, float *, FINT);
  505. void F77_scopy( FINT, const float *, FINT, float *, FINT);
  506. void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT);
  507. void F77_sdot_sub(FINT, const float *, FINT, const float *, FINT, float *);
  508. void F77_sdsdot_sub( FINT, const float *, const float *, FINT, const float *, FINT, float *);
  509. void F77_sscal( FINT, const float *, float *, FINT);
  510. void F77_snrm2_sub( FINT, const float *, FINT, float *);
  511. void F77_sasum_sub( FINT, const float *, FINT, float *);
  512. void F77_isamax_sub( FINT, const float * , FINT, FINT2);
  513. /* Double Precision */
  514. void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *);
  515. void F77_drotg(double *,double *,double *,double *);
  516. void F77_drotm( FINT, double *, FINT, double *, FINT, const double *);
  517. void F77_drotmg(double *,double *,double *,const double *, double *);
  518. void F77_dswap( FINT, double *, FINT, double *, FINT);
  519. void F77_dcopy( FINT, const double *, FINT, double *, FINT);
  520. void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT);
  521. void F77_dswap( FINT, double *, FINT, double *, FINT);
  522. void F77_dsdot_sub(FINT, const float *, FINT, const float *, FINT, double *);
  523. void F77_ddot_sub( FINT, const double *, FINT, const double *, FINT, double *);
  524. void F77_dscal( FINT, const double *, double *, FINT);
  525. void F77_dnrm2_sub( FINT, const double *, FINT, double *);
  526. void F77_dasum_sub( FINT, const double *, FINT, double *);
  527. void F77_idamax_sub( FINT, const double * , FINT, FINT2);
  528. /* Single Complex Precision */
  529. void F77_cswap( FINT, void *, FINT, void *, FINT);
  530. void F77_ccopy( FINT, const void *, FINT, void *, FINT);
  531. void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT);
  532. void F77_cswap( FINT, void *, FINT, void *, FINT);
  533. void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
  534. void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
  535. void F77_cscal( FINT, const void *, void *, FINT);
  536. void F77_icamax_sub( FINT, const void *, FINT, FINT2);
  537. void F77_csscal( FINT, const float *, void *, FINT);
  538. void F77_scnrm2_sub( FINT, const void *, FINT, float *);
  539. void F77_scasum_sub( FINT, const void *, FINT, float *);
  540. /* Double Complex Precision */
  541. void F77_zswap( FINT, void *, FINT, void *, FINT);
  542. void F77_zcopy( FINT, const void *, FINT, void *, FINT);
  543. void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT);
  544. void F77_zswap( FINT, void *, FINT, void *, FINT);
  545. void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *);
  546. void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *);
  547. void F77_zdscal( FINT, const double *, void *, FINT);
  548. void F77_zscal( FINT, const void *, void *, FINT);
  549. void F77_dznrm2_sub( FINT, const void *, FINT, double *);
  550. void F77_dzasum_sub( FINT, const void *, FINT, double *);
  551. void F77_izamax_sub( FINT, const void *, FINT, FINT2);
  552. /*
  553. * Level 2 Fortran Prototypes
  554. */
  555. /* Single Precision */
  556. void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  557. void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  558. void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  559. void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  560. void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT);
  561. void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
  562. void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
  563. void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT);
  564. void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT);
  565. void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
  566. void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT);
  567. void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
  568. void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT);
  569. void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *);
  570. void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *);
  571. void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT);
  572. /* Double Precision */
  573. void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  574. void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  575. void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  576. void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  577. void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT);
  578. void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
  579. void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
  580. void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT);
  581. void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT);
  582. void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
  583. void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT);
  584. void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
  585. void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT);
  586. void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *);
  587. void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *);
  588. void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT);
  589. /* Single Complex Precision */
  590. void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  591. void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  592. void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  593. void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  594. void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
  595. void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  596. void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  597. void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
  598. void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  599. void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  600. void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
  601. void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  602. void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  603. void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT);
  604. void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  605. void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *);
  606. void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *);
  607. /* Double Complex Precision */
  608. void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  609. void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  610. void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  611. void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT);
  612. void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT);
  613. void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  614. void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  615. void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT);
  616. void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT);
  617. void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT);
  618. void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT);
  619. void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  620. void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  621. void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT);
  622. void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT);
  623. void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *);
  624. void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *);
  625. /*
  626. * Level 3 Fortran Prototypes
  627. */
  628. /* Single Precision */
  629. void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  630. void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  631. void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  632. void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  633. void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  634. void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  635. /* Double Precision */
  636. void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  637. void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  638. void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  639. void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  640. void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  641. void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  642. /* Single Complex Precision */
  643. void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  644. void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  645. void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  646. void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  647. void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT);
  648. void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  649. void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT);
  650. void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  651. void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT);
  652. /* Double Complex Precision */
  653. void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  654. void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  655. void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  656. void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  657. void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT);
  658. void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  659. void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT);
  660. void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  661. void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT);
  662. #ifdef __cplusplus
  663. }
  664. #endif
  665. #endif /* CBLAS_F77_H */