Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private, | parameter | :: | Stack_Length | = | 256 | |
integer, | private, | parameter | :: | nSeparators | = | 7 | |
character(len=1), | private | :: | numbers(10) | = | ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] | ||
character(len=1), | private | :: | operators(5) | = | ['+', '-', '*', '/', '^'] | ||
real(kind=real32), | public, | parameter | :: | pi_real32 | = | 4.0_real32*atan(1.0_real32) | |
real(kind=real64), | public, | parameter | :: | pi_real64 | = | 4.0_real64*atan(1.0_real64) | |
character(len=1), | private | :: | separators(7) | = | ['+', '-', '*', '/', "(", ")", '^'] |
enumerator | :: | None_Token | = | 0 | |
enumerator | :: | Number_Token | = | 1 | |
enumerator | :: | Variable_Token | = | 2 | |
enumerator | :: | Operator_Token | = | 3 | |
enumerator | :: | Function_Token | = | 4 | |
enumerator | :: | OpeningParentheses_Token | = | 5 | |
enumerator | :: | ClosingParentheses_Token | = | 6 | |
enumerator | :: | Monadic_Token | = | 7 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character | :: | equation | ||||
character | :: | indepVars(:) |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character, | public, | allocatable | :: | equation | |||
type(TokenStack), | public | :: | inFix | ||||
character, | public, | allocatable | :: | inFixFormula | |||
type(IndepVar), | public, | dimension(:), allocatable | :: | indepVars | |||
integer, | public | :: | nIndepVars | ||||
type(TokenStack), | public | :: | postFix | ||||
character, | public, | allocatable | :: | variableName |
private function Construct_EquationParser(equation, indepVars) |
final :: Finalize_EquationParser |
procedure, public :: CleanEquation | |
procedure, public :: ConvertToPostfix => ConvertToPostFix | |
generic, public :: Evaluate => Evaluate_sfp32, Evaluate_sfp64, Evaluate_r1fp32, Evaluate_r1fp64, Evaluate_r2fp32, Evaluate_r2fp64, Evaluate_r3fp32, Evaluate_r3fp64, Evaluate_r4fp32, Evaluate_r4fp64 | |
procedure, private :: Evaluate_r1fp32 | |
procedure, private :: Evaluate_r1fp64 | |
procedure, private :: Evaluate_r2fp32 | |
procedure, private :: Evaluate_r2fp64 | |
procedure, private :: Evaluate_r3fp32 | |
procedure, private :: Evaluate_r3fp64 | |
procedure, private :: Evaluate_r4fp32 | |
procedure, private :: Evaluate_r4fp64 | |
procedure, private :: Evaluate_sfp32 | |
procedure, private :: Evaluate_sfp64 | |
procedure, public :: Print_InFixTokens => Print_InfixTokens | |
procedure, public :: Print_PostFixTokens => Print_PostfixTokens | |
procedure, private, nopass :: Priority | |
procedure, public :: Tokenize |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character, | private, | allocatable | :: | value |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character | :: | equation | ||||
character | :: | indepVars(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real32) | :: | x(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real64) | :: | x(:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real32) | :: | x(:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real64) | :: | x(:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real32) | :: | x(:,:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real64) | :: | x(:,:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real32) | :: | x(:,:,:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real64) | :: | x(:,:,:,:,:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real32) | :: | x(1:parser%nIndepVars) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser) | :: | parser | ||||
real(kind=real64) | :: | x(1:parser%nIndepVars) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | varlen | |||
character, | intent(in) | :: | eqChar | |||
integer, | intent(out) | :: | idx |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1) | :: | eqChar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1) | :: | eqChar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1) | :: | eqChar |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(inout) | :: | varlen | |||
character, | intent(in) | :: | eqChar | |||
type(IndepVar) | :: | variables(1:nvariables) | ||||
integer | :: | nvariables |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character, | intent(in) | :: | string | |||
character, | intent(in) | :: | search | |||
character, | intent(in) | :: | substitute |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser), | intent(inout) | :: | parser | |||
logical, | intent(out) | :: | equationCleaned |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser), | intent(inout) | :: | parser |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(EquationParser), | intent(inout) | :: | parser |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser), | intent(in) | :: | parser |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser), | intent(in) | :: | parser |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(EquationParser), | intent(inout) | :: | parser | |||
logical, | intent(out) | :: | tokenized | |||
character, | intent(out), | allocatable | :: | errorMsg |