-- test of constants and modulo operator
@c+
module test4
private
 integer a;
 const z = 6;
 const m = 4;
 const t = false;
 const neg = -3;  -- constant fold test
 const 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.
	-- 1 18 1 18 1 1
