libflame
revision_anchor
|
00001 /* 00002 00003 Copyright (C) 2014, The University of Texas at Austin 00004 00005 This file is part of libflame and is available under the 3-Clause 00006 BSD license, which can be found in the LICENSE file at the top-level 00007 directory, or at http://opensource.org/licenses/BSD-3-Clause 00008 00009 */ 00010 00011 // --- Level-2 BLAS-like prototypes -------------------------------------------- 00012 00013 // --- gemv --- 00014 00015 void bl1_sgemv( trans1_t transa, conj1_t conjx, int m, int n, float* alpha, float* a, int a_rs, int a_cs, float* x, int incx, float* beta, float* y, int incy ); 00016 void bl1_dgemv( trans1_t transa, conj1_t conjx, int m, int n, double* alpha, double* a, int a_rs, int a_cs, double* x, int incx, double* beta, double* y, int incy ); 00017 void bl1_cgemv( trans1_t transa, conj1_t conjx, int m, int n, scomplex* alpha, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00018 void bl1_zgemv( trans1_t transa, conj1_t conjx, int m, int n, dcomplex* alpha, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00019 00020 void bl1_sgemv_blas( trans1_t transa, int m, int n, float* alpha, float* a, int lda, float* x, int incx, float* beta, float* y, int incy ); 00021 void bl1_dgemv_blas( trans1_t transa, int m, int n, double* alpha, double* a, int lda, double* x, int incx, double* beta, double* y, int incy ); 00022 void bl1_cgemv_blas( trans1_t transa, int m, int n, scomplex* alpha, scomplex* a, int lda, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00023 void bl1_zgemv_blas( trans1_t transa, int m, int n, dcomplex* alpha, dcomplex* a, int lda, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00024 00025 // --- ger --- 00026 00027 void bl1_sger( conj1_t conjx, conj1_t conjy, int m, int n, float* alpha, float* x, int incx, float* y, int incy, float* a, int a_rs, int a_cs ); 00028 void bl1_dger( conj1_t conjx, conj1_t conjy, int m, int n, double* alpha, double* x, int incx, double* y, int incy, double* a, int a_rs, int a_cs ); 00029 void bl1_cger( conj1_t conjx, conj1_t conjy, int m, int n, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int a_rs, int a_cs ); 00030 void bl1_zger( conj1_t conjx, conj1_t conjy, int m, int n, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int a_rs, int a_cs ); 00031 00032 void bl1_sger_blas( int m, int n, float* alpha, float* x, int incx, float* y, int incy, float* a, int lda ); 00033 void bl1_dger_blas( int m, int n, double* alpha, double* x, int incx, double* y, int incy, double* a, int lda ); 00034 void bl1_cgerc_blas( int m, int n, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int lda ); 00035 void bl1_cgeru_blas( int m, int n, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int lda ); 00036 void bl1_zgerc_blas( int m, int n, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int lda ); 00037 void bl1_zgeru_blas( int m, int n, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int lda ); 00038 00039 // --- hemv --- 00040 00041 void bl1_shemv( uplo1_t uplo, conj1_t conj, int m, float* alpha, float* a, int a_rs, int a_cs, float* x, int incx, float* beta, float* y, int incy ); 00042 void bl1_dhemv( uplo1_t uplo, conj1_t conj, int m, double* alpha, double* a, int a_rs, int a_cs, double* x, int incx, double* beta, double* y, int incy ); 00043 void bl1_chemv( uplo1_t uplo, conj1_t conj, int m, scomplex* alpha, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00044 void bl1_zhemv( uplo1_t uplo, conj1_t conj, int m, dcomplex* alpha, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00045 00046 void bl1_chemv_blas( uplo1_t uplo, int m, scomplex* alpha, scomplex* a, int lda, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00047 void bl1_zhemv_blas( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* a, int lda, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00048 00049 // --- her --- 00050 00051 void bl1_sher( uplo1_t uplo, conj1_t conj, int m, float* alpha, float* x, int incx, float* a, int a_rs, int a_cs ); 00052 void bl1_dher( uplo1_t uplo, conj1_t conj, int m, double* alpha, double* x, int incx, double* a, int a_rs, int a_cs ); 00053 void bl1_cher( uplo1_t uplo, conj1_t conj, int m, float* alpha, scomplex* x, int incx, scomplex* a, int a_rs, int a_cs ); 00054 void bl1_zher( uplo1_t uplo, conj1_t conj, int m, double* alpha, dcomplex* x, int incx, dcomplex* a, int a_rs, int a_cs ); 00055 00056 void bl1_cher_blas( uplo1_t uplo, int m, float* alpha, scomplex* x, int incx, scomplex* a, int lda ); 00057 void bl1_zher_blas( uplo1_t uplo, int m, double* alpha, dcomplex* x, int incx, dcomplex* a, int lda ); 00058 00059 // --- her2 --- 00060 00061 void bl1_sher2( uplo1_t uplo, conj1_t conj, int m, float* alpha, float* x, int incx, float* y, int incy, float* a, int a_rs, int a_cs ); 00062 void bl1_dher2( uplo1_t uplo, conj1_t conj, int m, double* alpha, double* x, int incx, double* y, int incy, double* a, int a_rs, int a_cs ); 00063 void bl1_cher2( uplo1_t uplo, conj1_t conj, int m, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int a_rs, int a_cs ); 00064 void bl1_zher2( uplo1_t uplo, conj1_t conj, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int a_rs, int a_cs ); 00065 00066 void bl1_cher2_blas( uplo1_t uplo, int m, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int lda ); 00067 void bl1_zher2_blas( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int lda ); 00068 00069 // --- symv --- 00070 00071 void bl1_ssymv( uplo1_t uplo, int m, float* alpha, float* a, int a_rs, int a_cs, float* x, int incx, float* beta, float* y, int incy ); 00072 void bl1_dsymv( uplo1_t uplo, int m, double* alpha, double* a, int a_rs, int a_cs, double* x, int incx, double* beta, double* y, int incy ); 00073 void bl1_csymv( uplo1_t uplo, int m, scomplex* alpha, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00074 void bl1_zsymv( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00075 00076 void bl1_ssymv_blas( uplo1_t uplo, int m, float* alpha, float* a, int lda, float* x, int incx, float* beta, float* y, int incy ); 00077 void bl1_dsymv_blas( uplo1_t uplo, int m, double* alpha, double* a, int lda, double* x, int incx, double* beta, double* y, int incy ); 00078 void bl1_csymv_blas( uplo1_t uplo, int m, scomplex* alpha, scomplex* a, int lda, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00079 void bl1_zsymv_blas( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* a, int lda, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00080 00081 // --- syr --- 00082 00083 void bl1_ssyr( uplo1_t uplo, int m, float* alpha, float* x, int incx, float* a, int a_rs, int a_cs ); 00084 void bl1_dsyr( uplo1_t uplo, int m, double* alpha, double* x, int incx, double* a, int a_rs, int a_cs ); 00085 void bl1_csyr( uplo1_t uplo, int m, scomplex* alpha, scomplex* x, int incx, scomplex* a, int a_rs, int a_cs ); 00086 void bl1_zsyr( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* a, int a_rs, int a_cs ); 00087 00088 void bl1_ssyr_blas( uplo1_t uplo, int m, float* alpha, float* x, int incx, float* a, int lda ); 00089 void bl1_dsyr_blas( uplo1_t uplo, int m, double* alpha, double* x, int incx, double* a, int lda ); 00090 void bl1_csyr_blas( uplo1_t uplo, int m, scomplex* alpha, scomplex* x, int incx, scomplex* a, int lda ); 00091 void bl1_zsyr_blas( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* a, int lda ); 00092 00093 // --- syr2 --- 00094 00095 void bl1_ssyr2( uplo1_t uplo, int m, float* alpha, float* x, int incx, float* y, int incy, float* a, int a_rs, int a_cs ); 00096 void bl1_dsyr2( uplo1_t uplo, int m, double* alpha, double* x, int incx, double* y, int incy, double* a, int a_rs, int a_cs ); 00097 void bl1_csyr2( uplo1_t uplo, int m, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int a_rs, int a_cs ); 00098 void bl1_zsyr2( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int a_rs, int a_cs ); 00099 00100 void bl1_ssyr2_blas( uplo1_t uplo, int m, float* alpha, float* x, int incx, float* y, int incy, float* a, int lda ); 00101 void bl1_dsyr2_blas( uplo1_t uplo, int m, double* alpha, double* x, int incx, double* y, int incy, double* a, int lda ); 00102 void bl1_csyr2_blas( uplo1_t uplo, int m, scomplex* alpha, scomplex* x, int incx, scomplex* y, int incy, scomplex* a, int lda ); 00103 void bl1_zsyr2_blas( uplo1_t uplo, int m, dcomplex* alpha, dcomplex* x, int incx, dcomplex* y, int incy, dcomplex* a, int lda ); 00104 00105 // --- trmv --- 00106 00107 void bl1_strmv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* a, int a_rs, int a_cs, float* x, int incx ); 00108 void bl1_dtrmv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* a, int a_rs, int a_cs, double* x, int incx ); 00109 void bl1_ctrmv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx ); 00110 void bl1_ztrmv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx ); 00111 00112 void bl1_strmv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* a, int lda, float* x, int incx ); 00113 void bl1_dtrmv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* a, int lda, double* x, int incx ); 00114 void bl1_ctrmv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* a, int lda, scomplex* x, int incx ); 00115 void bl1_ztrmv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* a, int lda, dcomplex* x, int incx ); 00116 00117 // --- trsv --- 00118 00119 void bl1_strsv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* a, int a_rs, int a_cs, float* x, int incx ); 00120 void bl1_dtrsv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* a, int a_rs, int a_cs, double* x, int incx ); 00121 void bl1_ctrsv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx ); 00122 void bl1_ztrsv( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx ); 00123 00124 void bl1_strsv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* a, int lda, float* x, int incx ); 00125 void bl1_dtrsv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* a, int lda, double* x, int incx ); 00126 void bl1_ctrsv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* a, int lda, scomplex* x, int incx ); 00127 void bl1_ztrsv_blas( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* a, int lda, dcomplex* x, int incx ); 00128 00129 // --- trmvsx --- 00130 00131 void bl1_strmvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* alpha, float* a, int a_rs, int a_cs, float* x, int incx, float* beta, float* y, int incy ); 00132 void bl1_dtrmvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* alpha, double* a, int a_rs, int a_cs, double* x, int incx, double* beta, double* y, int incy ); 00133 void bl1_ctrmvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* alpha, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00134 void bl1_ztrmvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* alpha, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00135 00136 // --- trsvsx --- 00137 00138 void bl1_strsvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float* alpha, float* a, int a_rs, int a_cs, float* x, int incx, float* beta, float* y, int incy ); 00139 void bl1_dtrsvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double* alpha, double* a, int a_rs, int a_cs, double* x, int incx, double* beta, double* y, int incy ); 00140 void bl1_ctrsvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex* alpha, scomplex* a, int a_rs, int a_cs, scomplex* x, int incx, scomplex* beta, scomplex* y, int incy ); 00141 void bl1_ztrsvsx( uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex* alpha, dcomplex* a, int a_rs, int a_cs, dcomplex* x, int incx, dcomplex* beta, dcomplex* y, int incy ); 00142