31 char *
normstr[4] = {
"Max",
"One",
"Inf",
"Fro" };
38 USAGE(
"LANGE",
"M N LDA",
39 " - M : number of rows of matrices A and C\n"
40 " - N : number of columns of matrices B and C\n"
41 " - LDA : leading dimension of matrix A\n");
45 int M = atoi(argv[0]);
46 int N = atoi(argv[1]);
47 int LDA = atoi(argv[2]);
52 float *
A = (
float *)malloc(LDAxN*
sizeof(
float));
53 float *work = (
float*) malloc(
max(M,N)*
sizeof(float));
54 float normplasma, normlapack;
56 eps = LAPACKE_slamch_work(
'e');
59 printf(
"------ TESTS FOR PLASMA SLANGE ROUTINE ------- \n");
60 printf(
" Size of the Matrix %d by %d\n", M, N);
62 printf(
" The matrix A is randomly generated for each test.\n");
63 printf(
"============\n");
64 printf(
" The relative machine precision (eps) is to be %e \n",eps);
65 printf(
" Computational tests pass if scaled residuals are less than 10.\n");
72 LAPACKE_slarnv_work(
IONE,
ISEED, LDAxN, A);
77 normlapack = LAPACKE_slange_work(LAPACK_COL_MAJOR,
lapack_const(
norm[n]), M, N, A, LDA, work);
79 printf(
"Lapack %e, Plasma %e\n", normlapack, normplasma);
81 printf(
"***************************************************\n");
82 if ( abs(normlapack-normplasma) < eps ) {
83 printf(
" ---- TESTING SLANGE (%s)............... PASSED !\n",
normstr[n]);
86 printf(
" - TESTING SLANGE (%s)... FAILED !\n",
normstr[n]);
88 printf(
"***************************************************\n");
97 printf(
"Lapack %e, Plasma %e\n", normlapack, normplasma);
99 printf(
"***************************************************\n");
100 if ( abs(normlapack-normplasma) < eps ) {
101 printf(
" ---- TESTING SLANSY (%s, %s)......... PASSED !\n",
normstr[n],
uplostr[u]);
104 printf(
" - TESTING SLANSY (%s, %s)... FAILED !\n",
normstr[n],
uplostr[u]);
106 printf(
"***************************************************\n");
114 for (j=0; j<
min(M,N); j++) {
115 A[j*LDA+j] -= I*cimagf(A[j*LDA+j]);
124 printf(
"Lapack %e, Plasma %e\n", normlapack, normplasma);
126 printf(
"***************************************************\n");
127 if ( abs(normlapack-normplasma) < eps ) {
128 printf(
" ---- TESTING SLANSY (%s, %s)......... PASSED !\n",
normstr[n],
uplostr[u]);
131 printf(
" - TESTING SLANSY (%s, %s)... FAILED !\n",
normstr[n],
uplostr[u]);
133 printf(
"***************************************************\n");