FunctionDeclaration

FunctionDeclaration[name,typedfun]

declares name to be a typed function suitable for use in a compiler environment.

Details

Examples

Basic Examples  (7)

FunctionDeclaration can be used in FunctionCompile:

The compilation uses the function declaration:

FunctionDeclaration can be used to add a definition to the default compiler environment:

Use the declaration in a compilation:

The compilation uses the function declaration:

Reset the compiler environment to clear the declaration:

FunctionDeclaration can be used to add a definition to a new compiler environment:

Use the CompilerEnvironment option to specify the environment:

A function name can be used in more than one declaration:

Call one version:

Call the other version:

Reset the compiler environment to clear the declaration:

A function declaration can call another declaration:

Compilation uses both declarations:

A function declaration can work for more than one type:

The declaration works for an integer argument:

The same declaration works for a string:

A function declaration can use definitions that use := to set up DownValues for their declarations:

Give the function a name and a type and state that the implementation comes from the DownValues:

Now a function that uses this declaration is compiled:

What is neat is that this workflow is compatible with the uncompiled version:

Wolfram Research (2021), FunctionDeclaration, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionDeclaration.html.

Text

Wolfram Research (2021), FunctionDeclaration, Wolfram Language function, https://reference.wolfram.com/language/ref/FunctionDeclaration.html.

CMS

Wolfram Language. 2021. "FunctionDeclaration." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FunctionDeclaration.html.

APA

Wolfram Language. (2021). FunctionDeclaration. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FunctionDeclaration.html

BibTeX

@misc{reference.wolfram_2022_functiondeclaration, author="Wolfram Research", title="{FunctionDeclaration}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/FunctionDeclaration.html}", note=[Accessed: 26-January-2023 ]}

BibLaTeX

@online{reference.wolfram_2022_functiondeclaration, organization={Wolfram Research}, title={FunctionDeclaration}, year={2021}, url={https://reference.wolfram.com/language/ref/FunctionDeclaration.html}, note=[Accessed: 26-January-2023 ]}