Contains various unary transforms for the calculation tree
Unary wrapper for natural log. String name "log".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for exp. String name "exp".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for sin. String name "sin".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for cos. String name "cos".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for absolute value. String name "abs".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for sign function. String name "sign".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for tan. String name "tan".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for arcsin. String name "asin".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for arccos. String name "acos".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for arctan. String name "atan".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the error function. String name "erf".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the complementary error function. String name "erfc".
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the raising to a real power. String name "rpow". Uses realParams(1) as the power.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the raising to an integer power. String name "ipow". Uses intParams(1) as the power.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper cyclically permuting input. String name "shift". Uses intParams(1) as the shift amount.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper contracting an array with a smaller array. String name "cont". Uses realParams as the contracting array. The input size is assumed to be evenly divided by size(realParams) and by intParams(1). The input does not have to have size equal to size(realParams)*intParams(1). intParams(1) determines the expected size of the output, while intParams(2) determines which of the strided slices is returnd. See below for example.
Contraction is performed on strided slices of the input of length size(realParams). The strides are determined by intParams(1). For example, contracting [1,2,3,4,5,6,7,8] with [1,2] yields the intermediate result [5,11,17,23]. Then if intParams(1) is , we are looking to get a result of length 1. If intParams(2) is then 2, we get [11]. If intParams(1) is 2, we want a result of length 2, sampled evenly from the contracted array (this is useful for ReMKiT1D's flattened represenation of distributions). If intParams(2) is 1, we get [5,17], and if intParams(2) is 2, we get [11,23]
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper expanding an array with another array. String name "expand". Uses realParams as the expanding array. After expansion it uses intParams(1) to determine how many times the result should be copied. The result is output((i-1)size(input)size(realParams)+(j-1)size(realParams)+k) = input(j)realParams(k) where j=1,size(input) and i=1,intParams(1)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper calculating r_i = (u_i - u_{i-n})/(u_{i+n}-u_i) where n is intParams[1]. If the absolute value of the denominator is less than realParams[1], the result will be realParams[2] (with the appropriate sign) if the numerator is not less than realParams[1], and 1 otherwise
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the superbee limiter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary wrapper for the minmod limiter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Floor value filter unary wrapper, uses the absolute value of the first real param as the floor value. The result it sign(input) * max(abs(input),abs(realParams(1)))
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary step function, takes no params. Returns 1 where input is > 0, else 0.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Unary filter function, takes in two realParams, and returns the input, except where input
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in), | dimension(:) | :: | input | ||
real(kind=rk), | intent(in), | optional, | dimension(:) | :: | realParams | |
integer(kind=ik), | intent(in), | optional, | dimension(:) | :: | intParams | |
logical, | intent(in), | optional, | dimension(:) | :: | logicalParams |
Returns a function pointer to a unary transformation based on a string name
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | name | |||
procedure(realArrayFunctionGenParam), | intent(inout), | pointer | :: | funcPointer |