C Functions

SymbolicC supports working with C functions, as described in this section.

Defining Functions

First, you need to load the package.

Needs["SymbolicC`"]

Now, you can create a C function with (PackageLink[CFunction, paclet:SymbolicC/ref/CFunction, SymbolicC Package Symbol]).

CFunction[ int, name, {},{CAssign[a,b], COperator[Plus,{a,b}]}]//ToCCodeString

You can give a list as the type specification if you need type qualifiers.

CFunction[{static, int}, name, {},{CAssign[a,b], COperator[Plus,{a,b}]}]//ToCCodeString

Calling Functions

First, you need to load the package.

Needs["SymbolicC`"]

Now, you can call a C function with (PackageLink[CCall, paclet:SymbolicC/ref/CCall, SymbolicC Package Symbol]).

CCall[function, {a,b}]//ToCCodeString

Standard Math Operators

First, you need to load the package.

Needs["SymbolicC`"]

SymbolicC provides a full range of the standard C math operators. These generate function calls, as shown in the following.

CStandardMathOperator[Cos,{a}]//ToCCodeString

For some standard math operators there is no corresponding Wolfram Language function. In this case a string is used, as shown below.

CStandardMathOperator["ldexp",{a}]//ToCCodeString

The full list of standard math operators is given below, showing the name in the Wolfram Language and the output C name.

Wolfram Language function names and the corresponding standard math functions.