!set methtit2=Multiplier une inégalité par un nombre non-nul
!set methtit=Multiplier une inégalité par un nombre
!set methenv=ZZ QQ RR
!set methparmtype=number,parm inequality
!set methhelp=Cette méthode transforme une inégalité du style \(A > B)\
  en l'inégalité équivalente \(A*n > B*n) (ou \(A*n < B*n)), où \(n) est un nombre\
  qui doit être non-nul pour guarantir l'équivalence entre l'inégalité\
  de départ et celle transformée.

!if $wims_read_parm iswordof form check
  !goto $wims_read_parm
!endif

!exit
:form
Multiplier l'inégalité
!read deduc/methparm.phtml 2
$ par le nombre
!read deduc/methparm.phtml 1,10

!exit
:check
!distribute items $methparmobj2 into data,left,sign,right
!if $methparm1=0
  error=Multiplier une inégalité par 0 vous fait perdre de l'information, et \
   est donc interdit.
  !advance penalty
  !exit
!endif
methexp=Multiplier \($left $sign $right) par \($methparm1)

!read deduc/sub/simplify ($left) * ($methparm1)\
	($right) * ($methparm1)
!distribute lines $out into newleft,newright
!if $newleft=$empty or $newright=$empty
  error=bad_data
 !exit
!endif
!if $methparm1<0
  newsign=!translate internal <> to >< in $sign
!else
  newsign=$sign
!endif
newobject2=$newleft $newsign $newright
oldobject=2

contextlist=$ct_Onlywhen on multiplie par un nombre non-nul,\
	$ct_Onlywhen on multiplie par un nombre positif,\
	$ct_Onlywhen les deux côtés sont positifs,\
	$ct_Onlywhen les deux côtés sont de même signe,\
	$ct_Onlywhen l'inégalité est stricte

badsign=!translate internal <> to >< in $newsign
resultlist=$newobject2,\
	$newright $newsign $newleft,\
	$newleft $badsign $newright
!exit
