!if $wims_read_parm!=slib_header
  !goto proc
!endif

slib_parms=2\
,[data]\
0.5,p

slib_author=Sophie, Lemaire; Bernadette, Perrin-Riou

slib_example=[2,4,7],0.5
!exit

:proc

!distribute item $wims_read_parm into slib_data,slib_p
!default slib_p=0.5
!if $slib_p<=0 or $slib_p>=1
  slib_out=0
  !exit
!endif
slib_out=
slib_data=!declosing $slib_data
slib_p=$[$slib_p]
slib_p1=$[1-$slib_p]
slib_out=
!for slib_x in $slib_data
  !if $slib_x<=0
    slib_out=!append item 0 to $slib_out
  !else
    slib_out=!append item $[1-$slib_p1^($[floor($slib_x)])] to $slib_out
  !endif
!next slib_x

slib_out=!trim $slib_out
