Rev 4158 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | reyssat | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4158 | bpr | 4 | |
4351 | bpr | 5 | slib_author=Bernadette, Perrin-Riou |
4158 | bpr | 6 | |
20 | reyssat | 7 | slib_example= 1,2,0,2 |
3265 | bpr | 8 | slib_require=pari |
20 | reyssat | 9 | !exit |
10 | |||
11 | :proc |
||
12 | slib_out= |
||
13 | |||
14 | slib_liste=$wims_read_parm |
||
15 | |||
16 | slib_N = !itemcnt $slib_liste |
||
17 | slib_Y =!values 2*x for x = 1 to $[$slib_N/2] |
||
18 | slib_X =!values 2*x-1 for x = 1 to $[$slib_N/2] |
||
19 | |||
20 | slib_listeX = $(slib_liste[$slib_X]) |
||
21 | slib_listeY = $(slib_liste[$slib_Y]) |
||
22 | slib_u = !sort numeric items $slib_listeX |
||
23 | slib_rangex1 = $[$(slib_u[1])] |
||
24 | slib_rangex2 = $[$(slib_u[-1])] |
||
25 | slib_u = !sort numeric items $slib_listeY |
||
26 | slib_rangey1 = $[$(slib_u[1])] |
||
27 | slib_rangey2 = $[$(slib_u[-1])] |
||
28 | slib_dif= !exec pari max($slib_rangex2-($slib_rangex1), $slib_rangey2-($slib_rangey1))/2 |
||
29 | slib_xrange = $[($slib_rangex1+ $slib_rangex2)/2] |
||
30 | slib_rangex2 = $[$slib_xrange + $slib_dif] |
||
31 | slib_rangex1 = $[$slib_xrange - $slib_dif] |
||
32 | slib_yrange = $[($slib_rangey1+ $slib_rangey2)/2] |
||
33 | slib_rangey2 = $[$slib_yrange + $slib_dif] |
||
34 | slib_rangey1 = $[$slib_yrange - $slib_dif] |
||
35 | |||
36 | slib_out = $slib_rangex1,$slib_rangex2,$slib_rangey1,$slib_rangey2 |