Files
mercury/tests/benchmarks/arithmetic.nl
Fergus Henderson 88d7481917 Make it 9-queens rather than 8-queens.
queens.nl:
	Make it 9-queens rather than 8-queens.

Entry:
	Fix the entry points for the new name mangling.

Makefile, NP_Entry:
	Various changes.

arithmetic.nl:
	Added a test of the arithmetic operators.
	This probably belongs in a different directory, but
	this will do for the moment.
1994-10-02 16:40:36 +00:00

47 lines
1.1 KiB
Plaintext

:- module arithmetic.
:- import_module int, io.
:- pred main_predicate(list(string), io__state, io__state).
:- mode main_predicate(in, di, uo) is det.
main_predicate(_) -->
test(3, 4).
:- pred test(int, int, io__state, io__state).
:- mode test(in, in, di, uo) is det.
test(X, Y) -->
{
Plus is X + Y,
Times is X * Y,
Minus is X - Y,
Div is X // Y,
Mod is X mod Y,
LeftShift is X << Y,
RightShift is X >> Y,
BitAnd is X /\ Y,
BitOr is X \/ Y,
BitXor is X ^ Y,
BitNeg is \ X
},
write_message("X: ", X),
write_message("Y: ", Y),
write_message("X + Y: ", Plus),
write_message("X * Y: ", Times),
write_message("X - Y: ", Minus),
write_message("X / Y: ", Div),
write_message("X mod Y: ", Mod),
write_message("X << Y: ", LeftShift),
write_message("X >> Y: ", RightShift),
write_message("X /\\ Y: ", BitAnd),
write_message("X \\/ Y: ", BitOr),
write_message("X ^ Y: ", BitXor),
write_message("\\ X: ", BitNeg).
:- pred write_message(string, int, io__state, io__state).
:- mode write_message(in, in, di, uo) is det.
write_message(String, Int) -->
io__write_string(String), io__write_int(Int), io__write_string("\n").