Rev 4501 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
13586 | bpr | 2 | !goto proc |
20 | reyssat | 3 | !endif |
4161 | bpr | 4 | |
20 | reyssat | 5 | slib_parms=2\ |
6 | ,[data]\ |
||
7 | 1,p |
||
8 | |||
4330 | bpr | 9 | slib_author=Sophie, Lemaire; Bernadette, Perrin-Riou |
4161 | bpr | 10 | |
20 | reyssat | 11 | slib_example=[2,4,7],6.1 |
12 | !exit |
||
13 | |||
14 | :proc |
||
15 | |||
16 | !distribute item $wims_read_parm into slib_data,slib_p |
||
17 | |||
18 | !if $slib_p<=0 |
||
19 | slib_out=0 |
||
20 | !exit |
||
21 | !endif |
||
22 | |||
23 | slib_data=!declosing $slib_data |
||
4501 | bpr | 24 | slib_p=$[$slib_p] |
20 | reyssat | 25 | slib_a=$[exp(-$slib_p)] |
4501 | bpr | 26 | slib_out=!values $slib_a * $slib_p^(x)/factorial(round(x)) for x in $slib_data |
20 | reyssat | 27 | |
28 | slib_out=!trim $slib_out |
||
29 | slib_cnt=!itemcnt $slib_data |
||
30 | !for slib_i=1 to $slib_cnt |
||
31 | slib_tmp=!item $slib_i of $slib_data |
||
32 | !if $[rint($slib_tmp)-$slib_tmp]<>0 or $slib_tmp < 0 |
||
33 | slib_out=!replace internal item number $slib_i by 0 in $slib_out |
||
34 | !endif |
||
35 | !next slib_i |
||
36 | slib_out=!trim $slib_out |