Subversion Repositories wimsdev

Rev

Rev 4158 | Rev 13588 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

slib_author=Bernadette, Perrin-Riou
slib_example=[5,4,2]
!exit

:proc

!distribute items $wims_read_parm into slib_partition
slib_partition=!declosing $slib_partition
slib_partition=!sort reverse numeric item $slib_partition

slib_out=!exec pari p=[$slib_partition] ;  n=sum(i=1,#p,p[i]) ;\
    L=listcreate(n) ; test=0 ;\
    for( a = 1, #p, if( a <#p && p[a+1] > 1 ,listput(L,p[a]), listput(L, p[a]-1) ; test=1 ; N=#p-a +1; s=divrem(N,p[a]-1)~;for(j=1 , s[1], listput(L,p[a]-1)) ; if(s[2]!=0, listput(L,s[2]) ) ; return(Vec(L)) ; break))