1*1858f998SYi Kong /* 2*1858f998SYi Kong * cblas_f77.h 3*1858f998SYi Kong * Written by Keita Teranishi 4*1858f998SYi Kong * 5*1858f998SYi Kong * Updated by Jeff Horner 6*1858f998SYi Kong * Merged cblas_f77.h and cblas_fortran_header.h 7*1858f998SYi Kong */ 8*1858f998SYi Kong 9*1858f998SYi Kong #ifndef CBLAS_F77_H 10*1858f998SYi Kong #define CBLAS_F77_H 11*1858f998SYi Kong 12*1858f998SYi Kong #define FCHAR char * 13*1858f998SYi Kong #define FINT const int * 14*1858f998SYi Kong 15*1858f998SYi Kong /* 16*1858f998SYi Kong * Level 1 BLAS 17*1858f998SYi Kong */ 18*1858f998SYi Kong // Google-local: Nonstandard xerbla name to avoid collisions with LAPACK. 19*1858f998SYi Kong #define F77_xerbla cblas_f77_xerbla_ 20*1858f998SYi Kong #define F77_srotg srotg_ 21*1858f998SYi Kong #define F77_srotmg srotmg_ 22*1858f998SYi Kong #define F77_srot srot_ 23*1858f998SYi Kong #define F77_srotm srotm_ 24*1858f998SYi Kong #define F77_drotg drotg_ 25*1858f998SYi Kong #define F77_drotmg drotmg_ 26*1858f998SYi Kong #define F77_drot drot_ 27*1858f998SYi Kong #define F77_drotm drotm_ 28*1858f998SYi Kong #define F77_sswap sswap_ 29*1858f998SYi Kong #define F77_scopy scopy_ 30*1858f998SYi Kong #define F77_saxpy saxpy_ 31*1858f998SYi Kong #define F77_dswap dswap_ 32*1858f998SYi Kong #define F77_dcopy dcopy_ 33*1858f998SYi Kong #define F77_daxpy daxpy_ 34*1858f998SYi Kong #define F77_cswap cswap_ 35*1858f998SYi Kong #define F77_ccopy ccopy_ 36*1858f998SYi Kong #define F77_caxpy caxpy_ 37*1858f998SYi Kong #define F77_zswap zswap_ 38*1858f998SYi Kong #define F77_zcopy zcopy_ 39*1858f998SYi Kong #define F77_zaxpy zaxpy_ 40*1858f998SYi Kong #define F77_sscal sscal_ 41*1858f998SYi Kong #define F77_dscal dscal_ 42*1858f998SYi Kong #define F77_cscal cscal_ 43*1858f998SYi Kong #define F77_zscal zscal_ 44*1858f998SYi Kong #define F77_csscal csscal_ 45*1858f998SYi Kong #define F77_zdscal zdscal_ 46*1858f998SYi Kong 47*1858f998SYi Kong // Google-local: Use the function version of these, so that we don't need 48*1858f998SYi Kong // the built-in Fortran wrappers. 49*1858f998SYi Kong #define F77_sdot sdot_ 50*1858f998SYi Kong #define F77_ddot ddot_ 51*1858f998SYi Kong #define F77_dsdot dsdot_ 52*1858f998SYi Kong #define F77_sdsdot sdsdot_ 53*1858f998SYi Kong #define F77_snrm2 snrm2_ 54*1858f998SYi Kong #define F77_sasum sasum_ 55*1858f998SYi Kong #define F77_dnrm2 dnrm2_ 56*1858f998SYi Kong #define F77_dasum dasum_ 57*1858f998SYi Kong #define F77_isamax isamax_ 58*1858f998SYi Kong #define F77_idamax idamax_ 59*1858f998SYi Kong #define F77_icamax icamax_ 60*1858f998SYi Kong #define F77_izamax izamax_ 61*1858f998SYi Kong #define F77_scnrm2 scnrm2_ 62*1858f998SYi Kong #define F77_scasum scasum_ 63*1858f998SYi Kong #define F77_dznrm2 dznrm2_ 64*1858f998SYi Kong #define F77_dzasum dzasum_ 65*1858f998SYi Kong 66*1858f998SYi Kong // Google-local: Use Eigen's "subroutine" versions of these functions, not 67*1858f998SYi Kong // the built-in Fortran wrappers. 68*1858f998SYi Kong #define F77_cdotc_sub cdotcw_ 69*1858f998SYi Kong #define F77_cdotu_sub cdotuw_ 70*1858f998SYi Kong #define F77_zdotu_sub zdotuw_ 71*1858f998SYi Kong #define F77_zdotc_sub zdotcw_ 72*1858f998SYi Kong 73*1858f998SYi Kong /* 74*1858f998SYi Kong * Level 2 BLAS 75*1858f998SYi Kong */ 76*1858f998SYi Kong #define F77_ssymv ssymv_ 77*1858f998SYi Kong #define F77_ssbmv ssbmv_ 78*1858f998SYi Kong #define F77_sspmv sspmv_ 79*1858f998SYi Kong #define F77_sger sger_ 80*1858f998SYi Kong #define F77_ssyr ssyr_ 81*1858f998SYi Kong #define F77_sspr sspr_ 82*1858f998SYi Kong #define F77_ssyr2 ssyr2_ 83*1858f998SYi Kong #define F77_sspr2 sspr2_ 84*1858f998SYi Kong #define F77_dsymv dsymv_ 85*1858f998SYi Kong #define F77_dsbmv dsbmv_ 86*1858f998SYi Kong #define F77_dspmv dspmv_ 87*1858f998SYi Kong #define F77_dger dger_ 88*1858f998SYi Kong #define F77_dsyr dsyr_ 89*1858f998SYi Kong #define F77_dspr dspr_ 90*1858f998SYi Kong #define F77_dsyr2 dsyr2_ 91*1858f998SYi Kong #define F77_dspr2 dspr2_ 92*1858f998SYi Kong #define F77_chemv chemv_ 93*1858f998SYi Kong #define F77_chbmv chbmv_ 94*1858f998SYi Kong #define F77_chpmv chpmv_ 95*1858f998SYi Kong #define F77_cgeru cgeru_ 96*1858f998SYi Kong #define F77_cgerc cgerc_ 97*1858f998SYi Kong #define F77_cher cher_ 98*1858f998SYi Kong #define F77_chpr chpr_ 99*1858f998SYi Kong #define F77_cher2 cher2_ 100*1858f998SYi Kong #define F77_chpr2 chpr2_ 101*1858f998SYi Kong #define F77_zhemv zhemv_ 102*1858f998SYi Kong #define F77_zhbmv zhbmv_ 103*1858f998SYi Kong #define F77_zhpmv zhpmv_ 104*1858f998SYi Kong #define F77_zgeru zgeru_ 105*1858f998SYi Kong #define F77_zgerc zgerc_ 106*1858f998SYi Kong #define F77_zher zher_ 107*1858f998SYi Kong #define F77_zhpr zhpr_ 108*1858f998SYi Kong #define F77_zher2 zher2_ 109*1858f998SYi Kong #define F77_zhpr2 zhpr2_ 110*1858f998SYi Kong #define F77_sgemv sgemv_ 111*1858f998SYi Kong #define F77_sgbmv sgbmv_ 112*1858f998SYi Kong #define F77_strmv strmv_ 113*1858f998SYi Kong #define F77_stbmv stbmv_ 114*1858f998SYi Kong #define F77_stpmv stpmv_ 115*1858f998SYi Kong #define F77_strsv strsv_ 116*1858f998SYi Kong #define F77_stbsv stbsv_ 117*1858f998SYi Kong #define F77_stpsv stpsv_ 118*1858f998SYi Kong #define F77_dgemv dgemv_ 119*1858f998SYi Kong #define F77_dgbmv dgbmv_ 120*1858f998SYi Kong #define F77_dtrmv dtrmv_ 121*1858f998SYi Kong #define F77_dtbmv dtbmv_ 122*1858f998SYi Kong #define F77_dtpmv dtpmv_ 123*1858f998SYi Kong #define F77_dtrsv dtrsv_ 124*1858f998SYi Kong #define F77_dtbsv dtbsv_ 125*1858f998SYi Kong #define F77_dtpsv dtpsv_ 126*1858f998SYi Kong #define F77_cgemv cgemv_ 127*1858f998SYi Kong #define F77_cgbmv cgbmv_ 128*1858f998SYi Kong #define F77_ctrmv ctrmv_ 129*1858f998SYi Kong #define F77_ctbmv ctbmv_ 130*1858f998SYi Kong #define F77_ctpmv ctpmv_ 131*1858f998SYi Kong #define F77_ctrsv ctrsv_ 132*1858f998SYi Kong #define F77_ctbsv ctbsv_ 133*1858f998SYi Kong #define F77_ctpsv ctpsv_ 134*1858f998SYi Kong #define F77_zgemv zgemv_ 135*1858f998SYi Kong #define F77_zgbmv zgbmv_ 136*1858f998SYi Kong #define F77_ztrmv ztrmv_ 137*1858f998SYi Kong #define F77_ztbmv ztbmv_ 138*1858f998SYi Kong #define F77_ztpmv ztpmv_ 139*1858f998SYi Kong #define F77_ztrsv ztrsv_ 140*1858f998SYi Kong #define F77_ztbsv ztbsv_ 141*1858f998SYi Kong #define F77_ztpsv ztpsv_ 142*1858f998SYi Kong /* 143*1858f998SYi Kong * Level 3 BLAS 144*1858f998SYi Kong */ 145*1858f998SYi Kong #define F77_chemm chemm_ 146*1858f998SYi Kong #define F77_cherk cherk_ 147*1858f998SYi Kong #define F77_cher2k cher2k_ 148*1858f998SYi Kong #define F77_zhemm zhemm_ 149*1858f998SYi Kong #define F77_zherk zherk_ 150*1858f998SYi Kong #define F77_zher2k zher2k_ 151*1858f998SYi Kong #define F77_sgemm sgemm_ 152*1858f998SYi Kong #define F77_ssymm ssymm_ 153*1858f998SYi Kong #define F77_ssyrk ssyrk_ 154*1858f998SYi Kong #define F77_ssyr2k ssyr2k_ 155*1858f998SYi Kong #define F77_strmm strmm_ 156*1858f998SYi Kong #define F77_strsm strsm_ 157*1858f998SYi Kong #define F77_dgemm dgemm_ 158*1858f998SYi Kong #define F77_dsymm dsymm_ 159*1858f998SYi Kong #define F77_dsyrk dsyrk_ 160*1858f998SYi Kong #define F77_dsyr2k dsyr2k_ 161*1858f998SYi Kong #define F77_dtrmm dtrmm_ 162*1858f998SYi Kong #define F77_dtrsm dtrsm_ 163*1858f998SYi Kong #define F77_cgemm cgemm_ 164*1858f998SYi Kong #define F77_csymm csymm_ 165*1858f998SYi Kong #define F77_csyrk csyrk_ 166*1858f998SYi Kong #define F77_csyr2k csyr2k_ 167*1858f998SYi Kong #define F77_ctrmm ctrmm_ 168*1858f998SYi Kong #define F77_ctrsm ctrsm_ 169*1858f998SYi Kong #define F77_zgemm zgemm_ 170*1858f998SYi Kong #define F77_zsymm zsymm_ 171*1858f998SYi Kong #define F77_zsyrk zsyrk_ 172*1858f998SYi Kong #define F77_zsyr2k zsyr2k_ 173*1858f998SYi Kong #define F77_ztrmm ztrmm_ 174*1858f998SYi Kong #define F77_ztrsm ztrsm_ 175*1858f998SYi Kong 176*1858f998SYi Kong #ifdef __cplusplus 177*1858f998SYi Kong extern "C" { 178*1858f998SYi Kong #endif 179*1858f998SYi Kong 180*1858f998SYi Kong void F77_xerbla(FCHAR, void *); 181*1858f998SYi Kong /* 182*1858f998SYi Kong * Level 1 Fortran Prototypes 183*1858f998SYi Kong */ 184*1858f998SYi Kong 185*1858f998SYi Kong /* Single Precision */ 186*1858f998SYi Kong 187*1858f998SYi Kong void F77_srot(FINT, float *, FINT, float *, FINT, const float *, const float *); 188*1858f998SYi Kong void F77_srotg(float *,float *,float *,float *); 189*1858f998SYi Kong void F77_srotm( FINT, float *, FINT, float *, FINT, const float *); 190*1858f998SYi Kong void F77_srotmg(float *,float *,float *,const float *, float *); 191*1858f998SYi Kong void F77_sswap( FINT, float *, FINT, float *, FINT); 192*1858f998SYi Kong void F77_scopy( FINT, const float *, FINT, float *, FINT); 193*1858f998SYi Kong void F77_saxpy( FINT, const float *, const float *, FINT, float *, FINT); 194*1858f998SYi Kong void F77_sscal( FINT, const float *, float *, FINT); 195*1858f998SYi Kong 196*1858f998SYi Kong // Google-local: Use the function version of these, so that we don't need 197*1858f998SYi Kong // the built-in Fortran wrappers. 198*1858f998SYi Kong float F77_sdot(FINT, const float *, FINT, const float *, FINT); 199*1858f998SYi Kong float F77_sdsdot( FINT, const float *, const float *, FINT, const float *, FINT); 200*1858f998SYi Kong float F77_snrm2( FINT, const float *, FINT); 201*1858f998SYi Kong float F77_sasum( FINT, const float *, FINT); 202*1858f998SYi Kong int F77_isamax( FINT, const float *, FINT); 203*1858f998SYi Kong 204*1858f998SYi Kong /* Double Precision */ 205*1858f998SYi Kong 206*1858f998SYi Kong void F77_drot(FINT, double *, FINT, double *, FINT, const double *, const double *); 207*1858f998SYi Kong void F77_drotg(double *,double *,double *,double *); 208*1858f998SYi Kong void F77_drotm( FINT, double *, FINT, double *, FINT, const double *); 209*1858f998SYi Kong void F77_drotmg(double *,double *,double *,const double *, double *); 210*1858f998SYi Kong void F77_dswap( FINT, double *, FINT, double *, FINT); 211*1858f998SYi Kong void F77_dcopy( FINT, const double *, FINT, double *, FINT); 212*1858f998SYi Kong void F77_daxpy( FINT, const double *, const double *, FINT, double *, FINT); 213*1858f998SYi Kong void F77_dswap( FINT, double *, FINT, double *, FINT); 214*1858f998SYi Kong void F77_dscal( FINT, const double *, double *, FINT); 215*1858f998SYi Kong 216*1858f998SYi Kong // Google-local: Use the function version of these, so that we don't need 217*1858f998SYi Kong // the built-in Fortran wrappers. 218*1858f998SYi Kong double F77_ddot(FINT, const double *, FINT, const double *, FINT); 219*1858f998SYi Kong double F77_dsdot(FINT, const float *, FINT, const float *, FINT); 220*1858f998SYi Kong double F77_dnrm2( FINT, const double *, FINT); 221*1858f998SYi Kong double F77_dasum( FINT, const double *, FINT); 222*1858f998SYi Kong int F77_idamax( FINT, const double * , FINT); 223*1858f998SYi Kong 224*1858f998SYi Kong /* Single Complex Precision */ 225*1858f998SYi Kong 226*1858f998SYi Kong void F77_cswap( FINT, void *, FINT, void *, FINT); 227*1858f998SYi Kong void F77_ccopy( FINT, const void *, FINT, void *, FINT); 228*1858f998SYi Kong void F77_caxpy( FINT, const void *, const void *, FINT, void *, FINT); 229*1858f998SYi Kong void F77_cswap( FINT, void *, FINT, void *, FINT); 230*1858f998SYi Kong void F77_cdotc_sub( FINT, const void *, FINT, const void *, FINT, void *); 231*1858f998SYi Kong void F77_cdotu_sub( FINT, const void *, FINT, const void *, FINT, void *); 232*1858f998SYi Kong void F77_cscal( FINT, const void *, void *, FINT); 233*1858f998SYi Kong void F77_csscal( FINT, const float *, void *, FINT); 234*1858f998SYi Kong 235*1858f998SYi Kong // Google-local: Use the function version of these, so that we don't need 236*1858f998SYi Kong // the built-in Fortran wrappers. 237*1858f998SYi Kong int F77_icamax( FINT, const void *, FINT); 238*1858f998SYi Kong float F77_scnrm2( FINT, const void *, FINT); 239*1858f998SYi Kong float F77_scasum( FINT, const void *, FINT); 240*1858f998SYi Kong 241*1858f998SYi Kong /* Double Complex Precision */ 242*1858f998SYi Kong 243*1858f998SYi Kong void F77_zswap( FINT, void *, FINT, void *, FINT); 244*1858f998SYi Kong void F77_zcopy( FINT, const void *, FINT, void *, FINT); 245*1858f998SYi Kong void F77_zaxpy( FINT, const void *, const void *, FINT, void *, FINT); 246*1858f998SYi Kong void F77_zswap( FINT, void *, FINT, void *, FINT); 247*1858f998SYi Kong void F77_zdotc_sub( FINT, const void *, FINT, const void *, FINT, void *); 248*1858f998SYi Kong void F77_zdotu_sub( FINT, const void *, FINT, const void *, FINT, void *); 249*1858f998SYi Kong void F77_zdscal( FINT, const double *, void *, FINT); 250*1858f998SYi Kong void F77_zscal( FINT, const void *, void *, FINT); 251*1858f998SYi Kong 252*1858f998SYi Kong // Google-local: Use the function version of these, so that we don't need 253*1858f998SYi Kong // the built-in Fortran wrappers. 254*1858f998SYi Kong int F77_izamax( FINT, const void *, FINT); 255*1858f998SYi Kong double F77_dznrm2( FINT, const void *, FINT); 256*1858f998SYi Kong double F77_dzasum( FINT, const void *, FINT); 257*1858f998SYi Kong 258*1858f998SYi Kong /* 259*1858f998SYi Kong * Level 2 Fortran Prototypes 260*1858f998SYi Kong */ 261*1858f998SYi Kong 262*1858f998SYi Kong /* Single Precision */ 263*1858f998SYi Kong 264*1858f998SYi Kong void F77_sgemv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 265*1858f998SYi Kong void F77_sgbmv(FCHAR, FINT, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 266*1858f998SYi Kong void F77_ssymv(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 267*1858f998SYi Kong void F77_ssbmv(FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 268*1858f998SYi Kong void F77_sspmv(FCHAR, FINT, const float *, const float *, const float *, FINT, const float *, float *, FINT); 269*1858f998SYi Kong void F77_strmv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT); 270*1858f998SYi Kong void F77_stbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT); 271*1858f998SYi Kong void F77_strsv( FCHAR, FCHAR, FCHAR, FINT, const float *, FINT, float *, FINT); 272*1858f998SYi Kong void F77_stbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, FINT, float *, FINT); 273*1858f998SYi Kong void F77_stpmv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT); 274*1858f998SYi Kong void F77_stpsv( FCHAR, FCHAR, FCHAR, FINT, const float *, float *, FINT); 275*1858f998SYi Kong void F77_sger( FINT, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT); 276*1858f998SYi Kong void F77_ssyr(FCHAR, FINT, const float *, const float *, FINT, float *, FINT); 277*1858f998SYi Kong void F77_sspr(FCHAR, FINT, const float *, const float *, FINT, float *); 278*1858f998SYi Kong void F77_sspr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *); 279*1858f998SYi Kong void F77_ssyr2(FCHAR, FINT, const float *, const float *, FINT, const float *, FINT, float *, FINT); 280*1858f998SYi Kong 281*1858f998SYi Kong /* Double Precision */ 282*1858f998SYi Kong 283*1858f998SYi Kong void F77_dgemv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 284*1858f998SYi Kong void F77_dgbmv(FCHAR, FINT, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 285*1858f998SYi Kong void F77_dsymv(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 286*1858f998SYi Kong void F77_dsbmv(FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 287*1858f998SYi Kong void F77_dspmv(FCHAR, FINT, const double *, const double *, const double *, FINT, const double *, double *, FINT); 288*1858f998SYi Kong void F77_dtrmv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT); 289*1858f998SYi Kong void F77_dtbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT); 290*1858f998SYi Kong void F77_dtrsv( FCHAR, FCHAR, FCHAR, FINT, const double *, FINT, double *, FINT); 291*1858f998SYi Kong void F77_dtbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, FINT, double *, FINT); 292*1858f998SYi Kong void F77_dtpmv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT); 293*1858f998SYi Kong void F77_dtpsv( FCHAR, FCHAR, FCHAR, FINT, const double *, double *, FINT); 294*1858f998SYi Kong void F77_dger( FINT, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT); 295*1858f998SYi Kong void F77_dsyr(FCHAR, FINT, const double *, const double *, FINT, double *, FINT); 296*1858f998SYi Kong void F77_dspr(FCHAR, FINT, const double *, const double *, FINT, double *); 297*1858f998SYi Kong void F77_dspr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *); 298*1858f998SYi Kong void F77_dsyr2(FCHAR, FINT, const double *, const double *, FINT, const double *, FINT, double *, FINT); 299*1858f998SYi Kong 300*1858f998SYi Kong /* Single Complex Precision */ 301*1858f998SYi Kong 302*1858f998SYi Kong void F77_cgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 303*1858f998SYi Kong void F77_cgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 304*1858f998SYi Kong void F77_chemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 305*1858f998SYi Kong void F77_chbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 306*1858f998SYi Kong void F77_chpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT); 307*1858f998SYi Kong void F77_ctrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT); 308*1858f998SYi Kong void F77_ctbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT); 309*1858f998SYi Kong void F77_ctpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT); 310*1858f998SYi Kong void F77_ctrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT); 311*1858f998SYi Kong void F77_ctbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT); 312*1858f998SYi Kong void F77_ctpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT); 313*1858f998SYi Kong void F77_cgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 314*1858f998SYi Kong void F77_cgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 315*1858f998SYi Kong void F77_cher(FCHAR, FINT, const float *, const void *, FINT, void *, FINT); 316*1858f998SYi Kong void F77_cher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 317*1858f998SYi Kong void F77_chpr(FCHAR, FINT, const float *, const void *, FINT, void *); 318*1858f998SYi Kong void F77_chpr2(FCHAR, FINT, const float *, const void *, FINT, const void *, FINT, void *); 319*1858f998SYi Kong 320*1858f998SYi Kong /* Double Complex Precision */ 321*1858f998SYi Kong 322*1858f998SYi Kong void F77_zgemv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 323*1858f998SYi Kong void F77_zgbmv(FCHAR, FINT, FINT, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 324*1858f998SYi Kong void F77_zhemv(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 325*1858f998SYi Kong void F77_zhbmv(FCHAR, FINT, FINT, const void *, const void *, FINT, const void *, FINT, const void *, void *, FINT); 326*1858f998SYi Kong void F77_zhpmv(FCHAR, FINT, const void *, const void *, const void *, FINT, const void *, void *, FINT); 327*1858f998SYi Kong void F77_ztrmv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT); 328*1858f998SYi Kong void F77_ztbmv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT); 329*1858f998SYi Kong void F77_ztpmv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *, FINT); 330*1858f998SYi Kong void F77_ztrsv( FCHAR, FCHAR, FCHAR, FINT, const void *, FINT, void *, FINT); 331*1858f998SYi Kong void F77_ztbsv( FCHAR, FCHAR, FCHAR, FINT, FINT, const void *, FINT, void *, FINT); 332*1858f998SYi Kong void F77_ztpsv( FCHAR, FCHAR, FCHAR, FINT, const void *, void *,FINT); 333*1858f998SYi Kong void F77_zgerc( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 334*1858f998SYi Kong void F77_zgeru( FINT, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 335*1858f998SYi Kong void F77_zher(FCHAR, FINT, const double *, const void *, FINT, void *, FINT); 336*1858f998SYi Kong void F77_zher2(FCHAR, FINT, const void *, const void *, FINT, const void *, FINT, void *, FINT); 337*1858f998SYi Kong void F77_zhpr(FCHAR, FINT, const double *, const void *, FINT, void *); 338*1858f998SYi Kong void F77_zhpr2(FCHAR, FINT, const double *, const void *, FINT, const void *, FINT, void *); 339*1858f998SYi Kong 340*1858f998SYi Kong /* 341*1858f998SYi Kong * Level 3 Fortran Prototypes 342*1858f998SYi Kong */ 343*1858f998SYi Kong 344*1858f998SYi Kong /* Single Precision */ 345*1858f998SYi Kong 346*1858f998SYi Kong void F77_sgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 347*1858f998SYi Kong void F77_ssymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 348*1858f998SYi Kong void F77_ssyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT); 349*1858f998SYi Kong void F77_ssyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 350*1858f998SYi Kong void F77_strmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT); 351*1858f998SYi Kong void F77_strsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT); 352*1858f998SYi Kong 353*1858f998SYi Kong /* Double Precision */ 354*1858f998SYi Kong 355*1858f998SYi Kong void F77_dgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 356*1858f998SYi Kong void F77_dsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 357*1858f998SYi Kong void F77_dsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT); 358*1858f998SYi Kong void F77_dsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 359*1858f998SYi Kong void F77_dtrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT); 360*1858f998SYi Kong void F77_dtrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT); 361*1858f998SYi Kong 362*1858f998SYi Kong /* Single Complex Precision */ 363*1858f998SYi Kong 364*1858f998SYi Kong void F77_cgemm(FCHAR, FCHAR, FINT, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 365*1858f998SYi Kong void F77_csymm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 366*1858f998SYi Kong void F77_chemm(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 367*1858f998SYi Kong void F77_csyrk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT); 368*1858f998SYi Kong void F77_cherk(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, float *, FINT); 369*1858f998SYi Kong void F77_csyr2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 370*1858f998SYi Kong void F77_cher2k(FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, const float *, FINT, const float *, float *, FINT); 371*1858f998SYi Kong void F77_ctrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT); 372*1858f998SYi Kong void F77_ctrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const float *, const float *, FINT, float *, FINT); 373*1858f998SYi Kong 374*1858f998SYi Kong /* Double Complex Precision */ 375*1858f998SYi Kong 376*1858f998SYi Kong void F77_zgemm(FCHAR, FCHAR, FINT, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 377*1858f998SYi Kong void F77_zsymm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 378*1858f998SYi Kong void F77_zhemm(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 379*1858f998SYi Kong void F77_zsyrk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT); 380*1858f998SYi Kong void F77_zherk(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, double *, FINT); 381*1858f998SYi Kong void F77_zsyr2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 382*1858f998SYi Kong void F77_zher2k(FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, const double *, FINT, const double *, double *, FINT); 383*1858f998SYi Kong void F77_ztrmm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT); 384*1858f998SYi Kong void F77_ztrsm(FCHAR, FCHAR, FCHAR, FCHAR, FINT, FINT, const double *, const double *, FINT, double *, FINT); 385*1858f998SYi Kong 386*1858f998SYi Kong #ifdef __cplusplus 387*1858f998SYi Kong } 388*1858f998SYi Kong #endif 389*1858f998SYi Kong 390*1858f998SYi Kong #endif /* CBLAS_F77_H */ 391