randlib: fix grand_clcg4.tst display
[scilab.git] / scilab / modules / randlib / tests / unit_tests / grand_clcg4.tst
1 //<-- CLI SHELL MODE -->
2 // =============================================================================
3 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 // Copyright (C) ????-2008 - INRIA
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8
9 grand("setgen","clcg4");
10
11 // Low level test for grand
12
13 //**********************************************************************
14 //     A test program for the bottom level routines
15 //     Scilab implementation of tstbot.f
16 //**********************************************************************
17 NB       = 10
18 NR       = 1000
19 answer   = ones(NB,NR);
20 genlst   = [1,5,10,20,32]
21 nbad     = 0;
22
23 str      = ["For five virtual generators of the 101"
24 " This test generates "+string(NB)+" numbers then resets the block"
25 "      and does it again"
26 " Any disagreements are reported -- there should be none"];
27 mprintf(strcat(str, "\n"));
28
29 //
30 //     Set up Generators
31 //
32
33 grand("setall",12345,54321,6789,9876);
34
35 //
36 //     For a selected set of generators
37 //
38
39 for ixgen = 1:5
40     igen = genlst(ixgen)
41     grand("setcgn",igen);
42     mprintf(" Testing generator "+string(igen)+"\n");
43     //
44     //     Use NB blocks
45     //
46     grand("initgn",-1);
47     SD=grand("getsd");iseed1=SD(1);iseed2=SD(2);
48     for iblock = 1:NB
49         //     Generate NR numbers
50         answer(iblock,1:NR)= grand(1,NR,"lgi");
51         grand("initgn",1);
52     end
53     grand("initgn",-1);
54     //
55     //     Do it again and compare answers
56     //
57     SD=grand("getsd");iseed1=SD(1);iseed2=SD(2);
58     //
59     //     Use NB blocks
60     //
61     for iblock = 1:NB
62         //     Generate NR numbers
63         itmp = grand(1,NR,"lgi");
64         if itmp<>answer(iblock,:) then
65             str=[" Disagreement on regeneration of numbers" ..
66             +" Block "+string(iblock)+" N within Block "];
67             mprintf(str);
68         end
69
70         if itmp<>answer(iblock,:) then pause,end
71
72         grand("initgn",1);
73     end
74
75     mprintf(" Finished testing generator "+string(igen)+"\n");
76     mprintf(" Test completed successfully\n");
77
78 end