!if $wims_read_parm!=slib_header
 !goto proc
!endif
slib_title=Calcule les coordonnes des deux points extr&ecirc;mes pour tracer une droite dans un repre
slib_parms=6\
,coefficient directeur de la droite\
,valeur  l'origine\
,abscisse minimale du repre\
,ordonne minimale du repre\
,abscisse maximale du repre\
,ordonne maximale du repre
slib_author=Fabrice Guerimand 
slib_out=Deux lignes comportant chacune les coordonnes de l'un des points.
!exit


:proc
slib_input=$wims_read_parm

!distribute items $slib_input into a,b,mx,my,Mx,My
slib_out=$slib_input

liste=$empty
tmp=$[$mx*($a)+($b)]
!ifval $tmp<=$My and $tmp>=$my
 liste=!append line $mx,$tmp to $liste
!endif
tmp=$[$Mx*($a)+($b)]
!ifval $tmp<=$My and $tmp>=$my
 liste=!append line $Mx,$tmp to $liste
!endif
tmp=!linecnt $liste
!if $tmp=2
 !goto end
!endif

tmp=$[($my-($b))/($a)]
!ifval $tmp<=$Mx and $tmp>=$mx
 liste=!append line $tmp,$my to $liste
!endif

tmp=$[($My-($b))/($a)]
!ifval $tmp<=$Mx and $tmp>=$mx
 liste=!append line $tmp,$My to $liste
!endif

:end


tmp=!linecnt $liste
!if $tmp<2
 slib_out=error
!else
 slib_out=!line 1 to 2 of $liste 
!endif
