mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-20 11:54:02 +00:00
Estimated hours taken: 1 Branches: main, release Cleanups for the complex numbers library. extras/complex_numbers/*.m: extras/complex_numbers/samples/fft.m: extras/complex_numbers/tests/complex_test.m: Convert these modules to four-space indentation. Conform to our current coding standard.
92 lines
2.8 KiB
Mathematica
92 lines
2.8 KiB
Mathematica
% A test case for arithmetic on complex, imag, and float.
|
|
|
|
:- module complex_test.
|
|
:- interface.
|
|
:- import_module io.
|
|
|
|
:- pred main(io::di, io::uo) is det.
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
%-----------------------------------------------------------------------------%
|
|
|
|
:- implementation.
|
|
|
|
:- import_module complex_numbers.
|
|
:- import_module complex_numbers.complex.
|
|
:- import_module complex_numbers.complex_imag.
|
|
:- import_module complex_numbers.float_imag.
|
|
:- import_module complex_numbers.imag.
|
|
:- import_module complex_numbers.imag_complex.
|
|
:- import_module complex_numbers.imag_float.
|
|
|
|
:- import_module float.
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
|
|
main -->
|
|
print("tests of (complex op complex)"), nl,
|
|
{ X = 3.0 + 4.0 * i },
|
|
print("X = "), print(X), nl,
|
|
print("X + X = "), print(X + X), nl,
|
|
print("X - X = "), print(X - X), nl,
|
|
print("X * X = "), print(X * X), nl,
|
|
print("X / X = "), print(X / X), nl,
|
|
{ Y = - 5.0 + 6.0 * i },
|
|
print("Y = "), print(Y), nl,
|
|
print("Y + Y = "), print(Y + Y), nl,
|
|
print("Y - Y = "), print(Y - Y), nl,
|
|
print("Y * Y = "), print(Y * Y), nl,
|
|
print("Y / Y = "), print(Y / Y), nl,
|
|
print("X + Y = "), print(X + Y), nl,
|
|
print("X - Y = "), print(X - Y), nl,
|
|
print("X * Y = "), print(X * Y), nl,
|
|
print("X / Y = "), print(X / Y), nl,
|
|
nl,
|
|
|
|
print("tests of (imag op imag)"), nl,
|
|
{ Z = 4.0 * i },
|
|
print("Z = "), print(Z), nl,
|
|
print("Z + Z = "), print(Z + Z), nl,
|
|
print("Z - Z = "), print(Z - Z), nl,
|
|
print("Z * Z = "), print(Z * Z), nl,
|
|
print("Z / Z = "), print(Z / Z), nl,
|
|
nl,
|
|
|
|
print("tests of (float op imag)"), nl,
|
|
print("5.0 + Z = "), print(5.0 + Z), nl,
|
|
print("5.0 - Z = "), print(5.0 - Z), nl,
|
|
print("5.0 * Z = "), print(5.0 * Z), nl,
|
|
print("5.0 / Z = "), print(5.0 / Z), nl,
|
|
nl,
|
|
|
|
print("tests of (imag op float)"), nl,
|
|
print("Z + 5.0 = "), print(Z + 5.0), nl,
|
|
print("Z - 5.0 = "), print(Z - 5.0), nl,
|
|
print("Z * 5.0 = "), print(Z * 5.0), nl,
|
|
print("Z / 5.0 = "), print(Z / 5.0), nl,
|
|
nl,
|
|
|
|
print("tests of (complex op imag)"), nl,
|
|
print("X + Z = "), print(X + Z), nl,
|
|
print("X - Z = "), print(X - Z), nl,
|
|
print("X * Z = "), print(X * Z), nl,
|
|
print("X / Z = "), print(X / Z), nl,
|
|
print("Y + Z = "), print(Y + Z), nl,
|
|
print("Y - Z = "), print(Y - Z), nl,
|
|
print("Y * Z = "), print(Y * Z), nl,
|
|
print("Y / Z = "), print(Y / Z), nl,
|
|
nl,
|
|
|
|
print("tests of (imag op complex)"), nl,
|
|
print("Z + X = "), print(Z + X), nl,
|
|
print("Z - X = "), print(Z - X), nl,
|
|
print("Z * X = "), print(Z * X), nl,
|
|
print("Z / X = "), print(Z / X), nl,
|
|
print("Z + Y = "), print(Z + Y), nl,
|
|
print("Z - Y = "), print(Z - Y), nl,
|
|
print("Z * Y = "), print(Z * Y), nl,
|
|
print("Z / Y = "), print(Z / Y), nl.
|
|
|
|
%-----------------------------------------------------------------------------%
|
|
%-----------------------------------------------------------------------------%
|