aggregator_mod Module



Interfaces

public interface new_aggregator


Abstract Interfaces

abstract interface

  • private subroutine accumulate_data(this)

    Arguments

    Type IntentOptional Attributes Name
    class(aggregator_t), intent(inout) :: this

abstract interface

  • private subroutine reset_data(this)

    Arguments

    Type IntentOptional Attributes Name
    class(aggregator_t), intent(inout) :: this

Derived Types

type, public, abstract ::  aggregator_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_int32_0d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
integer(kind=int32), public, allocatable :: aggregated_data
integer(kind=int32), public, pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_int32_1d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
integer(kind=int32), public, dimension(:), allocatable :: aggregated_data
integer(kind=int32), public, dimension(:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_int32_2d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
integer(kind=int32), public, dimension(:,:), allocatable :: aggregated_data
integer(kind=int32), public, dimension(:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_int32_3d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
integer(kind=int32), public, dimension(:,:,:), allocatable :: aggregated_data
integer(kind=int32), public, dimension(:,:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real32_0d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real32), public, allocatable :: aggregated_data
real(kind=real32), public, pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real32_1d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real32), public, dimension(:), allocatable :: aggregated_data
real(kind=real32), public, dimension(:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real32_2d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real32), public, dimension(:,:), allocatable :: aggregated_data
real(kind=real32), public, dimension(:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real32_3d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real32), public, dimension(:,:,:), allocatable :: aggregated_data
real(kind=real32), public, dimension(:,:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real64_0d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real64), public, allocatable :: aggregated_data
real(kind=real64), public, pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real64_1d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real64), public, dimension(:), allocatable :: aggregated_data
real(kind=real64), public, dimension(:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real64_2d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real64), public, dimension(:,:), allocatable :: aggregated_data
real(kind=real64), public, dimension(:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

type, public, extends(aggregator_t) ::  aggregator_real64_3d_t

Components

Type Visibility Attributes Name Initial
integer, public :: counter = 0
procedure(accumulate_data), public, pointer :: accumulate
procedure(reset_data), public, pointer :: reset
real(kind=real64), public, dimension(:,:,:), allocatable :: aggregated_data
real(kind=real64), public, dimension(:,:,:), pointer :: source_data => null()

Type-Bound Procedures

procedure, public :: init => aggregator_init
procedure, public :: set_method => aggregator_set_method
procedure, public :: rank => aggregator_rank
procedure, public :: shape => aggregator_shape

Functions

private function aggregator_rank(this)

Arguments

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

Return Value integer

private function aggregator_shape(this) result(agg_shape)

Arguments

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

Return Value integer, allocatable, (:)

private function new_aggregator_int32_0d_t(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), target :: source_data

Return Value type(aggregator_int32_0d_t)

private function new_aggregator_int32_1d_t(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:), target :: source_data

Return Value type(aggregator_int32_1d_t)

private function new_aggregator_int32_2d_t(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:,:), target :: source_data

Return Value type(aggregator_int32_2d_t)

private function new_aggregator_int32_3d_t(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(inout), dimension(:,:,:), target :: source_data

Return Value type(aggregator_int32_3d_t)

private function new_aggregator_real32_0d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(inout), target :: source_data

Return Value type(aggregator_real32_0d_t)

private function new_aggregator_real32_1d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(inout), dimension(:), target :: source_data

Return Value type(aggregator_real32_1d_t)

private function new_aggregator_real32_2d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(inout), dimension(:,:), target :: source_data

Return Value type(aggregator_real32_2d_t)

private function new_aggregator_real32_3d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(inout), dimension(:,:,:), target :: source_data

Return Value type(aggregator_real32_3d_t)

private function new_aggregator_real64_0d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), target :: source_data

Return Value type(aggregator_real64_0d_t)

private function new_aggregator_real64_1d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:), target :: source_data

Return Value type(aggregator_real64_1d_t)

private function new_aggregator_real64_2d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:), target :: source_data

Return Value type(aggregator_real64_2d_t)

private function new_aggregator_real64_3d(source_data) result(agg)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:,:), target :: source_data

Return Value type(aggregator_real64_3d_t)


Subroutines

private subroutine aggregator_init(this, method)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this
character(len=*), intent(in) :: method

private subroutine aggregator_set_method(this, method)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this
character(len=*), intent(in) :: method

private subroutine mean_accumulate(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine sum_accumulate(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine point_accumulate(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine min_accumulate(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine max_accumulate(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine point_reset(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine min_reset(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine max_reset(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this

private subroutine other_reset(this)

Arguments

Type IntentOptional Attributes Name
class(aggregator_t), intent(inout) :: this