Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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));

}
Exemplo n.º 3
0
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);
	}
}
Exemplo n.º 4
0
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);
	}
}