Files
mercury/tests/hard_coded/rev_arith.m
2020-10-03 17:43:38 +10:00

60 lines
1.4 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% A test to see whether backwards arithmetic works.
%
% Note that currently only + and - can be run backwards;
% running * or // backwards would lead to multiple answers,
% and so we don't support that.
%
:- module rev_arith.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
:- import_module int.
:- import_module std_util.
main(!IO) :-
3 = 1 + A,
3 = B + 2,
C = 1 + 2,
% 10 = 2 * D,
% 10 = E * 5,
% F = 2 * 5,
20 = 30 - G,
20 = H - 10,
I = 30 - 10,
% 15 = 90 // J,
% 15 = K // 6,
% L = 90 // 6
io.write_int(A, !IO),
io.write_string("\n", !IO),
io.write_int(B, !IO),
io.write_string("\n", !IO),
io.write_int(C, !IO),
io.write_string("\n", !IO),
% io.write_int(D, !IO),
% io.write_string("\n", !IO),
% io.write_int(E, !IO),
% io.write_string("\n", !IO),
% io.write_int(F, !IO),
% io.write_string("\n", !IO),
io.write_int(G, !IO),
io.write_string("\n", !IO),
io.write_int(H, !IO),
io.write_string("\n", !IO),
io.write_int(I, !IO),
io.write_string("\n", !IO).
% io.write_int(J, !IO),
% io.write_string("\n", !IO),
% io.write_int(K, !IO),
% io.write_string("\n", !IO),
% io.write_int(L, !IO),
% io.write_string("\n", !IO).