PartMC  2.6.1
Data Types | Functions/Subroutines
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...
 

Functions/Subroutines

elemental subroutine integer_rmap_set_range (integer_rmap, n_range)
 Sets the maximum range of the forward map. More...
 
elemental subroutine integer_rmap_zero (integer_rmap)
 Resets an integer_rmap to have no mappings. 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.

Function/Subroutine Documentation

◆ integer_rmap_append()

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 96 of file integer_rmap.F90.

◆ integer_rmap_change()

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 119 of file integer_rmap.F90.

◆ integer_rmap_check()

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 217 of file integer_rmap.F90.

◆ integer_rmap_remove()

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 165 of file integer_rmap.F90.

◆ integer_rmap_set_range()

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

Sets the maximum range of the forward map.

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

Definition at line 63 of file integer_rmap.F90.

◆ integer_rmap_zero()

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

Resets an integer_rmap to have no mappings.

Parameters
[in,out]integer_rmapStructure to zero.

Definition at line 80 of file integer_rmap.F90.

◆ pmc_mpi_pack_integer_rmap()

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 342 of file integer_rmap.F90.

◆ pmc_mpi_pack_size_integer_rmap()

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 315 of file integer_rmap.F90.

◆ pmc_mpi_unpack_integer_rmap()

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 375 of file integer_rmap.F90.