357175420dba562e5c3ccf4a64863db9b5942312
[scilab.git] / scilab / modules / statistics / tests / unit_tests / cdft.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) ????-2008 - INRIA
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // =============================================================================
8 // Tests for cdft() function
9 // using a table
10 // =============================================================================
11 // Run with test_run('statistics','cdft',['no_check_error_output']);
12 prec    = 1.e-5;
13 Tab     = [0.9,0.5,0.3,0.20,0.10,0.05,0.02];
14 Df      = [1,2,3,4,5,6,7];
15 Th      = [0.158,0.816,1.250,1.533,2.015,2.447,2.998];
16 [P1,Q1] = cdft("PQ",Th,Df);
17 [P2,Q2] = cdft("PQ",-Th,Df);
18 if norm(Tab-(Q1+P2)) > 0.1 then bugmes();quit;end
19 [P,Q] = cdft("PQ",Th,Df);
20 Th1   = cdft("T",Df,P,Q);
21 Df1   = cdft("Df",P,Q,Th);
22 if norm(Th1-Th) > prec then bugmes();quit;end
23 if norm(Df1-Df) > prec then bugmes();quit;end
24 // IEEE support
25 // See http://bugzilla.scilab.org/show_bug.cgi?id=7296
26 Df       = 1;
27 T        = %inf; // Inf
28 [P,Q]    = cdft("PQ", T, Df);
29 assert_checkequal(P, 1);
30 assert_checkequal(Q, 0);
31 T        = %nan; // NaN
32 [P,Q]    = cdft("PQ", T, Df);
33 assert_checkequal(P, %nan);
34 assert_checkequal(Q, %nan);