
Contains module procedures associated with calculation tree and node classes
Recursively evaluate nodes, using the inputArray variables for leaf values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationNode), | intent(in) | :: | this | |||
| type(RealArray), | intent(in), | dimension(:) | :: | inputArray |
Call tree's root node evaluate
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationTree), | intent(in) | :: | this | |||
| type(RealArray), | intent(in), | dimension(:) | :: | inputArray |
Flatten tree into FlatTree object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationTree), | intent(in) | :: | this |
Calculation node initialization routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationNode), | intent(inout) | :: | this | |||
| logical, | intent(in), | optional | :: | additiveMode | ||
| real(kind=rk), | intent(in), | optional | :: | constant | ||
| integer(kind=ik), | intent(in), | optional | :: | leafVarIndex | ||
| real(kind=rk), | intent(in), | optional, | dimension(:) | :: | unaryRealParams | |
| integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | unaryIntParams | |
| logical, | intent(in), | optional, | dimension(:) | :: | unaryLogicalParams | |
| character(len=*), | intent(in), | optional | :: | unaryTransformTag |
Calculation tree initialization routine
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationTree), | intent(inout) | :: | this | |||
| logical, | intent(in), | optional | :: | additiveMode | ||
| real(kind=rk), | intent(in), | optional | :: | constant | ||
| integer(kind=ik), | intent(in), | optional | :: | leafVarIndex | ||
| real(kind=rk), | intent(in), | optional, | dimension(:) | :: | unaryRealParams | |
| integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | unaryIntParams | |
| logical, | intent(in), | optional, | dimension(:) | :: | unaryLogicalParams | |
| character(len=*), | intent(in), | optional | :: | unaryTransformTag |
Initialize a child node of this node with given properties
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationNode), | intent(inout), | target | :: | this | ||
| logical, | intent(in), | optional | :: | additiveMode | ||
| real(kind=rk), | intent(in), | optional | :: | constant | ||
| integer(kind=ik), | intent(in), | optional | :: | leafVarIndex | ||
| real(kind=rk), | intent(in), | optional, | dimension(:) | :: | unaryRealParams | |
| integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | unaryIntParams | |
| logical, | intent(in), | optional, | dimension(:) | :: | unaryLogicalParams | |
| character(len=*), | intent(in), | optional | :: | unaryTransformTag |
Calculation tree initialization routine using a FlatTree object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationTree), | intent(inout) | :: | this | |||
| type(FlatTree), | intent(in) | :: | fTree |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CalculationNode), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(CalculationTree), | intent(inout) | :: | this |