void test_samax() { int N=3, inc=1; float te_max=0.0, tr_max=0.0; float x[]={-1.1, 2.2, -3.3}; te_max=BLASFUNC(samax)(&N, x, &inc); tr_max=BLASFUNC_REF(samax)(&N, x, &inc); CU_ASSERT_DOUBLE_EQUAL(te_max, tr_max, CHECK_EPS); }
void test_zdotu_offset_1(void) { int N=1,incX=1,incY=1; double x1[]={1.0,2.0,3.0,4.0}; double y1[]={5.0,6.0,7.0,8.0}; double x2[]={1.0,2.0,3.0,4.0}; double y2[]={5.0,6.0,7.0,8.0}; double _Complex result1=0.0; double _Complex result2=0.0; //OpenBLAS result1=BLASFUNC(zdotu)(&N,x1+1,&incX,y1+1,&incY); //reference result2=BLASFUNC_REF(zdotu)(&N,x2+1,&incX,y2+1,&incY); CU_ASSERT_DOUBLE_EQUAL(creal(result1), creal(result2), CHECK_EPS); CU_ASSERT_DOUBLE_EQUAL(cimag(result1), cimag(result2), CHECK_EPS); // printf("\%lf,%lf\n",creal(result1),cimag(result1)); }
void test_csrot_inc_0(void) { int i=0; int N=4,incX=0,incY=0; float c=0.25,s=0.5; float x1[]={1.0,3.0,5.0,7.0,1.0,3.0,5.0,7.0}; float y1[]={2.0,4.0,6.0,8.0,2.0,4.0,6.0,8.0}; float x2[]={1.0,3.0,5.0,7.0,1.0,3.0,5.0,7.0}; float y2[]={2.0,4.0,6.0,8.0,2.0,4.0,6.0,8.0}; //OpenBLAS BLASFUNC(csrot)(&N,x1,&incX,y1,&incY,&c,&s); //reference BLASFUNC_REF(csrot)(&N,x2,&incX,y2,&incY,&c,&s); for(i=0; i<2*N; i++){ CU_ASSERT_DOUBLE_EQUAL(x1[i], x2[i], CHECK_EPS); CU_ASSERT_DOUBLE_EQUAL(y1[i], y2[i], CHECK_EPS); } }
void test_drot_inc_0(void) { int i=0; int N=4,incX=0,incY=0; double c=0.25,s=0.5; double x1[]={1.0,3.0,5.0,7.0}; double y1[]={2.0,4.0,6.0,8.0}; double x2[]={1.0,3.0,5.0,7.0}; double y2[]={2.0,4.0,6.0,8.0}; //OpenBLAS BLASFUNC(drot)(&N,x1,&incX,y1,&incY,&c,&s); //reference BLASFUNC_REF(drot)(&N,x2,&incX,y2,&incY,&c,&s); for(i=0; i<N; i++){ CU_ASSERT_DOUBLE_EQUAL(x1[i], x2[i], CHECK_EPS); CU_ASSERT_DOUBLE_EQUAL(y1[i], y2[i], CHECK_EPS); } }