To install MAGICA, the following is needed:
  • Mathematica version 4.1 or higher,
  • A C++ compiler.
  • 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.