Subversion Repositories wimsdev

Rev

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

Rev Author Line No. Line
1941 bpr 1
!if $wims_read_parm!=slib_header
2
 !goto proc
3
!endif
4121 bpr 4
 
5
!!slib_title=Calculate an approximation interval for a given real
1941 bpr 6
slib_author=Bernadette Perrin-Riou
7
slib_example=234765\
8
0.006543\
9
45.987543,5,10
3265 bpr 10
slib_require=pari
4121 bpr 11
 
12
!reset slib_lang_exists_tmp
13
!readproc help/$lang/slib/text/approximation
14
!if $slib_lang_exists_tmp!=yes
15
 !readproc help/en/slib/text/approximation
16
!endif
1941 bpr 17
!exit
18
 
4121 bpr 19
 
20
!exit
21
 
1941 bpr 22
:proc
23
!distribute items $wims_read_parm into slib_r,slib_app,slib_tol
24
!default slib_app=3
25
!default slib_tol=1
26
slib_r_approx=!exec pari (f(r,n)= l=if(r != 0, floor(log(abs(r))/log(10)),1) ; s =round(10^(-l+n-1)*r) ; [l,s]) ; \
27
   f($slib_r,$slib_app)
28
slib_r_app=$[$(slib_r_approx[2])*10^(-$slib_app+1+$(slib_r_approx[1]))]
29
slib_out=!exec pari slib_err=$slib_tol*10^(-$slib_app+1+$(slib_r_approx[1])) ; 1.*[$slib_r_app-slib_err,$slib_r_app+slib_err]
30
 
31
slib_out=$slib_out,$slib_r_app