[openblas] 04/04: Ensure that the testsuite is run on arm* arches at build time.

Sébastien Villemot sebastien at debian.org
Wed Apr 29 16:28:00 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastien pushed a commit to branch master
in repository openblas.

commit f50d3e793b1f48d7eb922fd1aeb14009b7889648
Author: Sébastien Villemot <sebastien at debian.org>
Date:   Wed Apr 29 18:27:37 2015 +0200

    Ensure that the testsuite is run on arm* arches at build time.
    
    + d/p/arm-arch-detection.patch: new patch, avoids false detection of
      cross-compilation.
    + d/p/disable-gemm3m-tests.patch: new patch, avoid compilation failure of the
      testsuite.
    + d/p/test-custom-package.patch renamed to d/p/always-run-testsuite.patch, to
      clearly show that it is needed even for vanilla arm* packages.
    
    Git-Dch: Full
---
 ...om-package.patch => always-run-testsuite.patch} |   6 +-
 debian/patches/arm-arch-detection.patch            |  19 +
 debian/patches/disable-gemm3m-tests.patch          | 655 +++++++++++++++++++++
 debian/patches/series                              |   4 +-
 4 files changed, 681 insertions(+), 3 deletions(-)

diff --git a/debian/patches/test-custom-package.patch b/debian/patches/always-run-testsuite.patch
similarity index 69%
rename from debian/patches/test-custom-package.patch
rename to debian/patches/always-run-testsuite.patch
index 66702bb..9c1399b 100644
--- a/debian/patches/test-custom-package.patch
+++ b/debian/patches/always-run-testsuite.patch
@@ -1,8 +1,10 @@
-Description: Run testsuite even when compiling custom package
+Description: Run testsuite even when TARGET is set
+ This ensures that the testsuite is run on arches where DYNAMIC_ARCH is not set,
+ or when the user is building a custom package.
 Author: Sébastien Villemot <sebastien at debian.org>
 Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677866
 Forwarded: not-needed
-Last-Update: 2013-07-26
+Last-Update: 2015-04-29
 ---
 This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
 --- a/Makefile
