1/* cblas_example2.c */ 2 3#include <stdio.h> 4#include <stdlib.h> 5#include "cblas.h" 6#include "cblas_f77.h" 7 8#define INVALID -1 9 10int main (int argc, char **argv ) 11{ 12 int rout=-1,info=0,m,n,k,lda,ldb,ldc; 13 double A[2] = {0.0,0.0}, 14 B[2] = {0.0,0.0}, 15 C[2] = {0.0,0.0}, 16 ALPHA=0.0, BETA=0.0; 17 18 if (argc > 2){ 19 rout = atoi(argv[1]); 20 info = atoi(argv[2]); 21 } 22 23 if (rout == 1) { 24 if (info==0) { 25 printf("Checking if cblas_dgemm fails on parameter 4\n"); 26 cblas_dgemm( CblasRowMajor, CblasTrans, CblasNoTrans, INVALID, 0, 0, 27 ALPHA, A, 1, B, 1, BETA, C, 1 ); 28 } 29 if (info==1) { 30 printf("Checking if cblas_dgemm fails on parameter 5\n"); 31 cblas_dgemm( CblasRowMajor, CblasNoTrans, CblasTrans, 0, INVALID, 0, 32 ALPHA, A, 1, B, 1, BETA, C, 1 ); 33 } 34 if (info==2) { 35 printf("Checking if cblas_dgemm fails on parameter 9\n"); 36 cblas_dgemm( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 0, 2, 37 ALPHA, A, 1, B, 1, BETA, C, 2 ); 38 } 39 if (info==3) { 40 printf("Checking if cblas_dgemm fails on parameter 11\n"); 41 cblas_dgemm( CblasRowMajor, CblasNoTrans, CblasNoTrans, 0, 2, 2, 42 ALPHA, A, 1, B, 1, BETA, C, 1 ); 43 } 44 } else { 45 if (info==0) { 46 printf("Checking if F77_dgemm fails on parameter 3\n"); 47 m=INVALID; n=0; k=0; lda=1; ldb=1; ldc=1; 48 F77_dgemm( "T", "N", &m, &n, &k, 49 &ALPHA, A, &lda, B, &ldb, &BETA, C, &ldc ); 50 } 51 if (info==1) { 52 m=0; n=INVALID; k=0; lda=1; ldb=1; ldc=1; 53 printf("Checking if F77_dgemm fails on parameter 4\n"); 54 F77_dgemm( "N", "T", &m, &n, &k, 55 &ALPHA, A, &lda, B, &ldb, &BETA, C, &ldc ); 56 } 57 if (info==2) { 58 printf("Checking if F77_dgemm fails on parameter 8\n"); 59 m=2; n=0; k=0; lda=1; ldb=1; ldc=2; 60 F77_dgemm( "N", "N" , &m, &n, &k, 61 &ALPHA, A, &lda, B, &ldb, &BETA, C, &ldc ); 62 } 63 if (info==3) { 64 printf("Checking if F77_dgemm fails on parameter 10\n"); 65 m=0; n=0; k=2; lda=1; ldb=1; ldc=1; 66 F77_dgemm( "N", "N" , &m, &n, &k, 67 &ALPHA, A, &lda, B, &ldb, &BETA, C, &ldc ); 68 } 69 } 70 71 return 1; 72} 73