Skip to content

Commit be56a61

Browse files
author
Kent Knox
committed
Revert "fixed compareMatrices to use GTEST_FLOAT_EQ"
This reverts commit 8491085.
1 parent f7c076b commit be56a61

File tree

3 files changed

+191
-51
lines changed

3 files changed

+191
-51
lines changed

src/tests/common.cpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
#include <iostream>
1919
#include <string.h>
2020
#include <clBLAS.h>
21-
#include <gtest/gtest.h>
2221

2322
#include <common.h>
2423

@@ -1017,23 +1016,3 @@ functionBlasLevel(BlasFunctionID funct) {
10171016
return 0;
10181017
}
10191018
}
1020-
1021-
1022-
template<>
1023-
void gtestAssertElementsEqual( const float & a, const float & b) {
1024-
ASSERT_FLOAT_EQ(a, b);
1025-
}
1026-
template<>
1027-
void gtestAssertElementsEqual( const double & a, const double & b) {
1028-
ASSERT_DOUBLE_EQ(a, b);
1029-
}
1030-
template<>
1031-
void gtestAssertElementsEqual( const FloatComplex & a, const FloatComplex & b) {
1032-
ASSERT_FLOAT_EQ(CREAL(a), CREAL(b));
1033-
ASSERT_FLOAT_EQ(CIMAG(a), CIMAG(b));
1034-
}
1035-
template<>
1036-
void gtestAssertElementsEqual( const DoubleComplex & a, const DoubleComplex & b) {
1037-
ASSERT_DOUBLE_EQ(CREAL(a), CREAL(b));
1038-
ASSERT_DOUBLE_EQ(CIMAG(a), CIMAG(b));
1039-
}

src/tests/include/common.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -692,10 +692,6 @@ printTestParams(
692692
size_t offx,
693693
int incx);
694694

695-
696-
template<typename T>
697-
void gtestAssertElementsEqual( const T & a, const T & b);
698-
699695
#endif // __cplusplus
700696

701697
#endif /* COMMON_H_ */

src/tests/include/matrix.h

Lines changed: 191 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,6 @@ reorderMatrix(
298298
}
299299
}
300300

