The Mathematica Journal
Download This Issue
Feature Articles
Graphics Gallery
Tricks of the Trade
In and Out
The Mathematica Programmer
New Products
New Publications
News Bulletins
Editor's Pick
Write Us
About the Journal
Staff and Contributors
Back Issues

MathCode C++ Generates Optimized C++ Code from Mathematica Programs

MathCode C++ will generate optimized C++ code that can be compiled and connected seamlessly into Mathematica. It features high-speed numeric computations and automatic linking of existing C, C++, and Fortran77 code into MathCode-generated C++ code base.

The MathCode C++ code-generation system provides high performance, connectivity, and easy-to-use matrix arithmetic for the Mathematica developer. The core of the product is the translation of a subset of Mathematica code to C++. MathCode C++ requires an external C++ compiler to generate executables from the C++ source code (e.g., Microsoft Visual C++ on Windows platforms or CC/gcc on Unix platforms). However, all interaction with the compiler is handled by functions available in MathCode C++.

MathCode C++ makes it possible to develop prototypes in the interactive Mathematica environment. These prototypes can be automatically translated to fast production code in C++ and linked to external applications, taking advantage of the speed of native C++ code.

Using MathCode C++ together with a C++ compiler, Mathematica packages can be compiled to executables and connected seamlessly into Mathematica. Existing functions/libraries of C, C++, and Fortran77 code can also be linked during compilation and connected into Mathematica.

Connectivity to C, C++, or Fortran77 code is obtained by automatically generating MathLink code for calling generated code and external applications. Callbacks from external applications into Mathematica can also be generated automatically.

Generation of stand-alone external code is supported, and no runtime license is necessary for the distribution of compiled code. Functions in a Mathematica package that the user wants to compile must take numerical arguments and give numerical results for MathCode C++ to be able to generate C++ code. Symbolic Mathematica code can be a part of function definitions, provided that the symbolic operations can be expanded to arithmetic expressions of an extended class of the elementary functions.

MathCode C++ requires Mathematica 3 or later and a C++ compiler (e.g.,Microsoft Visual C++ on Windows 95/98/NT or CC/gcc on Unix platforms) and is available for Windows 95/98/NT, Linux, and Solaris 2.6 or later. Other variants of Unix can be requested from the developer, MathCore AB, of Sweden. MathCore, 2921 Waverley Street, Palo Alto, CA 94306. The fax number is 650/322-2166.

More information about MathCode C++    

[New Products Index] [Prev Page] [Next Page]