Why a C++ compiler?
A C++ compiler is required because MAGICA relies on external
C++ code to realize some of its functionality. (As an example,
it uses the C math library function
nextafter to obtain information on
machine normal numbers.)
Platforms.
MAGICA has been successfully installed and tested on Solaris 7
and 8, using version 2.95.3 of the gcc compiler and version 4.1 of
Mathematica.
In addition, a successful installation and test has been done
with version 3.0.4 of g++ and version 4.1 of Mathematica on
both Solaris 7 and 8. It has also been successfully installed
and tested using g++ 3.2 and Mathematica 4.2 on
Red Hat Linux 8.0
(kernel version 2.4.18-14).
A Note on Function Type Signatures and Procedure
Cloning.
The type signature of a MATLAB function at a call site is a
tuple of the type signatures of the actual arguments at that
call site. An actual argument's type signature, in turn, is a
triplet of its value range, intrinsic type and shape. MAGICA
currently expects the type signatures of an M-file
function at all its call sites to be identical. This maybe
an inconvenience but is not a limitation. If two call sites of
an M-file function f differ in their type signatures,
they must be replaced by invocations to f1
and f2 where f1 and
f2 are cloned versions of f.
In current versions of MAGICA, the front-end has the onus of
performing such a duplication. |