Rev 4501 | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_parms=2\
,[data]\
1,p
slib_author=Sophie, Lemaire; Bernadette, Perrin-Riou
slib_example=[2,4,7],6.1
!exit
:proc
!distribute item $wims_read_parm into slib_data,slib_p
!if $slib_p<=0
slib_out=0
!exit
!endif
slib_data=!declosing $slib_data
slib_p=$[$slib_p]
slib_a=$[exp(-$slib_p)]
slib_out=!values $slib_a * $slib_p^(x)/factorial(round(x)) for x in $slib_data
slib_out=!trim $slib_out
slib_cnt=!itemcnt $slib_data
!for slib_i=1 to $slib_cnt
slib_tmp=!item $slib_i of $slib_data
!if $[rint($slib_tmp)-$slib_tmp]<>0 or $slib_tmp < 0
slib_out=!replace internal item number $slib_i by 0 in $slib_out
!endif
!next slib_i
slib_out=!trim $slib_out