{ test of constants and modulo operator}
$c+
module test4
private
 integer a;
 constant z = 6;
 constant m = 4;
 constant t = false;
 constant neg = -3;  { constant fold test}
 constant zm = z*m;  { constant fold test}
 begin

 a := 55;

 if   ~t  -> write 1;	{ should be 1}
   []  t  -> write 0;
 fi;

write a / (z + neg); { should be 18}
write a \ (z + neg); { should be  1}
write zm + 2*neg;    { should be 18}
write (a+2) \ m;     { should be 1  -- careful with this one.}
write 55 \ neg;	     { should be 1}
end.
	{output: 1 18 1 18 1 1}
