guga_pchb_doubles_weights_mod Module



Variables

Type Visibility Attributes Name Initial
type(WeightingChoice_vals_t), private, parameter :: weight_choice_vals = WeightingChoice_vals_t()

Abstract Interfaces

abstract interface

  • public function get_doubles_weight_t(exc)

    Arguments

    Type IntentOptional Attributes Name
    type(DistinctDouble_t), intent(in) :: exc

    Return Value real(kind=dp)


Derived Types

type, public, extends(EnumBase_t) ::  WeightingChoice_t

Components

Type Visibility Attributes Name Initial
integer, public :: val
character(len=20), public :: str

Type-Bound Procedures

generic, public :: operator(==) => eq_EnumBase_t
generic, public :: operator(/=) => neq_EnumBase_t
procedure, public :: to_str => to_str_WeightingChoice_t

type, public ::  WeightingChoice_vals_t

Components

Type Visibility Attributes Name Initial
type(WeightingChoice_t), public :: INITIAL_DOBRAUTZ = WeightingChoice_t(1, 'INITIAL-DOBRAUTZ')
type(WeightingChoice_t), public :: UNIFORM = WeightingChoice_t(2, 'UNIFORM')
type(WeightingChoice_t), public :: ABS_INTEGRAL = WeightingChoice_t(3, 'ABS-INTEGRAL')
type(WeightingChoice_t), public :: N4_TETRAHEDRON = WeightingChoice_t(4, 'N4-TETRAHEDRON')
type(WeightingChoice_t), public :: RANDOM = WeightingChoice_t(5, 'RANDOM')
type(WeightingChoice_t), public :: TWEAKED_WERNER = WeightingChoice_t(6, 'TWEAKED-WERNER')
type(WeightingChoice_t), public :: NEW_WERNER = WeightingChoice_t(7, 'NEW-WERNER')

Type-Bound Procedures

procedure, public, nopass :: from_str => WeightingChoice_from_str

Functions

private pure function WeightingChoice_from_str(str) result(res)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: str

Return Value type(WeightingChoice_t)

private pure function initial_werner_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private pure function new_werner_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private pure function tweaked_werner_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private function uniform_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private function random_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private function abs_integral_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private function N4_tetrahedron_get_weight(exc) result(weight)

Arguments

Type IntentOptional Attributes Name
type(DistinctDouble_t), intent(in) :: exc

Return Value real(kind=dp)

private pure function to_str_WeightingChoice_t(this) result(res)

Arguments

Type IntentOptional Attributes Name
class(WeightingChoice_t), intent(in) :: this

Return Value character(len=:), allocatable


Subroutines

public subroutine set_doubles_weight_pointer(weight_choice, ptr)

Arguments

Type IntentOptional Attributes Name
type(WeightingChoice_t), intent(in) :: weight_choice
procedure(get_doubles_weight_t), intent(out), pointer :: ptr