| @@ -327,6 +327,14 @@ void cblas_comatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum | |||||
| void cblas_zomatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST double* calpha, OPENBLAS_CONST double* a, | void cblas_zomatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST double* calpha, OPENBLAS_CONST double* a, | ||||
| OPENBLAS_CONST blasint clda, double *b, OPENBLAS_CONST blasint cldb); | OPENBLAS_CONST blasint clda, double *b, OPENBLAS_CONST blasint cldb); | ||||
| void cblas_simatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST float calpha, float *a, | |||||
| OPENBLAS_CONST blasint clda, OPENBLAS_CONST blasint cldb); | |||||
| void cblas_dimatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST double calpha, double *a, | |||||
| OPENBLAS_CONST blasint clda, OPENBLAS_CONST blasint cldb); | |||||
| void cblas_cimatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST float* calpha, float* a, | |||||
| OPENBLAS_CONST blasint clda, OPENBLAS_CONST blasint cldb); | |||||
| void cblas_zimatcopy(OPENBLAS_CONST enum CBLAS_ORDER CORDER, OPENBLAS_CONST enum CBLAS_TRANSPOSE CTRANS, OPENBLAS_CONST blasint crows, OPENBLAS_CONST blasint ccols, OPENBLAS_CONST double* calpha, double* a, | |||||
| OPENBLAS_CONST blasint clda, OPENBLAS_CONST blasint cldb); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| @@ -315,6 +315,14 @@ void cblas_comatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, bl | |||||
| void cblas_zomatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, void* calpha, void* a, | void cblas_zomatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, void* calpha, void* a, | ||||
| blasint clda, void *b, blasint cldb); | blasint clda, void *b, blasint cldb); | ||||
| void cblas_simatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, float calpha, float *a, | |||||
| blasint clda, blasint cldb); | |||||
| void cblas_dimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, double calpha, double *a, | |||||
| blasint clda, blasint cldb); | |||||
| void cblas_cimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, float* calpha, float* a, | |||||
| blasint clda, blasint cldb); | |||||
| void cblas_zimatcopy( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, double* calpha, double* a, | |||||
| blasint clda, blasint cldb); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif /* __cplusplus */ | #endif /* __cplusplus */ | ||||
| @@ -53,7 +53,8 @@ | |||||
| cblas_ztbmv, cblas_ztbsv, cblas_ztpmv, cblas_ztpsv, cblas_ztrmm, cblas_ztrmv, cblas_ztrsm, | cblas_ztbmv, cblas_ztbsv, cblas_ztpmv, cblas_ztpsv, cblas_ztrmm, cblas_ztrmv, cblas_ztrsm, | ||||
| cblas_ztrsv, cblas_cdotc_sub, cblas_cdotu_sub, cblas_zdotc_sub, cblas_zdotu_sub, | cblas_ztrsv, cblas_cdotc_sub, cblas_cdotu_sub, cblas_zdotc_sub, cblas_zdotu_sub, | ||||
| cblas_saxpby,cblas_daxpby,cblas_caxpby,cblas_zaxpby, | cblas_saxpby,cblas_daxpby,cblas_caxpby,cblas_zaxpby, | ||||
| cblas_somatcopy, cblas_domatcopy, cblas_comatcopy, cblas_zomatcopy | |||||
| cblas_somatcopy, cblas_domatcopy, cblas_comatcopy, cblas_zomatcopy, | |||||
| cblas_simatcopy, cblas_dimatcopy, cblas_cimatcopy, cblas_zimatcopy | |||||
| ); | ); | ||||
| @exblasobjs = ( | @exblasobjs = ( | ||||
| @@ -267,7 +267,7 @@ CSBLAS2OBJS = \ | |||||
| CSBLAS3OBJS = \ | CSBLAS3OBJS = \ | ||||
| cblas_sgemm.$(SUFFIX) cblas_ssymm.$(SUFFIX) cblas_strmm.$(SUFFIX) cblas_strsm.$(SUFFIX) \ | cblas_sgemm.$(SUFFIX) cblas_ssymm.$(SUFFIX) cblas_strmm.$(SUFFIX) cblas_strsm.$(SUFFIX) \ | ||||
| cblas_ssyrk.$(SUFFIX) cblas_ssyr2k.$(SUFFIX) cblas_somatcopy.$(SUFFIX) | |||||
| cblas_ssyrk.$(SUFFIX) cblas_ssyr2k.$(SUFFIX) cblas_somatcopy.$(SUFFIX) cblas_simatcopy.$(SUFFIX) | |||||
| CDBLAS1OBJS = \ | CDBLAS1OBJS = \ | ||||
| cblas_idamax.$(SUFFIX) cblas_dasum.$(SUFFIX) cblas_daxpy.$(SUFFIX) \ | cblas_idamax.$(SUFFIX) cblas_dasum.$(SUFFIX) cblas_daxpy.$(SUFFIX) \ | ||||
| @@ -283,7 +283,7 @@ CDBLAS2OBJS = \ | |||||
| CDBLAS3OBJS += \ | CDBLAS3OBJS += \ | ||||
| cblas_dgemm.$(SUFFIX) cblas_dsymm.$(SUFFIX) cblas_dtrmm.$(SUFFIX) cblas_dtrsm.$(SUFFIX) \ | cblas_dgemm.$(SUFFIX) cblas_dsymm.$(SUFFIX) cblas_dtrmm.$(SUFFIX) cblas_dtrsm.$(SUFFIX) \ | ||||
| cblas_dsyrk.$(SUFFIX) cblas_dsyr2k.$(SUFFIX) cblas_domatcopy.$(SUFFIX) | |||||
| cblas_dsyrk.$(SUFFIX) cblas_dsyr2k.$(SUFFIX) cblas_domatcopy.$(SUFFIX) cblas_dimatcopy.$(SUFFIX) | |||||
| CCBLAS1OBJS = \ | CCBLAS1OBJS = \ | ||||
| cblas_icamax.$(SUFFIX) cblas_scasum.$(SUFFIX) cblas_caxpy.$(SUFFIX) \ | cblas_icamax.$(SUFFIX) cblas_scasum.$(SUFFIX) cblas_caxpy.$(SUFFIX) \ | ||||
| @@ -306,7 +306,8 @@ CCBLAS3OBJS = \ | |||||
| cblas_cgemm.$(SUFFIX) cblas_csymm.$(SUFFIX) cblas_ctrmm.$(SUFFIX) cblas_ctrsm.$(SUFFIX) \ | cblas_cgemm.$(SUFFIX) cblas_csymm.$(SUFFIX) cblas_ctrmm.$(SUFFIX) cblas_ctrsm.$(SUFFIX) \ | ||||
| cblas_csyrk.$(SUFFIX) cblas_csyr2k.$(SUFFIX) \ | cblas_csyrk.$(SUFFIX) cblas_csyr2k.$(SUFFIX) \ | ||||
| cblas_chemm.$(SUFFIX) cblas_cherk.$(SUFFIX) cblas_cher2k.$(SUFFIX) \ | cblas_chemm.$(SUFFIX) cblas_cherk.$(SUFFIX) cblas_cher2k.$(SUFFIX) \ | ||||
| cblas_comatcopy.$(SUFFIX) | |||||
| cblas_comatcopy.$(SUFFIX) cblas_cimatcopy.$(SUFFIX) | |||||
| CZBLAS1OBJS = \ | CZBLAS1OBJS = \ | ||||
| cblas_izamax.$(SUFFIX) cblas_dzasum.$(SUFFIX) cblas_zaxpy.$(SUFFIX) \ | cblas_izamax.$(SUFFIX) cblas_dzasum.$(SUFFIX) cblas_zaxpy.$(SUFFIX) \ | ||||
| @@ -329,7 +330,8 @@ CZBLAS3OBJS = \ | |||||
| cblas_zgemm.$(SUFFIX) cblas_zsymm.$(SUFFIX) cblas_ztrmm.$(SUFFIX) cblas_ztrsm.$(SUFFIX) \ | cblas_zgemm.$(SUFFIX) cblas_zsymm.$(SUFFIX) cblas_ztrmm.$(SUFFIX) cblas_ztrsm.$(SUFFIX) \ | ||||
| cblas_zsyrk.$(SUFFIX) cblas_zsyr2k.$(SUFFIX) \ | cblas_zsyrk.$(SUFFIX) cblas_zsyr2k.$(SUFFIX) \ | ||||
| cblas_zhemm.$(SUFFIX) cblas_zherk.$(SUFFIX) cblas_zher2k.$(SUFFIX)\ | cblas_zhemm.$(SUFFIX) cblas_zherk.$(SUFFIX) cblas_zher2k.$(SUFFIX)\ | ||||
| cblas_zomatcopy.$(SUFFIX) | |||||
| cblas_zomatcopy.$(SUFFIX) cblas_zimatcopy.$(SUFFIX) | |||||
| ifndef NO_CBLAS | ifndef NO_CBLAS | ||||
| @@ -2061,13 +2063,25 @@ cblas_zomatcopy.$(SUFFIX) cblas_zomatcopy.$(PSUFFIX) : zomatcopy.c | |||||
| dimatcopy.$(SUFFIX) dimatcopy.$(PSUFFIX) : imatcopy.c | dimatcopy.$(SUFFIX) dimatcopy.$(PSUFFIX) : imatcopy.c | ||||
| $(CC) -c $(CFLAGS) $< -o $(@F) | $(CC) -c $(CFLAGS) $< -o $(@F) | ||||
| cblas_dimatcopy.$(SUFFIX) cblas_dimatcopy.$(PSUFFIX) : imatcopy.c | |||||
| $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) | |||||
| simatcopy.$(SUFFIX) simatcopy.$(PSUFFIX) : imatcopy.c | simatcopy.$(SUFFIX) simatcopy.$(PSUFFIX) : imatcopy.c | ||||
| $(CC) -c $(CFLAGS) $< -o $(@F) | $(CC) -c $(CFLAGS) $< -o $(@F) | ||||
| cblas_simatcopy.$(SUFFIX) cblas_simatcopy.$(PSUFFIX) : imatcopy.c | |||||
| $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) | |||||
| cimatcopy.$(SUFFIX) cimatcopy.$(PSUFFIX) : zimatcopy.c | cimatcopy.$(SUFFIX) cimatcopy.$(PSUFFIX) : zimatcopy.c | ||||
| $(CC) -c $(CFLAGS) $< -o $(@F) | $(CC) -c $(CFLAGS) $< -o $(@F) | ||||
| cblas_cimatcopy.$(SUFFIX) cblas_cimatcopy.$(PSUFFIX) : zimatcopy.c | |||||
| $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) | |||||
| zimatcopy.$(SUFFIX) zimatcopy.$(PSUFFIX) : zimatcopy.c | zimatcopy.$(SUFFIX) zimatcopy.$(PSUFFIX) : zimatcopy.c | ||||
| $(CC) -c $(CFLAGS) $< -o $(@F) | $(CC) -c $(CFLAGS) $< -o $(@F) | ||||
| cblas_zimatcopy.$(SUFFIX) cblas_zimatcopy.$(PSUFFIX) : zimatcopy.c | |||||
| $(CC) -c $(CFLAGS) -DCBLAS $< -o $(@F) | |||||
| @@ -50,6 +50,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #undef malloc | #undef malloc | ||||
| #undef free | #undef free | ||||
| #ifndef CBLAS | |||||
| void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb) | void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb) | ||||
| { | { | ||||
| @@ -71,6 +72,28 @@ void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, | |||||
| if ( Trans == 'R' ) trans = BlasNoTrans; | if ( Trans == 'R' ) trans = BlasNoTrans; | ||||
| if ( Trans == 'T' ) trans = BlasTrans; | if ( Trans == 'T' ) trans = BlasTrans; | ||||
| if ( Trans == 'C' ) trans = BlasTrans; | if ( Trans == 'C' ) trans = BlasTrans; | ||||
| #else | |||||
| void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, FLOAT calpha, FLOAT *a, blasint clda, blasint cldb) | |||||
| { | |||||
| char Order, Trans; | |||||
| int order=-1,trans=-1; | |||||
| blasint info = -1; | |||||
| FLOAT *b; | |||||
| size_t msize; | |||||
| blasint *lda, *ldb, *rows, *cols; | |||||
| FLOAT *alpha; | |||||
| if ( CORDER == CblasColMajor) order = BlasColMajor; | |||||
| if ( CORDER == CblasRowMajor) order = BlasRowMajor; | |||||
| if ( CTRANS == CblasNoTrans || CTRANS == CblasConjNoTrans) trans = BlasNoTrans; | |||||
| if ( CTRANS == CblasTrans || CTRANS == CblasConjTrans ) trans = BlasTrans; | |||||
| rows = &crows; | |||||
| cols = &ccols; | |||||
| alpha = &calpha; | |||||
| lda = &clda; | |||||
| ldb = &cldb; | |||||
| #endif | |||||
| if ( order == BlasColMajor) | if ( order == BlasColMajor) | ||||
| { | { | ||||
| @@ -49,6 +49,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #define BlasTransConj 2 | #define BlasTransConj 2 | ||||
| #define BlasConj 3 | #define BlasConj 3 | ||||
| #ifndef CBLAS | |||||
| void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb) | void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, FLOAT *a, blasint *lda, blasint *ldb) | ||||
| { | { | ||||
| @@ -71,6 +73,30 @@ void NAME( char* ORDER, char* TRANS, blasint *rows, blasint *cols, FLOAT *alpha, | |||||
| if ( Trans == 'C' ) trans = BlasTransConj; | if ( Trans == 'C' ) trans = BlasTransConj; | ||||
| if ( Trans == 'R' ) trans = BlasConj; | if ( Trans == 'R' ) trans = BlasConj; | ||||
| #else | |||||
| void CNAME( enum CBLAS_ORDER CORDER, enum CBLAS_TRANSPOSE CTRANS, blasint crows, blasint ccols, FLOAT *alpha, FLOAT *a, blasint clda, blasint cldb) | |||||
| { | |||||
| blasint *rows, *cols, *lda, *ldb; | |||||
| int order=-1,trans=-1; | |||||
| blasint info = -1; | |||||
| FLOAT *b; | |||||
| size_t msize; | |||||
| if ( CORDER == CblasColMajor ) order = BlasColMajor; | |||||
| if ( CORDER == CblasRowMajor ) order = BlasRowMajor; | |||||
| if ( CTRANS == CblasNoTrans) trans = BlasNoTrans; | |||||
| if ( CTRANS == CblasConjNoTrans ) trans = BlasConj; | |||||
| if ( CTRANS == CblasTrans) trans = BlasTrans; | |||||
| if ( CTRANS == CblasConjTrans) trans = BlasTransConj; | |||||
| rows = &crows; | |||||
| cols = &ccols; | |||||
| lda = &clda; | |||||
| ldb = &cldb; | |||||
| #endif | |||||
| if ( order == BlasColMajor) | if ( order == BlasColMajor) | ||||
| { | { | ||||
| if ( trans == BlasNoTrans && *ldb < *rows ) info = 9; | if ( trans == BlasNoTrans && *ldb < *rows ) info = 9; | ||||