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 |