PartMC  2.3.0
Data Types | Public Member Functions | List of all members
pmc_integer_rmap Module Reference

The integer_rmap_t structure and assocated subroutines. More...

Data Types

type  integer_rmap_t
 A map from integers to integers, together with its multi-valued inverse. More...
 

Public Member Functions

elemental subroutine integer_rmap_allocate (integer_rmap)
 Allocates an empty structure. More...
 
elemental subroutine integer_rmap_allocate_size (integer_rmap, n_range)
 Allocates a structure with the given size. More...
 
elemental subroutine integer_rmap_deallocate (integer_rmap)
 Deallocates a previously allocated structure. More...
 
elemental subroutine integer_rmap_zero (integer_rmap)
 Resets an integer_rmap to have zero particles per bin. More...
 
subroutine integer_rmap_append (integer_rmap, i_range)
 Set the map value of the next free domain value to i_range. More...
 
subroutine integer_rmap_change (integer_rmap, i_domain, i_range)
 Change the map value of i_domain to i_range. More...
 
subroutine integer_rmap_remove (integer_rmap, i_domain)
 Replace the map at the given i_domain with the map value of the last entry, and delete the last entry. More...
 
subroutine integer_rmap_check (integer_rmap, name, n_domain, n_range, continue_on_error)
 Check that the data is consistent. More...
 
integer function pmc_mpi_pack_size_integer_rmap (val)
 Determines the number of bytes required to pack the given value. More...
 
subroutine pmc_mpi_pack_integer_rmap (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi_unpack_integer_rmap (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 

Detailed Description

The integer_rmap_t structure and assocated subroutines.

Definition at line 9 of file integer_rmap.F90.

Member Function/Subroutine Documentation

elemental subroutine pmc_integer_rmap::integer_rmap_allocate ( type(integer_rmap_t), intent(out)  integer_rmap)

Allocates an empty structure.

Parameters
[out]integer_rmapStructure to initialize.

Definition at line 63 of file integer_rmap.F90.

elemental subroutine pmc_integer_rmap::integer_rmap_allocate_size ( type(integer_rmap_t), intent(out)  integer_rmap,
integer, intent(in)  n_range 
)

Allocates a structure with the given size.

Parameters
[out]integer_rmapStructure to initialize.
[in]n_rangeSize of range space.

Definition at line 77 of file integer_rmap.F90.

subroutine pmc_integer_rmap::integer_rmap_append ( type(integer_rmap_t), intent(inout)  integer_rmap,
integer, intent(in)  i_range 
)

Set the map value of the next free domain value to i_range.

Parameters
[in,out]integer_rmapMap to append to.
[in]i_rangeRange value.

Definition at line 123 of file integer_rmap.F90.

subroutine pmc_integer_rmap::integer_rmap_change ( type(integer_rmap_t), intent(inout)  integer_rmap,
integer, intent(in)  i_domain,
integer, intent(in)  i_range 
)

Change the map value of i_domain to i_range.

Parameters
[in,out]integer_rmapMap to change.
[in]i_domainDomain value.
[in]i_rangeRange value.

Definition at line 145 of file integer_rmap.F90.

subroutine pmc_integer_rmap::integer_rmap_check ( type(integer_rmap_t integer_rmap,
character(len=*), intent(in)  name,
integer, intent(in)  n_domain,
integer, intent(in)  n_range,
logical, intent(in)  continue_on_error 
)

Check that the data is consistent.

Parameters
integer_rmapStructure to check.
[in]nameCheck name.
[in]n_domainNumber of domain items.
[in]n_rangeNumber of image items.
[in]continue_on_errorWhether to continue despite error.

Definition at line 236 of file integer_rmap.F90.

elemental subroutine pmc_integer_rmap::integer_rmap_deallocate ( type(integer_rmap_t), intent(inout)  integer_rmap)

Deallocates a previously allocated structure.

Parameters
[in,out]integer_rmapStructure to deallocate.

Definition at line 94 of file integer_rmap.F90.

subroutine pmc_integer_rmap::integer_rmap_remove ( type(integer_rmap_t), intent(inout)  integer_rmap,
integer, intent(in)  i_domain 
)

Replace the map at the given i_domain with the map value of the last entry, and delete the last entry.

Parameters
[in,out]integer_rmapMap to remove from.
[in]i_domainDomain value to replace.

Definition at line 187 of file integer_rmap.F90.

elemental subroutine pmc_integer_rmap::integer_rmap_zero ( type(integer_rmap_t), intent(inout)  integer_rmap)

Resets an integer_rmap to have zero particles per bin.

Parameters
[in,out]integer_rmapStructure to zero.

Definition at line 109 of file integer_rmap.F90.

subroutine pmc_integer_rmap::pmc_mpi_pack_integer_rmap ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap_t), intent(in)  val 
)

Packs the given value into the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in]valValue to pack.

Definition at line 349 of file integer_rmap.F90.

integer function pmc_integer_rmap::pmc_mpi_pack_size_integer_rmap ( type(integer_rmap_t), intent(in)  val)

Determines the number of bytes required to pack the given value.

Parameters
[in]valValue to pack.

Definition at line 327 of file integer_rmap.F90.

subroutine pmc_integer_rmap::pmc_mpi_unpack_integer_rmap ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap_t), intent(inout)  val 
)

Unpacks the given value from the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in,out]valValue to pack.

Definition at line 377 of file integer_rmap.F90.


The documentation for this module was generated from the following file: