diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/Makefile.am --- a/cblas/Makefile.am Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/Makefile.am Tue Oct 12 14:34:12 2010 +0200 @@ -12,7 +12,7 @@ libgslcblas_la_SOURCES = sasum.c saxpy.c scasum.c scnrm2.c scopy.c sdot.c sdsdot.c sgbmv.c sgemm.c sgemv.c sger.c snrm2.c srot.c srotg.c srotm.c srotmg.c ssbmv.c sscal.c sspmv.c sspr.c sspr2.c sswap.c ssymm.c ssymv.c ssyr.c ssyr2.c ssyr2k.c ssyrk.c stbmv.c stbsv.c stpmv.c stpsv.c strmm.c strmv.c strsm.c strsv.c dasum.c daxpy.c dcopy.c ddot.c dgbmv.c dgemm.c dgemv.c dger.c dnrm2.c drot.c drotg.c drotm.c drotmg.c dsbmv.c dscal.c dsdot.c dspmv.c dspr.c dspr2.c dswap.c dsymm.c dsymv.c dsyr.c dsyr2.c dsyr2k.c dsyrk.c dtbmv.c dtbsv.c dtpmv.c dtpsv.c dtrmm.c dtrmv.c dtrsm.c dtrsv.c dzasum.c dznrm2.c caxpy.c ccopy.c cdotc_sub.c cdotu_sub.c cgbmv.c cgemm.c cgemv.c cgerc.c cgeru.c chbmv.c chemm.c chemv.c cher.c cher2.c cher2k.c cherk.c chpmv.c chpr.c chpr2.c cscal.c csscal.c cswap.c csymm.c csyr2k.c csyrk.c ctbmv.c ctbsv.c ctpmv.c ctpsv.c ctrmm.c ctrmv.c ctrsm.c ctrsv.c zaxpy.c zcopy.c zdotc_sub.c zdotu_sub.c zdscal.c zgbmv.c zgemm.c zgemv.c zgerc.c zgeru.c zhbmv.c zhemm.c zhemv.c zher.c zher2.c zher2k.c zherk.c zhpmv.c zhpr.c zhpr2.c zscal.c zswap.c zsymm.c zsyr2k.c zsyrk.c ztbmv.c ztbsv.c ztpmv.c ztpsv.c ztrmm.c ztrmv.c ztrsm.c ztrsv.c icamax.c idamax.c isamax.c izamax.c xerbla.c -noinst_HEADERS = tests.c tests.h error_cblas.h error_cblas_l2.h cblas.h source_asum_c.h source_asum_r.h source_axpy_c.h source_axpy_r.h source_copy_c.h source_copy_r.h source_dot_c.h source_dot_r.h source_gbmv_c.h source_gbmv_r.h source_gemm_c.h source_gemm_r.h source_gemv_c.h source_gemv_r.h source_ger.h source_gerc.h source_geru.h source_hbmv.h source_hemm.h source_hemv.h source_her.h source_her2.h source_her2k.h source_herk.h source_hpmv.h source_hpr.h source_hpr2.h source_iamax_c.h source_iamax_r.h source_nrm2_c.h source_nrm2_r.h source_rot.h source_rotg.h source_rotm.h source_rotmg.h source_sbmv.h source_scal_c.h source_scal_c_s.h source_scal_r.h source_spmv.h source_spr.h source_spr2.h source_swap_c.h source_swap_r.h source_symm_c.h source_symm_r.h source_symv.h source_syr.h source_syr2.h source_syr2k_c.h source_syr2k_r.h source_syrk_c.h source_syrk_r.h source_tbmv_c.h source_tbmv_r.h source_tbsv_c.h source_tbsv_r.h source_tpmv_c.h source_tpmv_r.h source_tpsv_c.h source_tpsv_r.h source_trmm_c.h source_trmm_r.h source_trmv_c.h source_trmv_r.h source_trsm_c.h source_trsm_r.h source_trsv_c.h source_trsv_r.h hypot.c +noinst_HEADERS = tests.c tests.h error_cblas.h error_cblas_l2.h error_cblas_l3.h cblas.h source_asum_c.h source_asum_r.h source_axpy_c.h source_axpy_r.h source_copy_c.h source_copy_r.h source_dot_c.h source_dot_r.h source_gbmv_c.h source_gbmv_r.h source_gemm_c.h source_gemm_r.h source_gemv_c.h source_gemv_r.h source_ger.h source_gerc.h source_geru.h source_hbmv.h source_hemm.h source_hemv.h source_her.h source_her2.h source_her2k.h source_herk.h source_hpmv.h source_hpr.h source_hpr2.h source_iamax_c.h source_iamax_r.h source_nrm2_c.h source_nrm2_r.h source_rot.h source_rotg.h source_rotm.h source_rotmg.h source_sbmv.h source_scal_c.h source_scal_c_s.h source_scal_r.h source_spmv.h source_spr.h source_spr2.h source_swap_c.h source_swap_r.h source_symm_c.h source_symm_r.h source_symv.h source_syr.h source_syr2.h source_syr2k_c.h source_syr2k_r.h source_syrk_c.h source_syrk_r.h source_tbmv_c.h source_tbmv_r.h source_tbsv_c.h source_tbsv_r.h source_tpmv_c.h source_tpmv_r.h source_tpsv_c.h source_tpsv_r.h source_trmm_c.h source_trmm_r.h source_trmv_c.h source_trmv_r.h source_trsm_c.h source_trsm_r.h source_trsv_c.h source_trsv_r.h hypot.c check_PROGRAMS = test TESTS = $(check_PROGRAMS) diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/cgemm.c --- a/cblas/cgemm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/cgemm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_cgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/chemm.c --- a/cblas/chemm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/chemm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_chemm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/cher2k.c --- a/cblas/cher2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/cher2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_cher2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/cherk.c --- a/cblas/cherk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/cherk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_cherk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/csymm.c --- a/cblas/csymm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/csymm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_csymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/csyr2k.c --- a/cblas/csyr2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/csyr2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_csyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/csyrk.c --- a/cblas/csyrk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/csyrk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_csyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ctrmm.c --- a/cblas/ctrmm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ctrmm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_ctrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ctrsm.c --- a/cblas/ctrsm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ctrsm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" #include "hypot.c" diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dgemm.c --- a/cblas/dgemm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dgemm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dsymm.c --- a/cblas/dsymm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dsymm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dsymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dsyr2k.c --- a/cblas/dsyr2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dsyr2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dsyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dsyrk.c --- a/cblas/dsyrk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dsyrk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dsyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dtrmm.c --- a/cblas/dtrmm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dtrmm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dtrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/dtrsm.c --- a/cblas/dtrsm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/dtrsm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_dtrsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/error_cblas_l3.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cblas/error_cblas_l3.h Tue Oct 12 14:34:12 2010 +0200 @@ -0,0 +1,260 @@ +/* cblas/error_cblas_l3.h + * + * Copyright (C) 2010 José Luis García Pallero + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#ifndef __ERROR_CBLAS_L3_H__ +#define __ERROR_CBLAS_L3_H__ +#include +#include "error_cblas.h" + +#undef __BEGIN_DECLS +#undef __END_DECLS +#ifdef __cplusplus +#define __BEGIN_DECLS extern "C" { +#define __END_DECLS } +#else +#define __BEGIN_DECLS /* empty */ +#define __END_DECLS /* empty */ +#endif + +__BEGIN_DECLS + +/* + * ============================================================================= + * Prototypes for level 3 BLAS + * ============================================================================= + */ + +/* + * Routines with standard 4 prefixes (S, D, C, Z) + */ + +/* cblas_xgemm() */ +#define CBLAS_ERROR_GEMM(pos,Order,TransA,TransB,M,N,K,alpha,A,lda,B,ldb,beta,C,ldc) \ +{ \ + enum CBLAS_TRANSPOSE __transF=CblasNoTrans,__transG=CblasNoTrans; \ + if((Order)==CblasRowMajor) { \ + __transF = ((TransA)!=CblasConjTrans) ? (TransA) : CblasTrans; \ + __transG = ((TransB)!=CblasConjTrans) ? (TransB) : CblasTrans; \ + } else { \ + __transF = ((TransB)!=CblasConjTrans) ? (TransB) : CblasTrans; \ + __transG = ((TransA)!=CblasConjTrans) ? (TransA) : CblasTrans; \ + } \ + CHECK_ORDER(pos,1,Order); \ + CHECK_TRANSPOSE(pos,2,TransA); \ + CHECK_TRANSPOSE(pos,3,TransB); \ + CHECK_DIM(pos,4,M); \ + CHECK_DIM(pos,5,N); \ + CHECK_DIM(pos,6,K); \ + if((Order)==CblasRowMajor) { \ + if(__transF==CblasNoTrans) { \ + if((lda) #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_sgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_gemm_c.h --- a/cblas/source_gemm_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_gemm_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_gemm_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -24,6 +24,11 @@ int conjF, conjG, TransF, TransG; const BASE *F, *G; + int pos=0; + CBLAS_ERROR_GEMM(pos,Order,TransA,TransB,M,N,K,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); const BASE alpha_imag = CONST_IMAG0(alpha); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_gemm_r.h --- a/cblas/source_gemm_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_gemm_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_gemm_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -24,6 +24,11 @@ int TransF, TransG; const BASE *F, *G; + int pos=0; + CBLAS_ERROR_GEMM(pos,Order,TransA,TransB,M,N,K,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + if (alpha == 0.0 && beta == 1.0) return; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_hemm.h --- a/cblas/source_hemm.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_hemm.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_hemm.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -22,6 +22,11 @@ INDEX n1, n2; int uplo, side; + int pos=0; + CBLAS_ERROR_HEMM(pos,Order,Side,Uplo,M,N,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); const BASE alpha_imag = CONST_IMAG0(alpha); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_her2k.h --- a/cblas/source_her2k.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_her2k.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_her2k.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_HER2K(pos,Order,Uplo,Trans,N,K,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); BASE alpha_imag = CONST_IMAG0(alpha); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_herk.h --- a/cblas/source_herk.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_herk.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_herk.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_HERK(pos,Order,Uplo,Trans,N,K,alpha,A,lda,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + if (beta == 1.0 && (alpha == 0.0 || K == 0)) return; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_symm_c.h --- a/cblas/source_symm_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_symm_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_symm_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -22,6 +22,11 @@ INDEX n1, n2; int uplo, side; + int pos=0; + CBLAS_ERROR_SYMM(pos,Order,Side,Uplo,M,N,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); const BASE alpha_imag = CONST_IMAG0(alpha); const BASE beta_real = CONST_REAL0(beta); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_symm_r.h --- a/cblas/source_symm_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_symm_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_symm_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -22,6 +22,11 @@ INDEX n1, n2; int uplo, side; + int pos=0; + CBLAS_ERROR_SYMM(pos,Order,Side,Uplo,M,N,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + if (alpha == 0.0 && beta == 1.0) return; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_syr2k_c.h --- a/cblas/source_syr2k_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_syr2k_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_syr2k_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_SYR2K(pos,Order,Uplo,Trans,N,K,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); const BASE alpha_imag = CONST_IMAG0(alpha); const BASE beta_real = CONST_REAL0(beta); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_syr2k_r.h --- a/cblas/source_syr2k_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_syr2k_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_syr2k_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_SYR2K(pos,Order,Uplo,Trans,N,K,alpha,A,lda,B,ldb,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + if (alpha == 0.0 && beta == 1.0) return; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_syrk_c.h --- a/cblas/source_syrk_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_syrk_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_syrk_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_SYRK(pos,Order,Uplo,Trans,N,K,alpha,A,lda,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const BASE alpha_real = CONST_REAL0(alpha); const BASE alpha_imag = CONST_IMAG0(alpha); diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_syrk_r.h --- a/cblas/source_syrk_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_syrk_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_syrk_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -21,6 +21,11 @@ INDEX i, j, k; int uplo, trans; + int pos=0; + CBLAS_ERROR_SYRK(pos,Order,Uplo,Trans,N,K,alpha,A,lda,beta,C,ldc); + if(pos) + cblas_xerbla(pos,__FILE__,""); + if (alpha == 0.0 && beta == 1.0) return; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_trmm_c.h --- a/cblas/source_trmm_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_trmm_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_trmm_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -20,6 +20,12 @@ { INDEX i, j, k; INDEX n1, n2; + + int pos=0; + CBLAS_ERROR_TRMM(pos,Order,Side,Uplo,TransA,Diag,M,N,alpha,A,lda,B,ldb); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const int nonunit = (Diag == CblasNonUnit); const int conj = (TransA == CblasConjTrans) ? -1 : 1; int side, uplo, trans; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_trmm_r.h --- a/cblas/source_trmm_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_trmm_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_trmm_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -20,6 +20,12 @@ { INDEX i, j, k; INDEX n1, n2; + + int pos=0; + CBLAS_ERROR_TRMM(pos,Order,Side,Uplo,TransA,Diag,M,N,alpha,A,lda,B,ldb); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const int nonunit = (Diag == CblasNonUnit); int side, uplo, trans; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_trsm_c.h --- a/cblas/source_trsm_c.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_trsm_c.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_trsm_c.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -20,6 +20,12 @@ { INDEX i, j, k; INDEX n1, n2; + + int pos=0; + CBLAS_ERROR_TRSM(pos,Order,Side,Uplo,TransA,Diag,M,N,alpha,A,lda,B,ldb); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const int nonunit = (Diag == CblasNonUnit); const int conj = (TransA == CblasConjTrans) ? -1 : 1; int side, uplo, trans; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/source_trsm_r.h --- a/cblas/source_trsm_r.h Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/source_trsm_r.h Tue Oct 12 14:34:12 2010 +0200 @@ -1,17 +1,17 @@ /* blas/source_trsm_r.h - * + * * Copyright (C) 2001, 2007 Brian Gough - * + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or (at * your option) any later version. - * + * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -20,6 +20,12 @@ { INDEX i, j, k; INDEX n1, n2; + + int pos=0; + CBLAS_ERROR_TRSM(pos,Order,Side,Uplo,TransA,Diag,M,N,alpha,A,lda,B,ldb); + if(pos) + cblas_xerbla(pos,__FILE__,""); + const int nonunit = (Diag == CblasNonUnit); int side, uplo, trans; diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ssymm.c --- a/cblas/ssymm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ssymm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_ssymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ssyr2k.c --- a/cblas/ssyr2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ssyr2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_ssyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ssyrk.c --- a/cblas/ssyrk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ssyrk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,11 +1,12 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_ssyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, const enum CBLAS_TRANSPOSE Trans, const int N, const int K, - const float alpha, const float *A, const int lda, + const float alpha, const float *A, const int lda, const float beta, float *C, const int ldc) { #define BASE float diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/strmm.c --- a/cblas/strmm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/strmm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_strmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/strsm.c --- a/cblas/strsm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/strsm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_strsm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zgemm.c --- a/cblas/zgemm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zgemm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zgemm (const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zhemm.c --- a/cblas/zhemm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zhemm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zhemm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zher2k.c --- a/cblas/zher2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zher2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zher2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zherk.c --- a/cblas/zherk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zherk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zherk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zsymm.c --- a/cblas/zsymm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zsymm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zsymm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zsyr2k.c --- a/cblas/zsyr2k.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zsyr2k.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zsyr2k (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/zsyrk.c --- a/cblas/zsyrk.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/zsyrk.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_zsyrk (const enum CBLAS_ORDER Order, const enum CBLAS_UPLO Uplo, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ztrmm.c --- a/cblas/ztrmm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ztrmm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" void cblas_ztrmm (const enum CBLAS_ORDER Order, const enum CBLAS_SIDE Side, diff -r ff79bba7f4a2 -r d0f21e0f00c5 cblas/ztrsm.c --- a/cblas/ztrsm.c Tue Oct 12 11:41:09 2010 +0200 +++ b/cblas/ztrsm.c Tue Oct 12 14:34:12 2010 +0200 @@ -1,6 +1,7 @@ #include #include #include "cblas.h" +#include "error_cblas_l3.h" #include "hypot.c"