diff --git a/debian/patches/arm-arch-detection.patch b/debian/patches/arm-arch-detection.patch
new file mode 100644
index 0000000..4db1924
--- /dev/null
+++ b/debian/patches/arm-arch-detection.patch
@@ -0,0 +1,19 @@
+Description: Fix detection of ARM architectures
+ This ensures that the setup is not incorrectly detected as cross-building.
+ This would prevent the testsuite from being run.
+Author: Sébastien Villemot <sebastien at debian.org>
+Forwarded: https://github.com/xianyi/OpenBLAS/pull/560
+Last-Update: 2015-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/c_check
++++ b/c_check
+@@ -4,6 +4,8 @@
+ $hostos   = `uname -s | sed -e s/\-.*//`;    chop($hostos);
+ $hostarch = `uname -m | sed -e s/i.86/x86/`;chop($hostarch);
+ $hostarch = "x86_64" if ($hostarch eq "amd64");
++$hostarch = "arm" if ($hostarch =~ /^arm.*/);
++$hostarch = "arm64" if ($hostarch eq "aarch64");
+ 
+ $binary = $ENV{"BINARY"};
+ 
diff --git a/debian/patches/disable-gemm3m-tests.patch b/debian/patches/disable-gemm3m-tests.patch
new file mode 100644
index 0000000..87d4770
--- /dev/null
+++ b/debian/patches/disable-gemm3m-tests.patch
@@ -0,0 +1,655 @@
+Description: Strip code for GEMM3M tests
+ They cause FTBFS on arm*.
+Author: Sébastien Villemot <sebastien at debian.org>
+Bug: https://github.com/xianyi/OpenBLAS/issues/559
+Last-Update: 2015-04-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/ctest/c_c3chke.c
++++ b/ctest/c_c3chke.c
+@@ -46,235 +46,7 @@ void  F77_c3chke(char *  rout) {
+    }
+ 
+ 
+-   if (strncmp( sf,"cblas_cgemm3m"   ,13)==0) {
+-      cblas_rout = "cblas_cgemm3"   ;
+-
+-      cblas_info = 1;
+-      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_cgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_cgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_cgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 2; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 2; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 3; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 3; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_cgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9;  RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_cgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-
+-   } else if (strncmp( sf,"cblas_cgemm"   ,11)==0) {
++   if (strncmp( sf,"cblas_cgemm"   ,11)==0) {
+             cblas_rout = "cblas_cgemm"   ;
+ 
+ 
+--- a/ctest/c_cblas3.c
++++ b/ctest/c_cblas3.c
+@@ -567,81 +567,3 @@ void F77_ctrsm(int *order, char *rtlf, c
+ 
+ 
+ 
+-void F77_cgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+-     int *k, CBLAS_TEST_COMPLEX *alpha, CBLAS_TEST_COMPLEX *a, int *lda,
+-     CBLAS_TEST_COMPLEX *b, int *ldb, CBLAS_TEST_COMPLEX *beta,
+-     CBLAS_TEST_COMPLEX *c, int *ldc ) {
+-
+-  CBLAS_TEST_COMPLEX *A, *B, *C;
+-  int i,j,LDA, LDB, LDC;
+-  enum CBLAS_TRANSPOSE transa, transb;
+-
+-  get_transpose_type(transpa, &transa);
+-  get_transpose_type(transpb, &transb);
+-
+-  if (*order == TEST_ROW_MJR) {
+-     if (transa == CblasNoTrans) {
+-        LDA = *k+1;
+-        A=(CBLAS_TEST_COMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_COMPLEX));
+-        for( i=0; i<*m; i++ )
+-           for( j=0; j<*k; j++ ) {
+-              A[i*LDA+j].real=a[j*(*lda)+i].real;
+-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+-           }
+-     }
+-     else {
+-        LDA = *m+1;
+-        A=(CBLAS_TEST_COMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_COMPLEX));
+-        for( i=0; i<*k; i++ )
+-           for( j=0; j<*m; j++ ) {
+-              A[i*LDA+j].real=a[j*(*lda)+i].real;
+-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+-           }
+-     }
+-
+-     if (transb == CblasNoTrans) {
+-        LDB = *n+1;
+-        B=(CBLAS_TEST_COMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_COMPLEX) );
+-        for( i=0; i<*k; i++ )
+-           for( j=0; j<*n; j++ ) {
+-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+-           }
+-     }
+-     else {
+-        LDB = *k+1;
+-        B=(CBLAS_TEST_COMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_COMPLEX));
+-        for( i=0; i<*n; i++ )
+-           for( j=0; j<*k; j++ ) {
+-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+-           }
+-     }
+-
+-     LDC = *n+1;
+-     C=(CBLAS_TEST_COMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_COMPLEX));
+-     for( j=0; j<*n; j++ )
+-        for( i=0; i<*m; i++ ) {
+-           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+-           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+-        }
+-     cblas_cgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+-                  B, LDB, beta, C, LDC );
+-     for( j=0; j<*n; j++ )
+-        for( i=0; i<*m; i++ ) {
+-           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+-           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+-        }
+-     free(A);
+-     free(B);
+-     free(C);
+-  }
+-  else if (*order == TEST_COL_MJR)
+-     cblas_cgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+-                  b, *ldb, beta, c, *ldc );
+-  else
+-     cblas_cgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+-                  b, *ldb, beta, c, *ldc );
+-}
+-
+-
+--- a/ctest/c_z3chke.c
++++ b/ctest/c_z3chke.c
+@@ -49,237 +49,7 @@ void  F77_z3chke(char *  rout) {
+ 
+ 
+ 
+-   if (strncmp( sf,"cblas_zgemm3m"   ,13)==0) {
+-      cblas_rout = "cblas_zgemm3"   ;
+-
+-      cblas_info = 1;
+-      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_zgemm3m( INVALID,  CblasNoTrans, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_zgemm3m( INVALID,  CblasTrans, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 1;
+-      cblas_zgemm3m( INVALID,  CblasTrans, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 2; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  INVALID, CblasNoTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 2; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  INVALID, CblasTrans, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 3; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, INVALID, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 3; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, INVALID, 0, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasNoTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = FALSE;
+-      cblas_zgemm3m( CblasColMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 4; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, INVALID, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 5; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, INVALID, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 6; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, INVALID,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9;  RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 2, BETA, C, 2 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 9; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 2, 0, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 2, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 11; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 0, 2,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasNoTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasNoTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 2, BETA, C, 1 );
+-      chkxer();
+-      cblas_info = 14; RowMajorStrg = TRUE;
+-      cblas_zgemm3m( CblasRowMajor,  CblasTrans, CblasTrans, 0, 2, 0,
+-                   ALPHA, A, 1, B, 1, BETA, C, 1 );
+-      chkxer();
+-
+-
+-
+-   } else if (strncmp( sf,"cblas_zgemm"   ,11)==0) {
++   if (strncmp( sf,"cblas_zgemm"   ,11)==0) {
+             cblas_rout = "cblas_zgemm"   ;
+ 
+       cblas_info = 1;
+--- a/ctest/c_zblas3.c
++++ b/ctest/c_zblas3.c
+@@ -563,81 +563,3 @@ void F77_ztrsm(int *order, char *rtlf, c
+ 		   a, *lda, b, *ldb);
+ }
+ 
+-
+-void F77_zgemm3m(int *order, char *transpa, char *transpb, int *m, int *n,
+-     int *k, CBLAS_TEST_ZOMPLEX *alpha, CBLAS_TEST_ZOMPLEX *a, int *lda,
+-     CBLAS_TEST_ZOMPLEX *b, int *ldb, CBLAS_TEST_ZOMPLEX *beta,
+-     CBLAS_TEST_ZOMPLEX *c, int *ldc ) {
+-
+-  CBLAS_TEST_ZOMPLEX *A, *B, *C;
+-  int i,j,LDA, LDB, LDC;
+-  enum CBLAS_TRANSPOSE transa, transb;
+-
+-  get_transpose_type(transpa, &transa);
+-  get_transpose_type(transpb, &transb);
+-
+-  if (*order == TEST_ROW_MJR) {
+-     if (transa == CblasNoTrans) {
+-        LDA = *k+1;
+-        A=(CBLAS_TEST_ZOMPLEX*)malloc((*m)*LDA*sizeof(CBLAS_TEST_ZOMPLEX));
+-        for( i=0; i<*m; i++ )
+-           for( j=0; j<*k; j++ ) {
+-              A[i*LDA+j].real=a[j*(*lda)+i].real;
+-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+-           }
+-     }
+-     else {
+-        LDA = *m+1;
+-        A=(CBLAS_TEST_ZOMPLEX* )malloc(LDA*(*k)*sizeof(CBLAS_TEST_ZOMPLEX));
+-        for( i=0; i<*k; i++ )
+-           for( j=0; j<*m; j++ ) {
+-              A[i*LDA+j].real=a[j*(*lda)+i].real;
+-              A[i*LDA+j].imag=a[j*(*lda)+i].imag;
+-           }
+-     }
+-
+-     if (transb == CblasNoTrans) {
+-        LDB = *n+1;
+-        B=(CBLAS_TEST_ZOMPLEX* )malloc((*k)*LDB*sizeof(CBLAS_TEST_ZOMPLEX) );
+-        for( i=0; i<*k; i++ )
+-           for( j=0; j<*n; j++ ) {
+-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+-           }
+-     }
+-     else {
+-        LDB = *k+1;
+-        B=(CBLAS_TEST_ZOMPLEX* )malloc(LDB*(*n)*sizeof(CBLAS_TEST_ZOMPLEX));
+-        for( i=0; i<*n; i++ )
+-           for( j=0; j<*k; j++ ) {
+-              B[i*LDB+j].real=b[j*(*ldb)+i].real;
+-              B[i*LDB+j].imag=b[j*(*ldb)+i].imag;
+-           }
+-     }
+-
+-     LDC = *n+1;
+-     C=(CBLAS_TEST_ZOMPLEX* )malloc((*m)*LDC*sizeof(CBLAS_TEST_ZOMPLEX));
+-     for( j=0; j<*n; j++ )
+-        for( i=0; i<*m; i++ ) {
+-           C[i*LDC+j].real=c[j*(*ldc)+i].real;
+-           C[i*LDC+j].imag=c[j*(*ldc)+i].imag;
+-        }
+-     cblas_zgemm3m( CblasRowMajor, transa, transb, *m, *n, *k, alpha, A, LDA,
+-                  B, LDB, beta, C, LDC );
+-     for( j=0; j<*n; j++ )
+-        for( i=0; i<*m; i++ ) {
+-           c[j*(*ldc)+i].real=C[i*LDC+j].real;
+-           c[j*(*ldc)+i].imag=C[i*LDC+j].imag;
+-        }
+-     free(A);
+-     free(B);
+-     free(C);
+-  }
+-  else if (*order == TEST_COL_MJR)
+-     cblas_zgemm3m( CblasColMajor, transa, transb, *m, *n, *k, alpha, a, *lda,
+-                  b, *ldb, beta, c, *ldc );
+-  else
+-     cblas_zgemm3m( UNDEFINED, transa, transb, *m, *n, *k, alpha, a, *lda,
+-                  b, *ldb, beta, c, *ldc );
+-}
+-
diff --git a/debian/patches/series b/debian/patches/series
index bc3f3d5..0c39fbb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,7 +1,9 @@
 arm-gcc-flags.patch
 kfreebsd.patch
-test-custom-package.patch
+always-run-testsuite.patch
 remove-openmp-warning.patch
 no-embedded-lapack.patch
 shared-blas-lapack.patch
 arm64.patch
+arm-arch-detection.patch
+disable-gemm3m-tests.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/openblas.git



More information about the debian-science-commits mailing list