Assert: new sub-module
[scilab.git] / scilab / modules / development_tools / tests / unit_tests / assert / computedigits.dia.ref
1 // Copyright (C) 2008 - INRIA - Michael Baudin
2 // Copyright (C) 2010 - DIGITEO - Michael Baudin
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9 // <-- JVM NOT MANDATORY -->
10 // <-- ENGLISH IMPOSED -->
11 function flag = MY_assert_equal ( computed , expected )
12   if computed==expected then
13     flag = 1;
14   else
15     flag = 0;
16   end
17   if flag <> 1 then bugmes();quit;end
18 endfunction
19 format("v",10);
20 //
21 dmax = -log10(2^(-53));
22 //
23 computed = assert_computedigits ( 1 , 1 );
24 MY_assert_equal ( computed , dmax );
25 //
26 computed = assert_computedigits ( 0 , 0 );
27 MY_assert_equal ( computed , dmax );
28 //
29 computed = assert_computedigits ( 1 , 0 );
30 MY_assert_equal ( computed , 0 );
31 //
32 computed = assert_computedigits ( 0 , 1 );
33 MY_assert_equal ( computed , 0 );
34 //
35 computed = assert_computedigits ( 3.1415926 , %pi );
36 MY_assert_equal ( computed , 7.76806779280040160 );
37 //
38 computed = assert_computedigits ( 3.1415926 , %pi , 2 );
39 MY_assert_equal ( computed , 25.80496264389331884 );
40 //
41 computed = assert_computedigits ( [0 0 1 1] , [0 1 0 1] );
42 MY_assert_equal ( computed , [dmax 0 0 dmax] );
43 //
44 computed = assert_computedigits(ones(3,2),ones(3,2));
45 MY_assert_equal ( computed , dmax * ones(3,2) );
46 //
47 computed = assert_computedigits([%nan %nan %nan %nan],[%nan %inf -%inf 0]);
48 MY_assert_equal ( computed , [dmax 0 0 0] );
49 //
50 computed = assert_computedigits([%inf %inf %inf %inf],[%nan %inf -%inf 0]);
51 MY_assert_equal ( computed , [0 dmax 0 0] );
52 //
53 computed = assert_computedigits([-%inf -%inf -%inf -%inf],[%nan %inf -%inf 0]);
54 MY_assert_equal ( computed , [0 0 dmax 0] );
55 //
56 computed = assert_computedigits([0 0 0 0],[%nan %inf -%inf 0]);
57 MY_assert_equal ( computed , [0 0 0 dmax] );
58 //
59 computed = assert_computedigits(1.224646799D-16,8.462643383D-18);
60 MY_assert_equal ( computed , 0 );
61 //
62 computed = assert_computedigits ( 1.2345 + %i*6.7891 , 1.23456789 + %i*6.789123456 );
63 MY_assert_equal ( computed , 4.259709168495138698 );
64 //
65 // The sign bit of the number of digits may be wrong because
66 // ieee(2); z=max(-0,0); 1/z is -%inf
67 back = ieee();
68 ieee(2);
69 computed = assert_computedigits ( 1.e-305 , 0 );
70 MY_assert_equal ( 1/computed , %inf );
71 //
72 computed = assert_computedigits ( 0 , 1.e-305 );
73 MY_assert_equal ( 1/computed , %inf );
74 ieee(back);