Moving `examples/hello_world` -> `examples/hello-world` to match other examples.
[vvhitespace] / tests / 2005_arithmetic_remainder.pvvs
# This test verifies arithmetic IMP remainder.
# First, verify basic function with two positive numbers.
SSSTTSSSSTSN | ST: Push +194
SSSTSSSSSSTN | ST: Push +128
TSTT | MA: Remainder
TNSS | IO: Output character
# The VVS modulo function should always return a positive value.
# C-derived languages (among others) do not share this convention.
# This test verifies that -3 mod 2 = 1.
SSTTTN | ST: Push -3
SSSTSN | ST: Push +2
TSTT | MA: Remainder
TNST | IO: Output digit
# This test verifies that -3 mod -2 = 1.
SSTTTN | ST: Push -3
SSTTSN | ST: Push -2
TSTT | MA: Remainder
TNST | IO: Output digit
# This test verifies that -3 mod -(2^63) = 3.
SSTTTN | ST: Push -3
SSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSN | PUSH -(2^63)
TSTT | MA: Remainder
TNST | IO: Output digit
# All done
NNN | FC: Terminate program