Generating C and Fortran Expressions

If you have specialpurpose programs written in C or Fortran, you may want to take formulas you have generated in the Wolfram Language and insert them into the source code of your programs. The Wolfram Language allows you to convert mathematical expressions into C and Fortran expressions.

CForm[expr]write out expr so it can be used in a C program
FortranForm[expr]write out expr for Fortran
Export[file,expr,"C"]write out a C function that computes expr

Wolfram Language output for programming languages.

Here is an expression, written out in standard Wolfram Language form.
In[1]:=
Click for copyable input
Out[1]=
Here is the expression in Fortran form.
In[2]:=
Click for copyable input
Out[2]//FortranForm=
Here is the same expression in C form. Macros for objects like Power are defined in the C header file mdefs.h that comes with most versions of the Wolfram Language.
In[3]:=
Click for copyable input
Out[3]//CForm=

If you want to generate a C version of an entire expression you can do this with Export to C.

Here an entire C function is computed from a Wolfram Language CompiledFunction expression.
In[4]:=
Click for copyable input
Out[4]=

One of the common motivations for converting Wolfram Language expressions into C or Fortran is to try to make them faster to evaluate numerically. But the single most important reason that C and Fortran can potentially be more efficient than the Wolfram Language is that in these languages the user always specifies up front what type each variable will beinteger, real number, array, and so on.

The Wolfram Language function Compile makes such assumptions within the Wolfram Language, and generates highly efficient internal code. This can be made to run even faster by setting the CompilationTarget to .

Compile[x,expr]compile an expression into efficient internal code
Compile[x,expr,CompilationTarget->"C"]compile into C code and link back into the Wolfram Language

Compiling Wolfram Language expressions.