Fix test win 64b: test_run("cacsd", "dscr")
[scilab.git] / scilab / modules / cacsd / tests / unit_tests / dscr.dia.ref
index 8cd7627..1911c31 100644 (file)
@@ -1,15 +1,24 @@
 // =============================================================================
 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) ????-2008 - INRIA - Serge Steer
+// Copyright (C) 2008 - INRIA - Serge Steer
+// Copyright (C) 2011 - DIGITEO - Michael Baudin
 //
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
-a=-1/3;b=1;c=1;
+// Case #1
+a=-1/3;
+b=1;
+c=1;
 sl=syslin('c',a,b,c);
 sld=dscr(sl,0.1);
-if sld.dt<>0.1 then bugmes();quit;end
-if sld.A<>exp(sl.A*0.1) then bugmes();quit;end
-if norm(sld.B-sl.A\(sld.A-eye())*sl.B)>1d-15 then bugmes();quit;end
+assert_checkalmostequal ( sld.dt , 0.1 , %eps );
+computed = sld.A;
+expected = exp(sl.A*0.1);
+assert_checkalmostequal ( computed , expected , %eps );
+computed = sld.B;
+expected = sl.A\(sld.A-eye())*sl.B;
+assert_checkalmostequal ( computed , expected , %eps );
+// Case #2
 a=[0.9,0,0.6,-1.4,-4.2;
    0.2,0.1,-0.2,0.5,0.6;
    -4.3,0,2.2,0,2.4;
@@ -26,6 +35,10 @@ d=[1,0,0
    0,0,0];
 sl=syslin('c',a,b,c,d);
 sld=dscr(sl,0.1);
-if sld.dt<>0.1 then bugmes();quit;end
-if norm(sld.A-expm(sl.A*0.1))>1d-15 then bugmes();quit;end
-if norm(sld.B-sl.A\(sld.A-eye())*sl.B)>1d-14 then bugmes();quit;end
+assert_checkalmostequal ( sld.dt , 0.1 , %eps );
+computed = sld.A;
+expected = expm(sl.A*0.1);
+assert_checkalmostequal ( computed , expected , 1.e3 * %eps );
+computed = sld.B;
+expected = sl.A\(sld.A-eye())*sl.B;
+assert_checkalmostequal ( computed , expected , 2.e5 * %eps );