FEQParse_Functions Module



Contents


Variables

TypeVisibilityAttributesNameInitial
type(FEQParse_Function), public :: Functions(maxFunctions)
logical, public :: isInitialized =.false.
integer, public :: maxFunctionLength =0
integer, public, parameter:: maxFunctions =100
integer, public :: nFunctions =17

Enumerations

enum, bind(c)

Enumerators

enumerator:: cos_function = 1
enumerator:: cosh_function = 2
enumerator:: sin_function = 3
enumerator:: sinh_function = 4
enumerator:: tan_function = 5
enumerator:: tanh_function = 6
enumerator:: sqrt_function = 7
enumerator:: abs_function = 8
enumerator:: exp_function = 9
enumerator:: ln_function = 10
enumerator:: log_function = 11
enumerator:: log10_function = 12
enumerator:: acos_function = 13
enumerator:: asin_function = 14
enumerator:: atan_function = 15
enumerator:: sech_function = 16
enumerator:: rand_function = 17

Interfaces

public interface AddFunction

  • private subroutine AddFunction32(name, f_32)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: name
    procedure(f32) :: f_32
  • private subroutine AddFunction64(name, f_64)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: name
    procedure(f64) :: f_64

public interface Tuple

  • private function Tuple_new(item1, item2) result(t)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: item1
    character, intent(in) :: item2

    Return Value type(Tuple)

interface

  • private pure function f32(x)

    Arguments

    TypeIntentOptionalAttributesName
    real(kind=real32), intent(in) :: x

    Return Value real(kind=real32)

interface

  • private pure function f64(x)

    Arguments

    TypeIntentOptionalAttributesName
    real(kind=real64), intent(in) :: x

    Return Value real(kind=real64)

interface

  • private pure function randomize_r32()

    Arguments

    None

    Return Value real(kind=real32)

interface

  • private pure function randomize_r64()

    Arguments

    None

    Return Value real(kind=real64)


Derived Types

type, public :: FEQParse_Function

Components

TypeVisibilityAttributesNameInitial
character, public, allocatable:: caps
integer, public :: len
procedure(f32), public, nopass, pointer:: ptr32=> null()
procedure(f64), public, nopass, pointer:: ptr64=> null()
character, public, allocatable:: str

Finalizations Procedures

final :: Function_Finalize

Type-Bound Procedures

generic, public :: assignment(=) => character_assign_function, character_array_assign_function
procedure, private, pass(lhs) :: character_array_assign_function
procedure, private, pass(lhs) :: character_assign_function
procedure, private, pass(rhs) :: character_eq_function
procedure, private, pass(rhs) :: character_neq_function
procedure, private, pass(lhs) :: function_eq_character
procedure, private, pass(lhs) :: function_neq_character
generic, public :: invoke => invoke32, invoke64
procedure, private, pass(this) :: invoke32
procedure, private, pass(this) :: invoke64
generic, public :: operator(/=) => function_neq_character, character_neq_function
generic, public :: operator(==) => function_eq_character, character_eq_function

type, public :: Tuple

Components

TypeVisibilityAttributesNameInitial
character, private, allocatable:: item1
character, private, allocatable:: item2

Constructor

private function Tuple_new(item1, item2)

Finalizations Procedures

final :: Tuple_Finalize

Functions

private pure function ToUpperCase(str) result(res)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: str

Return Value character

private function Tuple_new(item1, item2) result(t)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: item1
character, intent(in) :: item2

Return Value type(Tuple)

private pure function abs32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function abs64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function acos32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function acos64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function asin32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function asin64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function atan32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function atan64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private elemental function character_eq_function(lhs, rhs) result(ok)

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: lhs
class(FEQParse_Function), intent(in) :: rhs

Return Value logical

private elemental function character_neq_function(lhs, rhs) result(ok)

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: lhs
class(FEQParse_Function), intent(in) :: rhs

Return Value logical

private pure function cos32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function cos64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function cosh32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function cosh64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function exp32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function exp64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private elemental function function_eq_character(lhs, rhs) result(ok)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(in) :: lhs

Left hand side.

character(len=*), intent(in) :: rhs

Right hand side.

Return Value logical

private elemental function function_neq_character(lhs, rhs) result(ok)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(in) :: lhs

Left hand side.

character(len=*), intent(in) :: rhs

Right hand side.

Return Value logical

private elemental function invoke32(this, x) result(fx)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(in) :: this
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private elemental function invoke64(this, x) result(fx)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(in) :: this
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function log1032(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function log1064(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function log32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function log64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function rand32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function rand64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function sech32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function sech64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function sin32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function sin64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function sinh32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function sinh64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function sqrt32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function sqrt64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function tan32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function tan64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)

private pure function tanh32(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real32), intent(in) :: x

Return Value real(kind=real32)

private pure function tanh64(x) result(fx)

Arguments

TypeIntentOptionalAttributesName
real(kind=real64), intent(in) :: x

Return Value real(kind=real64)


Subroutines

private subroutine AddFunction32(name, f_32)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: name
procedure(f32) :: f_32

private subroutine AddFunction64(name, f_64)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: name
procedure(f64) :: f_64

private subroutine Function_Finalize(this)

Arguments

TypeIntentOptionalAttributesName
type(FEQParse_Function), intent(inout) :: this

public subroutine InitializeFunctions()

Arguments

None

private subroutine Tuple_Finalize(this)

Arguments

TypeIntentOptionalAttributesName
type(Tuple), intent(inout) :: this

private subroutine character_array_assign_function(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(inout) :: lhs

Left hand side.

class(Tuple), intent(in) :: rhs

Right hand side.

private subroutine character_assign_function(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(FEQParse_Function), intent(inout) :: lhs

Left hand side.

character(len=*), intent(in) :: rhs

Right hand side.