!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_title=Deviation of statistical data
slib_parms=1\
,[data] or [data],[weight]
slib_author=Adeline Grelot
slib_out=standard (empiric) deviation sqrt(sum((x_i-mean)^2,i=1,n)/n),deviation sqrt(sum((x_i-mean)^2,i=1,n))/(n-1))
slib_comment=Data and weight can be recognized under many formats, \
in particular as a matrix (with data before weight).
slib_example=[1,2,5]\
[1,2,3;2,4,5]\
[1,3,3],[2,4,5]

!exit

:proc
slib_out=

!readproc slib/stat/dataproc $wims_read_parm
!if $slib_cnt<2
	slib_out=0,0
	!exit
!else
	!if $slib_weight =$empty
		slib_data1=!sum x for x in $slib_data
		slib_mean=$[($slib_data1)/$slib_cnt]
		slib_dev=!sum (x-($slib_mean))^2 for x in $slib_data
		slib_out=$[sqrt($slib_dev/$slib_cnt)],$[sqrt($slib_dev/($slib_cnt-1))]
		slib_out =!trim $slib_out
		!exit
	!else
		slib_out=!exec pari  slib_mean=([$slib_data]*[$slib_weight]~)/$slib_tw;\
slib_dev=sqrt(sum(x=1,$slib_cnt,[$slib_weight][x]*([$slib_data][x]-slib_mean)^2));\
print(slib_dev/sqrt($slib_tw)","slib_dev/sqrt($slib_tw-1))
slib_out =!trim $slib_out
	!endif weight
!endif

