Function
Function is based on Function Variables –
<It can be either
term, or constant, or operation, not several of them.>
{Not all functions are
based on function variables. For example, constants are not.}
Nested Function is used for calculation of Calculated Function
®
Calculated Function is a Function º
Nested Function is a Function º
Nested Function has a Position ®
Function has an Arity ®
Function. Term
Term is a Function º
<It has no nested
functions.>
<It has one function
variable.>
{Term function allows
to use one variable in several roles of a function.}
Function. Constant
Constant is a Function º
<It has no nested
functions.>
<It has no function
variables.>
{The result of the function is
its value. It does not influence on function signature.}
Constant is defined by a Value ®
{Value is a string
because it generalizes any data type.}
Function. Operation
Operation is a Function º
<Operation is based on those
function variables that form the nested functions.>
<Aggregate operation, having
aggregate operation type, cannot be nested.>
{The result of the arithmetic
operation is fulfillment of arithmetic operation on its nested functions. The
result of aggregate operation is calculated according to aggregate operation
for set of combinations of base variables.}
Operation is defined by Operation Type ®
<Operation should
comply with quantity of nested functions.>
<Only unary and binary
operations are allowed now.>
Arithmetic Operation Type is an Operation Type º
[Arithmetic Operation Type = {“Addition”,
“Multiplication”, “Subtraction”, “Division”, “Root”, “Exponentiation”,
“Absolute Value”, “Floor”, “Mod”, “Logarithm”, “Sine”, “Cosine”, …}]
Aggregate Operation Type is an Operation Type º
<Operation type can
be arithmetic or aggregate, not both.>
[Aggregate Operation Type =
{“Sum”, “Min”, “Max”, “Average”, “Covariation”, “Standard Deviation”, …}]
Function. Tree Node
Use
Tree
Function is a Tree Node º
Calculated Function is a Parent Node º
Nested Function is a Child Node º
Function. Statement String
Function Variable has a Full Name ®
Function has a Priority ®
<Aggregate functions have a
maximal priority (10).>
<Not division, multiplication,
addition, and subtraction have a maximal priority (10).>
<Division, multiplication, term function, and constant
function have a middle priority (9).>
<Addition, subtraction have
the less priority (8).>
Function has a Statement String ®
<If the function is constant,
its statement string is its value.>
<If the function is term, its
statement string is its function variable full name.>
<If the function has the maximal
priority, its statement string is “<operation type> (nested function)” if
unary or “<operation type> (nested function, nested operation)” if binary.>
<If the function is
division (multiplication, addition, subtraction), its statement string is
“<first component> / (*, +, -) <second component>”. Each component
is “<nested operation>” if it has not less priority than the division
(multiplication, addition, subtraction), or “(<nested operation>)” otherwise.
Second component of division and subtraction is always “(<nested
operation>)”.>