Rev 4330 | 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 |
||
4161 | bpr | 4 | |
20 | reyssat | 5 | slib_parms=3\ |
6 | 1,m\ |
||
7 | ,[p1,p2,..pj]\ |
||
8 | ,[v1,v2,..vj] |
||
4330 | bpr | 9 | slib_author=Sophie, Lemaire; Bernadette, Perrin-Riou |
20 | reyssat | 10 | |
4330 | bpr | 11 | slib_comment= P(X = v_i) = p_i |
20 | reyssat | 12 | |
13 | slib_example= 5,[0.5,0.5],[3,7]\ |
||
14 | 5,[1/3,1/3,1/3],[pile,face,tranche] |
||
15 | |||
16 | !exit |
||
17 | |||
18 | :proc |
||
19 | |||
20 | !distribute item $wims_read_parm into slib_m, slib_p,slib_v |
||
21 | |||
22 | slib_out=$empty |
||
23 | !default slib_m=1 |
||
24 | slib_p=!declosing $slib_p |
||
25 | slib_v=!declosing $slib_v |
||
26 | slib_t=!itemcnt $slib_p |
||
27 | slib_s=!item 1 of $slib_p |
||
28 | slib_q=$slib_s |
||
29 | |||
30 | !for slib_i=2 to $[$slib_t -1] |
||
31 | slib_a = !item $slib_i of $slib_p |
||
32 | slib_s=$[$slib_s + $slib_a] |
||
33 | slib_q=!append item $slib_s to $slib_q |
||
34 | !next slib_i |
||
35 | slib_q=!append item 1 to $slib_q |
||
36 | slib_U=!random 0,1 repeat $slib_m |
||
37 | |||
38 | !for slib_i=1 to $slib_m |
||
39 | slib_pr=!item $slib_i of $slib_U |
||
40 | slib_j=1 |
||
41 | :debut |
||
42 | slib_a=!item $slib_j of $slib_q |
||
43 | !if $slib_pr >= $slib_a |
||
44 | !advance slib_j |
||
45 | !goto debut |
||
46 | !endif |
||
7692 | bpr | 47 | |
20 | reyssat | 48 | slib_r= !item $slib_j of $slib_v |
49 | slib_out=!append item $slib_r to $slib_out |
||
50 | !next slib_i |
||
51 | |||
7692 | bpr | 52 | slib_out =!trim $slib_out |