PartMC  2.6.1
Data Types | Functions/Subroutines
pmc_integer_rmap2 Module Reference

The integer_rmap2_t structure and assocated subroutines. More...

Data Types

type  integer_rmap2_t
 A map $\mathbb{Z} \to \mathbb{Z} \times \mathbb{Z}$, together with its multi-valued inverse. More...
 

Functions/Subroutines

elemental subroutine integer_rmap2_set_ranges (integer_rmap2, n_range_1, n_range_2)
 Sets the maximum ranges of the forward map. More...
 
elemental subroutine integer_rmap2_zero (integer_rmap2)
 Resets an integer_rmap2 to have no mappings. More...
 
subroutine integer_rmap2_append (integer_rmap2, i_range_1, i_range_2)
 Set the map value of the next free domain value to (i_range_1, i_range_2. More...
 
subroutine integer_rmap2_change (integer_rmap2, i_domain, i_range_1, i_range_2)
 Change the map value of i_domain to (i_range_1, i_range_2). More...
 
subroutine integer_rmap2_remove (integer_rmap2, 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_rmap2_check (integer_rmap2, name, n_domain, n_range_1, n_range_2, continue_on_error)
 Check that the data is consistent. More...
 
integer function pmc_mpi_pack_size_integer_rmap2 (val)
 Determines the number of bytes required to pack the given value. More...
 
subroutine pmc_mpi_pack_integer_rmap2 (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi_unpack_integer_rmap2 (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 

Detailed Description

The integer_rmap2_t structure and assocated subroutines.

Function/Subroutine Documentation

◆ integer_rmap2_append()

subroutine pmc_integer_rmap2::integer_rmap2_append ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
integer, intent(in)  i_range_1,
integer, intent(in)  i_range_2 
)

Set the map value of the next free domain value to (i_range_1, i_range_2.

Parameters
[in,out]integer_rmap2Map to append to.
[in]i_range_1First range value.
[in]i_range_2Second range value.

Definition at line 107 of file integer_rmap2.F90.

◆ integer_rmap2_change()

subroutine pmc_integer_rmap2::integer_rmap2_change ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
integer, intent(in)  i_domain,
integer, intent(in)  i_range_1,
integer, intent(in)  i_range_2 
)

Change the map value of i_domain to (i_range_1, i_range_2).

Parameters
[in,out]integer_rmap2Map to change.
[in]i_domainDomain value.
[in]i_range_1First range value.
[in]i_range_2Second range value.

Definition at line 135 of file integer_rmap2.F90.

◆ integer_rmap2_check()

subroutine pmc_integer_rmap2::integer_rmap2_check ( type(integer_rmap2_t integer_rmap2,
character(len=*), intent(in)  name,
integer, intent(in)  n_domain,
integer, intent(in)  n_range_1,
integer, intent(in)  n_range_2,
logical, intent(in)  continue_on_error 
)

Check that the data is consistent.

Parameters
integer_rmap2Structure to check.
[in]nameCheck name.
[in]n_domainSize of domain.
[in]n_range_1Size of first range.
[in]n_range_2Size of second range.
[in]continue_on_errorWhether to continue despite error.

Definition at line 248 of file integer_rmap2.F90.

◆ integer_rmap2_remove()

subroutine pmc_integer_rmap2::integer_rmap2_remove ( type(integer_rmap2_t), intent(inout)  integer_rmap2,
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_rmap2Map to remove from.
[in]i_domainDomain value to replace.

Definition at line 190 of file integer_rmap2.F90.

◆ integer_rmap2_set_ranges()

elemental subroutine pmc_integer_rmap2::integer_rmap2_set_ranges ( type(integer_rmap2_t), intent(out)  integer_rmap2,
integer, intent(in)  n_range_1,
integer, intent(in)  n_range_2 
)

Sets the maximum ranges of the forward map.

Parameters
[out]integer_rmap2Structure to initialize.
[in]n_range_1Size of first range space.
[in]n_range_2Size of second range space.

Definition at line 69 of file integer_rmap2.F90.

◆ integer_rmap2_zero()

elemental subroutine pmc_integer_rmap2::integer_rmap2_zero ( type(integer_rmap2_t), intent(inout)  integer_rmap2)

Resets an integer_rmap2 to have no mappings.

Parameters
[in,out]integer_rmap2Structure to zero.

Definition at line 89 of file integer_rmap2.F90.

◆ pmc_mpi_pack_integer_rmap2()

subroutine pmc_integer_rmap2::pmc_mpi_pack_integer_rmap2 ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap2_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 408 of file integer_rmap2.F90.

◆ pmc_mpi_pack_size_integer_rmap2()

integer function pmc_integer_rmap2::pmc_mpi_pack_size_integer_rmap2 ( type(integer_rmap2_t), intent(in)  val)

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

Parameters
[in]valValue to pack.

Definition at line 375 of file integer_rmap2.F90.

◆ pmc_mpi_unpack_integer_rmap2()

subroutine pmc_integer_rmap2::pmc_mpi_unpack_integer_rmap2 ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(integer_rmap2_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 446 of file integer_rmap2.F90.