aboutsummaryrefslogtreecommitdiff
path: root/redist/test_dcl.c
diff options
context:
space:
mode:
authorcnlohr <lohr85@gmail.com>2018-03-17 14:21:20 -0400
committercnlohr <lohr85@gmail.com>2018-03-17 14:21:20 -0400
commit04bd16aeb391e67716344268cf0f43d1f31f180a (patch)
tree2efb24782dc15a994c487e01e0a2ba2e31005721 /redist/test_dcl.c
parent497e65e339edcc77bd272b97b9c1b1b5217a24b6 (diff)
downloadlibsurvive-04bd16aeb391e67716344268cf0f43d1f31f180a.tar.gz
libsurvive-04bd16aeb391e67716344268cf0f43d1f31f180a.tar.bz2
Update dcl and test.
Diffstat (limited to 'redist/test_dcl.c')
-rw-r--r--redist/test_dcl.c41
1 files changed, 26 insertions, 15 deletions
diff --git a/redist/test_dcl.c b/redist/test_dcl.c
index 056acdf..6b0d870 100644
--- a/redist/test_dcl.c
+++ b/redist/test_dcl.c
@@ -12,7 +12,7 @@ int main()
dclTransp( B[0], 2, A[0], 4, 2, 4 );
dclPrint( B[0], 2, 4, 2 );
- int i;
+ int i, j;
for( i = 0; i < 8; i++ )
{
printf( "%f\n", ((float*)(B[0]))[i] );
@@ -34,54 +34,65 @@ int main()
{
FLT A[3][4];
- dclIdentity(A[0], 4, 3);
- dclPrint(A[0], 4, 3, 4);
+ dclIdentity( DMS(A), 3, 4);
+ dclPrint( DMS(A), 3, 4);
FLT x[4][2] = {
{7, -7}, {8, -8}, {9, -9}, {10, -10},
};
FLT R[4][2];
+ dclZero( DMS(R), 4, 2 );
- printf("%p %p %p\n", A, x, R);
// dclMul(R, 1, A[0], 4, x, 1, 4, 1, 3);
dcldgemm(0, 0, 3, 4, 2, 1, A[0], 4, x[0], 2, 0, R[0], 2);
- dclPrint(x[0], 2, 4, 2);
- dclPrint(R[0], 2, 4, 2);
+ dclPrint(DMS(x), 4, 2);
+ dclPrint(DMS(R), 3, 2);
for (int j = 0; j < 2; j++) {
for (int i = 0; i < 3; i++)
+ {
+ printf( "[%d][%d]\n", i, j );
assert(R[i][j] == x[i][j]);
+ }
assert(fabs(R[3][j]) < .0000001);
}
}
- printf( "The following should be an identity matrix\n" );
- dclPrint( MM[0], 3, 3, 3 );
-
+#if 0
//Currently failing test...
{
+// FLT em1[3][4];
+// FLT em2[4][2];
+// FLT emo[4][2];
+
FLT em1[12][20];
FLT em2[20][12];
- FLT emo[12][12];
+ FLT emo[20][12];
int x, y;
for( y = 0; y < 12; y++ )
for( x = 0; x < 20; x++ )
- {
em1[y][x] = (rand()%1000)/1000.0;
- em2[x][y] = (rand()%1000)/1000.0;
- }
+
+ for( y = 0; y < 20; y++ )
+ for( x = 0; x < 12; x++ )
+ em2[y][x] = (rand()%1000)/1000.0;
int m = 12;
int n = 20;
int k = 12;
- dcldgemm( 0, 0, m, n, k, 0.1, em1[0], 20, em2[0], 12, .1, emo[0], 12 );
- dclPrint( emo[0], 12, 12, 12 );
+
+ dclPrint( em1[0], 20, 12, 20 );
+ dclPrint( em2[0], 12, 20, 12 );
+
+ dcldgemm( 0, 0, m, n, k, 1.0, em1[0], 20, em2[0], 12, .1, emo[0], 12 );
+ dclPrint( emo[0], 12, 20, 12 );
}
+#endif
}