treeOperator_mod Module

module~~treeoperator_mod~~UsesGraph module~treeoperator_mod treeOperator_mod module~kinds_mod kinds_mod module~kinds_mod->module~treeoperator_mod module~node_mod node_mod module~kinds_mod->module~node_mod module~text_mod text_mod module~kinds_mod->module~text_mod module~time_mod time_mod module~kinds_mod->module~time_mod module~node_mod->module~treeoperator_mod module~text_mod->module~node_mod module~time_mod->module~text_mod iso_fortran_env iso_fortran_env iso_fortran_env->module~text_mod iso_c_binding iso_c_binding iso_c_binding->module~time_mod
Help

Used By

module~~treeoperator_mod~~UsedByGraph module~treeoperator_mod treeOperator_mod module~expression_mod expression_mod module~treeoperator_mod->module~expression_mod program~testeval_prg testEval_prg module~expression_mod->program~testeval_prg
Help


Interfaces

public interface add_t

  • public function newAdd(a, b) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a
    class(node_t), intent(in) :: b

    Return Value type(add_t)

public interface sub_t

  • public function newSub(a, b) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a
    class(node_t), intent(in) :: b

    Return Value type(sub_t)

public interface mul_t

  • public function newMul(a, b) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a
    class(node_t), intent(in) :: b

    Return Value type(mul_t)

public interface div_t

  • public function newDiv(a, b) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a
    class(node_t), intent(in) :: b

    Return Value type(div_t)

public interface pow_t

  • public function newPow(a, b) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a
    class(node_t), intent(in) :: b

    Return Value type(pow_t)

public interface neg_t

  • public function newNeg(a) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a

    Return Value type(neg_t)

public interface sqrt_t

  • public function newSqrt(a) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a

    Return Value type(sqrt_t)

public interface abs_t

  • public function newAbs(a) result(self)

    Arguments

    Type IntentOptional AttributesName
    class(node_t), intent(in) :: a

    Return Value type(abs_t)


Derived Types

type, public, extends(node_t) :: add_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a
class(node_t), public, allocatable:: b

Constructor

public function newAdd(a, b)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_add
procedure, public :: evalZ => evalZ_add

type, public, extends(node_t) :: sub_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a
class(node_t), public, allocatable:: b

Constructor

public function newSub(a, b)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_sub
procedure, public :: evalZ => evalZ_sub

type, public, extends(node_t) :: mul_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a
class(node_t), public, allocatable:: b

Constructor

public function newMul(a, b)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_mul
procedure, public :: evalZ => evalZ_mul

type, public, extends(node_t) :: div_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a
class(node_t), public, allocatable:: b

Constructor

public function newDiv(a, b)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_div
procedure, public :: evalZ => evalZ_div

type, public, extends(node_t) :: pow_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a
class(node_t), public, allocatable:: b

Constructor

public function newPow(a, b)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_pow
procedure, public :: evalZ => evalZ_pow

type, public, extends(node_t) :: neg_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a

Constructor

public function newNeg(a)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_neg
procedure, public :: evalZ => evalZ_neg

type, public, extends(node_t) :: sqrt_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a

Constructor

public function newSqrt(a)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_sqrt
procedure, public :: evalZ => evalZ_sqrt

type, public, extends(node_t) :: abs_t

Components

TypeVisibility AttributesNameInitial
class(node_t), public, allocatable:: a

Constructor

public function newAbs(a)

Type-Bound Procedures

generic, public :: eval => evalR, evalZ
procedure, public :: evalR => evalR_abs
procedure, public :: evalZ => evalZ_abs

Functions

public function newAdd(a, b) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a
class(node_t), intent(in) :: b

Return Value type(add_t)

public function evalR_add(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(add_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_add(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(add_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newSub(a, b) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a
class(node_t), intent(in) :: b

Return Value type(sub_t)

public function evalR_sub(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(sub_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_sub(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(sub_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newMul(a, b) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a
class(node_t), intent(in) :: b

Return Value type(mul_t)

public function evalR_mul(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(mul_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_mul(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(mul_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newDiv(a, b) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a
class(node_t), intent(in) :: b

Return Value type(div_t)

public function evalR_div(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(div_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_div(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(div_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newPow(a, b) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a
class(node_t), intent(in) :: b

Return Value type(pow_t)

public function evalR_pow(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(pow_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_pow(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(pow_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newNeg(a) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a

Return Value type(neg_t)

public function evalR_neg(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(neg_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_neg(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(neg_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newSqrt(a) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a

Return Value type(sqrt_t)

public function evalR_sqrt(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(sqrt_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_sqrt(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(sqrt_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)

public function newAbs(a) result(self)

Arguments

Type IntentOptional AttributesName
class(node_t), intent(in) :: a

Return Value type(abs_t)

public function evalR_abs(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(abs_t), intent(in) :: self
real(kind=wp), intent(in), dimension(:):: args

Return Value real(kind=wp)

public function evalZ_abs(self, args) result(o)

Arguments

Type IntentOptional AttributesName
class(abs_t), intent(in) :: self
complex(kind=wp), intent(in), dimension(:):: args

Return Value complex(kind=wp)