Rev 4330 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4330 | Rev 13586 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | !if $wims_read_parm!=slib_header |
1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
2 | !goto proc |
3 | !endif |
3 | !endif |
4 | 4 | ||
5 | slib_parms=3\ |
5 | slib_parms=3\ |
6 | ,[data]\ |
6 | ,[data]\ |
7 | 1,p\ |
7 | 1,p\ |
Line 15... | Line 15... | ||
15 | 15 | ||
16 | !distribute item $wims_read_parm into slib_data,slib_p,slib_N |
16 | !distribute item $wims_read_parm into slib_data,slib_p,slib_N |
17 | 17 | ||
18 | !default slib_N=1000 |
18 | !default slib_N=1000 |
19 | !if $slib_p<=0 |
19 | !if $slib_p<=0 |
20 | slib_out=0 |
20 | slib_out=0 |
21 | !exit |
21 | !exit |
22 | !endif |
22 | !endif |
23 | slib_out= |
23 | slib_out= |
24 | slib_data=!declosing $slib_data |
24 | slib_data=!declosing $slib_data |
25 | 25 | ||
26 | slib_cnt= !itemcnt $slib_data |
26 | slib_cnt= !itemcnt $slib_data |
27 | !for slib_i =1 to $slib_cnt |
27 | !for slib_i =1 to $slib_cnt |
28 | slib_di=!item $slib_i of $slib_data |
28 | slib_di=!item $slib_i of $slib_data |
29 | slib_P=0 |
29 | slib_P=0 |
30 | slib_a=$[exp(-$slib_p)] |
30 | slib_a=$[exp(-$slib_p)] |
31 | !for slib_k=0 to $slib_N |
31 | !for slib_k=0 to $slib_N |
32 | slib_P=$[$slib_P+$slib_a] |
32 | slib_P=$[$slib_P+$slib_a] |
33 | !if $slib_P>= $slib_di |
33 | !if $slib_P>= $slib_di |
34 | slib_out=!append item $slib_k to $slib_out |
34 | slib_out=!append item $slib_k to $slib_out |
35 | !break |
35 | !break |
36 | !endif |
36 | !endif |
37 | slib_a=$[$slib_p*$slib_a/($slib_k+1)] |
37 | slib_a=$[$slib_p*$slib_a/($slib_k+1)] |
38 | !next slib_k |
38 | !next slib_k |
39 | !next slib_i |
39 | !next slib_i |
40 | 40 | ||
41 | slib_out=!trim $slib_out |
41 | slib_out=!trim $slib_out |