Synchronize with YaSp branch version
[scilab.git] / scilab / modules / statistics / tests / unit_tests / cdfchi.tst
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 // =============================================================================
9 // Tests for cdfchi() function
10 // =============================================================================
11
12 // Run with test_run('statistics','cdfchi',['no_check_error_output']);
13
14 prec = 1.e-5;
15
16 x  = [0.01,0.025,0.05,0.1,0.9,0.95];
17 deff('[y]=chi1(x)','y=exp(-x/2)/sqrt(2*%pi*x)');
18 y1 = [];
19
20 for xx=x
21         y1=[y1,intg(0,xx,chi1)];
22 end
23
24 y2 = cdfchi("PQ",x,ones(x));
25 if norm(y1-y2) > prec then pause,end
26
27 df       = [1,2,3,4,5,6];
28 [P,Q]    = cdfchi("PQ",x,df);
29 [x1]     = cdfchi("X",df,P,Q);
30 [df1]    = cdfchi("Df",P,Q,x);
31
32 if norm(x1-x)   > prec then pause,end
33 if norm(df1-df) > prec then pause,end
34
35 // IEEE support
36 // See http://bugzilla.scilab.org/show_bug.cgi?id=7296
37 Df       = 1;
38
39 X        = %inf; // Inf
40 [P,Q]    = cdfchi("PQ", X, Df);
41 assert_checkequal(P, 1);
42 assert_checkequal(Q, 0);
43
44 X        = %nan; // NaN
45 [P,Q]    = cdfchi("PQ", X, Df);
46 assert_checkequal(P, %nan);
47 assert_checkequal(Q, %nan);