301-
302301
template <typename T>
303302
static void
304303
compareMatrices(
@@ -316,41 +315,207 @@ compareMatrices(
316315

317316
if( lda > 0 ) // General case
318317
{
319-
for (m = 0; m < M; m++) {
320-
for (n = 0; n < N; n++) {
321-
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
322-
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
323-
gtestAssertElementsEqual(a, b);
318+
for (m = 0; m < M; m++) {
319+
for (n = 0; n < N; n++) {
320+
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
321+
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
322+
delta = 0.0;
323+
if (absDelta != NULL) {
324+
delta = absDelta[m * N + n];
324325
}
326+
if( module(a-b) > delta ) printf("m : %d\t n: %d\n", (int)m, (int)n);
327+
ASSERT_NEAR(a, b, delta);
325328
}
326329
}
330+
}
327331
else // Packed case
328332
{
329-
if ( order == clblasColumnMajor)
330-
{
331-
for ( n = 0; n < N; n++)
332-
{
333-
for( m=n; m < M; m++)
334-
{
335-
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
336-
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
337-
gtestAssertElementsEqual(a, b);
338-
}
333+
if ( order == clblasColumnMajor)
334+
{
335+
for ( n = 0; n < N; n++)
336+
{
337+
for( m=n; m < M; m++)
338+
{
339+
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
340+
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
341+
delta = 0.0;
342+
if (absDelta != NULL) {
343+
//delta = absDelta[m * N + n];
344+
}
345+
if( module(a-b) > delta ) printf("m : %d\t n: %d\n", (int)m, (int)n);
346+
ASSERT_NEAR(a, b, delta);
347+
}
348+
}
349+
}
350+
else
351+
{
352+
for ( m = 0; m < M; m++)
353+
{
354+
for( n = 0; n <= m; n++)
355+
{
356+
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
357+
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
358+
delta = 0.0;
359+
if (absDelta != NULL) {
360+
//delta = absDelta[m * N + n];
361+
}
362+
if( module(a-b) > delta ) printf("m : %d\t n: %d\n", (int)m, (int)n);
363+
ASSERT_NEAR(a, b, delta);
364+
}
365+
}
366+
}
367+
}
368+
}
369+
370+
template<>
371+
__template_static void
372+
compareMatrices<FloatComplex>(
373+
clblasOrder order,
374+
size_t M,
375+
size_t N,
376+
const FloatComplex *A,
377+
const FloatComplex *B,
378+
size_t lda,
379+
const cl_double *absDelta)
380+
{
381+
size_t m = 0, n = 0;
382+
FloatComplex a, b;
383+
cl_double delta;
384+
385+
if ( lda > 0 )
386+
{
387+
for (m = 0; m < M; m++) {
388+
for (n = 0; n < N; n++) {
389+
a = getElement<FloatComplex>(order, clblasNoTrans, m, n, A, lda);
390+
b = getElement<FloatComplex>(order, clblasNoTrans, m, n, B, lda);
391+
delta = 0.0;
392+
if (absDelta != NULL) {
393+
delta = absDelta[m * N + n];
339394
}
395+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
396+
printf("m : %d\t n: %d\n", (int)m, (int)n);
397+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
398+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
340399
}
341-
else
342-
{
343-
for ( m = 0; m < M; m++)
344-
{
345-
for( n = 0; n <= m; n++)
346-
{
347-
a = getElement<T>(order, clblasNoTrans, m, n, A, lda);
348-
b = getElement<T>(order, clblasNoTrans, m, n, B, lda);
349-
gtestAssertElementsEqual(a, b);
350-
}
400+
}
401+
}
402+
else // Packed case
403+
{
404+
if ( order == clblasColumnMajor)
405+
{
406+
for ( n = 0; n < N; n++)
407+
{
408+
for( m=n; m < M; m++)
409+
{
410+
a = getElement<FloatComplex>(order, clblasNoTrans, m, n, A, lda);
411+
b = getElement<FloatComplex>(order, clblasNoTrans, m, n, B, lda);
412+
delta = 0.0;
413+
if (absDelta != NULL) {
414+
//delta = absDelta[m * N + n];
415+
}
416+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
417+
printf("m : %d\t n: %d\n", (int)m, (int)n);
418+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
419+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
420+
}
421+
}
422+
}
423+
else
424+
{
425+
for ( m = 0; m < M; m++)
426+
{
427+
for( n = 0; n <= m; n++)
428+
{
429+
a = getElement<FloatComplex>(order, clblasNoTrans, m, n, A, lda);
430+
b = getElement<FloatComplex>(order, clblasNoTrans, m, n, B, lda);
431+
delta = 0.0;
432+
if (absDelta != NULL) {
433+
//delta = absDelta[m * N + n];
434+
}
435+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
436+
printf("m : %d\t n: %d\n", (int)m, (int)n);
437+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
438+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
439+
}
440+
}
441+
}
442+
}
443+
444+
}
445+
446+
template<>
447+
__template_static void
448+
compareMatrices<DoubleComplex>(
449+
clblasOrder order,
450+
size_t M,
451+
size_t N,
452+
const DoubleComplex *A,
453+
const DoubleComplex *B,
454+
size_t lda,
455+
const cl_double *absDelta)
456+
{
457+
size_t m = 0, n = 0;
458+
DoubleComplex a, b;
459+
cl_double delta;
460+
if( lda > 0 )
461+
{
462+
for (m = 0; m < M; m++) {
463+
for (n = 0; n < N; n++) {
464+
a = getElement<DoubleComplex>(order, clblasNoTrans, m, n, A, lda);
465+
b = getElement<DoubleComplex>(order, clblasNoTrans, m, n, B, lda);
466+
delta = 0.0;
467+
if (absDelta != NULL) {
468+
delta = absDelta[m * N + n];
351469
}
470+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
471+
printf("m : %d\t n: %d\n", (int)m, (int)n);
472+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
473+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
352474
}
353475
}
476+
}
477+
else // Packed case
478+
{
479+
if ( order == clblasColumnMajor)
480+
{
481+
for ( n = 0; n < N; n++)
482+
{
483+
for( m=n; m < M; m++)
484+
{
485+
a = getElement<DoubleComplex>(order, clblasNoTrans, m, n, A, lda);
486+
b = getElement<DoubleComplex>(order, clblasNoTrans, m, n, B, lda);
487+
delta = 0.0;
488+
if (absDelta != NULL) {
489+
//delta = absDelta[m * N + n];
490+
}
491+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
492+
printf("m : %d\t n: %d\n", (int)m, (int)n);
493+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
494+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
495+
}
496+
}
497+
}
498+
else
499+
{
500+
for ( m = 0; m < M; m++)
501+
{
502+
for( n = 0; n <= m; n++)
503+
{
504+
a = getElement<DoubleComplex>(order, clblasNoTrans, m, n, A, lda);
505+
b = getElement<DoubleComplex>(order, clblasNoTrans, m, n, B, lda);
506+
delta = 0.0;
507+
if (absDelta != NULL) {
508+
//delta = absDelta[m * N + n];
509+
}
510+
if( (module(CREAL(a) - CREAL(b)) > delta) || (module(CIMAG(a) - CIMAG(b)) > delta) )
511+
printf("m : %d\t n: %d\n", (int)m, (int)n);
512+
ASSERT_NEAR(CREAL(a), CREAL(b), delta);
513+
ASSERT_NEAR(CIMAG(a), CIMAG(b), delta);
514+
}
515+
}
516+
}
517+
}
518+
354519
}
355520

356521
template <typename T>

0 commit comments

Comments
 (0)