Subversion Repositories wimsdev

Rev

Rev 20 | Rev 4161 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4
slib_title=Generation of linear congruential random integers
5
slib_parms=4\
6
 ,n\
7
 ,a\
8
 ,b\
9
 ,m
10
slib_author=Bernadette PERRIN-RIOU
11
slib_out=n integers generated by the linear congruences ax+b mod m
12
slib_synonyme=
13
slib_comment=The length of the data numbers is limited.
14
slib_example=10, 3,7,11
3265 bpr 15
slib_require=pari
20 reyssat 16
!exit
17
 
18
:proc
19
slib_out=
20
 
21
!distribute item $wims_read_parm into slib_n,slib_a,slib_b,slib_m
22
slib_A=!randint $slib_m
23
 
24
slib_out=!exec pari {slib_L=vector($slib_n);slib_A=$slib_A;\
25
for(slib_k=1,$slib_n,\
26
slib_A=lift(Mod($slib_a*slib_A+$slib_b,$slib_m));\
27
slib_L[slib_k]=slib_A);print(slib_L);}
28
 
29
slib_out =!trim $slib_out