Subversion Repositories wimsdev

Rev

Rev 6557 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2779 bpr 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4158 bpr 4
 
4349 bpr 5
slib_author=Bernadette, Perrin-Riou
3265 bpr 6
slib_require=pari
2779 bpr 7
!exit
8
 
9
:proc
4175 bpr 10
!reset slib_color slib_option
2779 bpr 11
slib_texte=$wims_read_parm
4175 bpr 12
!if $(wims_read_parm[-1])=html or $(wims_read_parm[-1])=url or $(wims_read_parm[-1])=raw
13
  slib_texte=$(wims_read_parm[1..-2])
14
  slib_option=$(wims_read_parm[-1])
15
!endif
2779 bpr 16
slib_cnt=!charcnt $slib_texte
17
slib_N=$[(round(sqrt($slib_cnt))+1)^2]
18
slib_init=0
19
 
20
slib_c1=0
21
slib_c2=1
22
slib_c3=1
23
slib_size=$[round(sqrt($slib_N)/2)+2]
24
slib_size=-$slib_size,$slib_size
25
slib_Size=400,400
26
slib_dessin=xrange $slib_size\
27
yrange $slib_size\
28
linewidth 4
29
slib_deplac=1,0;0,1;-1,0;0,-1
30
slib_point=0,0
31
slib_dessin=$slib_dessin\
32
text black,$slib_point,giant,
33
slib_Point=$slib_point
34
 
35
!for slib_k=1+$slib_init to $slib_N+$slib_init
36
     slib_tr=$(slib_deplac[$slib_c1+1;])
37
     slib_point = !exec pari [$slib_point] + [$slib_tr]
38
     slib_Point=$slib_Point\
39
     $slib_point
7692 bpr 40
 
2779 bpr 41
     slib_l=!char $slib_k of $slib_texte
42
     slib_dessin=$slib_dessin\
43
text black, $slib_point, giant,$slib_l
44
     !if $slib_c3=$slib_c2
45
       !if $slib_c1%2!=0
46
         slib_c2=$[$slib_c2+1]
47
       !endif
48
       slib_c1=$[($slib_c1+1)%4]
49
       slib_c3=1
50
    !else
51
       slib_c3=$[$slib_c3+1]
52
    !endif
53
!next
54
slib_out=$slib_dessin
55
 
4175 bpr 56
!if url iswordof $slib_option or html iswordof $slib_option
57
  insdraw_size=300,300
58
 !insdraw $slib_out
59
 slib_out=$ins_url
60
 !if html iswordof $slib_option
6557 bpr 61
   slib_out=<img src="$ins_url" alt="" />
4908 bpr 62
 !else
63
   slib_out=$slib_out,$insdraw_size
4175 bpr 64
 !endif
65
!endif
2779 bpr 66
 
4175 bpr 67
 
68