cumulator Derived Type

type, public :: cumulator


Contents


Type-Bound Procedures

procedure, public :: init

  • private subroutine init(C, type, T)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    character(len=1), intent(in) :: type
    class(tensor), intent(in), optional :: T

generic, public :: add => iadd, dadd, zadd, tadd

  • private subroutine iadd(C, val, weight_)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    integer, intent(in) :: val
    real(kind=8), intent(in), optional :: weight_
  • private subroutine dadd(C, val, weight_)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    real(kind=8), intent(in) :: val
    real(kind=8), intent(in), optional :: weight_
  • private subroutine zadd(C, val, weight_)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    complex(kind=8), intent(in) :: val
    real(kind=8), intent(in), optional :: weight_
  • private subroutine tadd(C, val, weight_)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    class(tensor), intent(inout) :: val
    real(kind=8), intent(in), optional :: weight_

procedure, public :: clean

  • private subroutine clean(C)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C

procedure, public :: dave

  • private function dave(C, comm, root) result(res)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    integer, intent(in), optional :: comm
    integer, intent(in), optional :: root

    Return Value real(kind=8)

procedure, public :: zave

  • private function zave(C, comm, root) result(res)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    integer, intent(in), optional :: comm
    integer, intent(in), optional :: root

    Return Value complex(kind=8)

procedure, public :: tave

  • private function tave(C, comm, root) result(res)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    integer, intent(in), optional :: comm
    integer, intent(in), optional :: root

    Return Value type(tensor)

procedure, public :: get_weight

  • private function get_weight(C, comm, root) result(res)

    Arguments

    Type IntentOptional AttributesName
    class(cumulator), intent(inout) :: C
    integer, intent(in), optional :: comm
    integer, intent(in), optional :: root

    Return Value real(kind=8)