Compile

Compile[{x1,x2,},expr]
creates a compiled function that evaluates expr assuming numerical values of the .

Compile[{{x1,t1},},expr]
assumes that is of a type that matches .

Compile[{{x1,t1,n1},},expr]
assumes that is a rank array of objects, each of a type that matches .

Compile[vars,expr,{{p1,pt1},}]
assumes that subexpressions in expr that match are of types that match .

Details and OptionsDetails and Options

  • The types handled by Compile are:
  • _Integermachinesize integer
    _Realmachineprecision approximate real number (default)
    _Complexmachineprecision approximate complex number
    True | Falselogical variable
  • Nested lists given as input to a compiled function must be full arrays of numbers.
  • Compile handles numerical functions, matrix operations, procedural programming constructs, list manipulation functions, and functional programming constructs, etc.
  • Compile generates a CompiledFunction object.
  • Compiled code does not handle numerical precision and local variables in the same way as ordinary Wolfram Language code.
  • If a compiled function cannot be evaluated with particular arguments using compiled code, ordinary Wolfram Language code is used instead.
  • Ordinary Wolfram Language code can be called from within compiled code. Results obtained from the Wolfram Language code are assumed to be approximate real numbers, unless specified otherwise by the third argument of Compile.
  • The number of times and the order in which objects are evaluated by Compile may be different from ordinary Wolfram Language code.
  • Compile has attribute HoldAll, and does not by default do any evaluation before compilation.
  • You can use Compile[,Evaluate[expr]] to specify that expr should be evaluated symbolically before compilation.
  • The following options can be given:
  • CompilationOptionsAutomaticoptions for the compilation process
    CompilationTarget$CompilationTargetthe target runtime for code generation
    ParallelizationAutomaticparallel controls for compiled function execution
    RuntimeAttributes{}evaluation attributes for the compiled function
    RuntimeOptionsAutomaticruntime options for the compiled function
Introduced in 1991
(2.0)
| Updated in 2010
(8.0)