summaryrefslogtreecommitdiff
path: root/src/matrixOperations/expm/testMatrixExponential.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/matrixOperations/expm/testMatrixExponential.c')
-rw-r--r--src/matrixOperations/expm/testMatrixExponential.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/matrixOperations/expm/testMatrixExponential.c b/src/matrixOperations/expm/testMatrixExponential.c
index 361ec9b7..13bf82d5 100644
--- a/src/matrixOperations/expm/testMatrixExponential.c
+++ b/src/matrixOperations/expm/testMatrixExponential.c
@@ -399,7 +399,7 @@
-18.7135188739136353f,-17.6467699531147559f,-16.5820479292089722f,-17.0861611432949942f,\
-19.7638794191151916f,-21.2748129090505991f}
-
+/* FIXME: assert are 1e04 and 1e14 */
static void sexpmaTest (void ) {
int i = 0 ;
@@ -410,6 +410,11 @@ static void sexpmaTest (void ) {
float out[LEADDIM*LEADDIM] ;
+ float mon_test[9]={4,8,3,2,8,4,3,4,5};
+ float result_mon_test[9]={179660.90104359941324219f,452187.79172967246267945f,273148.88425553269917145f,
+ 163436.47016010177321732f,411353.63271151197841391f,248489.23907714022789150f,
+ 138776.82498170930193737f,349268.28353250800864771f,210989.61389596699154936f};
+ float out_mon_test[9] ;
sexpma ( in, out, LEADDIM) ;
@@ -417,6 +422,13 @@ static void sexpmaTest (void ) {
{
printf ( "\t\t %d out : %e\tresult : %e\tassert : %e \n" , i , out[i] , result[i] , fabs ( out[i] - result[i] ) / fabs( out[i]) ) ;
assert ( fabs ( out[i] - result[i] ) / fabs( out[i]) < 1e-5 ) ;
+ }
+
+ sexpma(mon_test,out_mon_test,3);
+ for ( i = 0 ; i < 9 ; i++ )
+ {
+ printf ( "\t\t %d out : %e\tresult : %e\tassert : %e \n" , i , out[i] , result[i] , fabs ( out[i] - result[i] ) / fabs( out[i]) ) ;
+ assert ( fabs ( out_mon_test[i] - result_mon_test[i] ) / fabs( out_mon_test[i]) < 1e-5 ) ;
}
}