/usr/share/axiom-20170501/src/algebra/MCMPLX.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | )abbrev domain MCMPLX MachineComplex
++ Date Created: December 1993
++ Description:
++ A domain which models the complex number representation
++ used by machines in the AXIOM-NAG link.
MachineComplex() : SIG == CODE where
SIG ==> Join (FortranMachineTypeCategory,
ComplexCategory(MachineFloat)) with
coerce : Complex Float -> $
++ coerce(u) transforms u into a MachineComplex
coerce : Complex Integer -> $
++ coerce(u) transforms u into a MachineComplex
coerce : Complex MachineFloat -> $
++ coerce(u) transforms u into a MachineComplex
coerce : Complex MachineInteger -> $
++ coerce(u) transforms u into a MachineComplex
coerce : $ -> Complex Float
++ coerce(u) transforms u into a COmplex Float
CODE ==> Complex MachineFloat add
coerce(u:Complex Float):$ ==
complex(real(u)::MachineFloat,imag(u)::MachineFloat)
coerce(u:Complex Integer):$ ==
complex(real(u)::MachineFloat,imag(u)::MachineFloat)
coerce(u:Complex MachineInteger):$ ==
complex(real(u)::MachineFloat,imag(u)::MachineFloat)
coerce(u:Complex MachineFloat):$ ==
complex(real(u),imag(u))
coerce(u:$):Complex Float ==
complex(real(u)::Float,imag(u)::Float)
|