Subversion Repositories wimsdev

Rev

Rev 4161 | Blame | Last modification | View Log | RSS feed

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

slib_parms=4\
,[data]\
,N\
,n\
,k

slib_author=Sophie, Lemaire; Bernadette, Perrin-Riou

!exit

:proc

!distribute  item $wims_read_parm into slib_data,slib_N,slib_n,slib_K

slib_out=
slib_data=!declosing $slib_data

slib_cnt= !itemcnt $slib_data
slib_b= $[binomial($slib_N,$slib_n)^(-1)]
slib_min= $[max(0,$slib_b+$slib_K-$slib_N)]
slib_max= $[min($slib_n,$slib_N)]
!if $slib_max<$slib_min
slib_out=0
!exit
!endif
slib_PP=!values binomial($slib_k,x)*binomial($slib_N-$slib_K,$slib_n-x)*$slib_b for x = $slib_min to $slib_max
!for slib_i in $slib_data
slib_P=0

!for slib_k= 1 to to $[$slib_max -$slib_min+1]
slib_a=!item $slib_k of $slib_PP
slib_P=$[$slib_P+$slib_a]
!if $slib_P>= $slib_i
slib_out=!append item  $slib_k to $slib_out
!break
!endif
!next slib_k
!next slib_i
slib_out=!trim $slib_out