Function declaration

In addition to the predefined math functions, a CFDG file can declare new numeric functions. The syntax is very similar to variable declarations: name ( parameters ) = expression. Where name is the function name, parameters are the function parameters, and expression is the numeric expression that is evaluated for the function. The parameters do not have type specifiers like they do for shape parameters because only numeric parameters are allowed.

Recursive functions are allowed: Note that these user functions use the if function, not the if control flow element.