Rev 7692 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7692 | Rev 13585 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | !if $wims_read_parm!=slib_header |
1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
2 | !goto proc |
3 | !endif |
3 | !endif |
4 | slib_author=Gang, XIAO |
4 | slib_author=Gang, XIAO |
5 | 5 | ||
6 | slib_example= 3,6 |
6 | slib_example= 3,6 |
7 | slib_require=pari |
7 | slib_require=pari |
Line 12... | Line 12... | ||
12 | !default slib_ring=Z |
12 | !default slib_ring=Z |
13 | !bound slib_size between integer 2 and 20 default 2 |
13 | !bound slib_size between integer 2 and 20 default 2 |
14 | !bound slib_range between integer 1 and 1000000 default 2 |
14 | !bound slib_range between integer 1 and 1000000 default 2 |
15 | 15 | ||
16 | !if $slib_ring=Z |
16 | !if $slib_ring=Z |
17 | slib_sh1=!shuffle $slib_size |
17 | slib_sh1=!shuffle $slib_size |
18 | slib_sh2=!shuffle $slib_size |
18 | slib_sh2=!shuffle $slib_size |
19 | slib_ran1=(random(2*$slib_range)*(2*random(2)-1)) |
19 | slib_ran1=(random(2*$slib_range)*(2*random(2)-1)) |
20 | slib_ran2=(random($slib_range)*(4*random(2)-2)) |
20 | slib_ran2=(random($slib_range)*(4*random(2)-2)) |
21 | slib_ran3=(random($slib_range)*(4*random(2)-2)+2*random(2)-1) |
21 | slib_ran3=(random($slib_range)*(4*random(2)-2)+2*random(2)-1) |
22 | slib_coef=if(x==y,$slib_ran3,if(x>y,$slib_ran2,$slib_ran1)) |
22 | slib_coef=if(x==y,$slib_ran3,if(x>y,$slib_ran2,$slib_ran1)) |
23 | slib_M1=vecextract(matrix($slib_size,$slib_size,x,y,$slib_coef),[$slib_sh1],[$slib_sh2]) |
23 | slib_M1=vecextract(matrix($slib_size,$slib_size,x,y,$slib_coef),[$slib_sh1],[$slib_sh2]) |
24 | slib_M2=matrix($slib_size,$slib_size,x,y,$slib_ran1) |
24 | slib_M2=matrix($slib_size,$slib_size,x,y,$slib_ran1) |
25 | slib_out=!exec pari M2=$slib_M2;if(matdet(M2)<>0,print(M2),print($slib_M1)) |
25 | slib_out=!exec pari M2=$slib_M2;if(matdet(M2)<>0,print(M2),print($slib_M1)) |
26 | !exit |
26 | !exit |
27 | !endif |
27 | !endif |