# pgcd sur les indices

!distribute items $wims_read_parm into slib_n, slib_type, slib_formula

!if $slib_static_r=$empty
 slib_primes=!shuffle 2,3,5,7,11,13
 slib_static_r=$[$(slib_primes[1])*$(slib_primes[2])]
 slib_static_gcd=!randitem 1,$(slib_primes[1])
!endif

slib_list=!item 4 to -1 of $wims_read_parm
slib_all=!makelist x for x=1 to $slib_n
slib_test=!values gcd(x-1,$slib_static_r) for x in $slib_all
slib_1=!positionof item $slib_static_gcd in $slib_test

!default slib_static_r2=!randitem 1,2
!if $slib_static_r2=1
 slib_eq=\(=)
!else
 slib_eq=\(\ne)
 slib_1=!listcomplement $slib_1 in $slib_all
!endif

!if $slib_formula != $empty
 slib_list=!item $slib_1 of $slib_list
 slib_sum=!sum $slib_formula for x in $slib_list
!else
 slib_sum=
!endif

slib_ind=!randitem tous les indices,l'ensemble des indices, les indices
slib_tq=!randitem tels que, pour qui, o, pour lesquels
slib_parm=!randitem (var_i,$slib_static_r),($slib_static_r,var_i)
slib_2=pour $slib_ind var_i $slib_tq <tt>pgcd$slib_parm $slib_eq $slib_static_gcd</tt>

slib_out=$slib_1\
$slib_2\
$slib_sum

