PartMC
2.2.0
|
The integer_varray_t structure and assocated subroutines. More...
Data Types | |
type | integer_varray_t |
A variable-length 1D array of integers. More... | |
Public Member Functions | |
elemental subroutine | integer_varray_allocate (integer_varray) |
Allocates an empty structure. | |
elemental subroutine | integer_varray_allocate_size (integer_varray, n_entry) |
Allocates a structure with the given size. | |
elemental subroutine | integer_varray_deallocate (integer_varray) |
Deallocates a previously allocated structure. | |
subroutine | integer_varray_reallocate (integer_varray, new_length) |
Changes the given integer_varray to exactly the given new_length. | |
elemental subroutine | integer_varray_zero (integer_varray) |
Resets an integer_varray to have zero particles per bin. | |
subroutine | integer_varray_copy (integer_varray_from, integer_varray_to) |
Copies an integer_varray. | |
subroutine | integer_varray_enlarge (integer_varray) |
Enlarges the given integer_varray by at least one element. | |
subroutine | integer_varray_enlarge_to (integer_varray, n) |
Enlarges the given array so that it is at least of size n. | |
subroutine | integer_varray_shrink (integer_varray) |
Possibly shrinks the storage of the given array, ensuring that it can still store the used entries. | |
subroutine | integer_varray_append (integer_varray, val) |
Adds the given number to the end of the array. | |
subroutine | integer_varray_remove_entry (integer_varray, index) |
Removes the entry at the given index, repacking values to maintain contiguous data. | |
integer function | pmc_mpi_pack_size_integer_varray (val) |
Determines the number of bytes required to pack the given value. | |
subroutine | pmc_mpi_pack_integer_varray (buffer, position, val) |
Packs the given value into the buffer, advancing position. | |
subroutine | pmc_mpi_unpack_integer_varray (buffer, position, val) |
Unpacks the given value from the buffer, advancing position. |
The integer_varray_t structure and assocated subroutines.
Definition at line 9 of file integer_varray.F90.
elemental subroutine pmc_integer_varray::integer_varray_allocate | ( | type(integer_varray_t), intent(out) | integer_varray | ) |
Allocates an empty structure.
[out] | integer_varray | Structure to initialize. |
Definition at line 30 of file integer_varray.F90.
elemental subroutine pmc_integer_varray::integer_varray_allocate_size | ( | type(integer_varray_t), intent(out) | integer_varray, |
integer, intent(in) | n_entry | ||
) |
Allocates a structure with the given size.
[out] | integer_varray | Structure to initialize. |
[in] | n_entry | Number of entries. |
Definition at line 43 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_append | ( | type(integer_varray_t), intent(inout) | integer_varray, |
integer, intent(in) | val | ||
) |
Adds the given number to the end of the array.
[in,out] | integer_varray | Array to add to. |
[in] | val | Value to add. |
Definition at line 181 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_copy | ( | type(integer_varray_t), intent(in) | integer_varray_from, |
type(integer_varray_t), intent(inout) | integer_varray_to | ||
) |
Copies an integer_varray.
[in] | integer_varray_from | Structure to copy from. |
[in,out] | integer_varray_to | Structure to copy to. |
Definition at line 108 of file integer_varray.F90.
elemental subroutine pmc_integer_varray::integer_varray_deallocate | ( | type(integer_varray_t), intent(inout) | integer_varray | ) |
Deallocates a previously allocated structure.
[in,out] | integer_varray | Structure to deallocate. |
Definition at line 59 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_enlarge | ( | type(integer_varray_t), intent(inout) | integer_varray | ) |
Enlarges the given integer_varray by at least one element.
Currently this at least doubles the length.
[in,out] | integer_varray | Array to enlarge. |
Definition at line 128 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_enlarge_to | ( | type(integer_varray_t), intent(inout) | integer_varray, |
integer, intent(in) | n | ||
) |
Enlarges the given array so that it is at least of size n.
[in,out] | integer_varray | Array to enlarge. |
[in] | n | Minimum new size of array. |
Definition at line 144 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_reallocate | ( | type(integer_varray_t), intent(inout) | integer_varray, |
integer, intent(in) | new_length | ||
) |
Changes the given integer_varray to exactly the given new_length.
This function should not be called directly, but rather use integer_varray_enlarge(), integer_varray_enlarge_to() or integer_varray_shrink().
[in,out] | integer_varray | Array to reallocate. |
[in] | new_length | New length of the array. |
Definition at line 75 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_remove_entry | ( | type(integer_varray_t), intent(inout) | integer_varray, |
integer, intent(in) | index | ||
) |
Removes the entry at the given index, repacking values to maintain contiguous data.
[in,out] | integer_varray | Array to remove from. |
[in] | index | Index of entry to remove. |
Definition at line 201 of file integer_varray.F90.
subroutine pmc_integer_varray::integer_varray_shrink | ( | type(integer_varray_t), intent(inout) | integer_varray | ) |
Possibly shrinks the storage of the given array, ensuring that it can still store the used entries.
[in,out] | integer_varray | Array to shrink. |
Definition at line 161 of file integer_varray.F90.
elemental subroutine pmc_integer_varray::integer_varray_zero | ( | type(integer_varray_t), intent(inout) | integer_varray | ) |
Resets an integer_varray to have zero particles per bin.
[in,out] | integer_varray | Structure to zero. |
Definition at line 95 of file integer_varray.F90.
subroutine pmc_integer_varray::pmc_mpi_pack_integer_varray | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(integer_varray_t), intent(in) | val | ||
) |
Packs the given value into the buffer, advancing position.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in] | val | Value to pack. |
Definition at line 242 of file integer_varray.F90.
integer function pmc_integer_varray::pmc_mpi_pack_size_integer_varray | ( | type(integer_varray_t), intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
[in] | val | Value to pack. |
Definition at line 225 of file integer_varray.F90.
subroutine pmc_integer_varray::pmc_mpi_unpack_integer_varray | ( | character, dimension(:), intent(inout) | buffer, |
integer, intent(inout) | position, | ||
type(integer_varray_t), intent(inout) | val | ||
) |
Unpacks the given value from the buffer, advancing position.
[in,out] | buffer | Memory buffer. |
[in,out] | position | Current buffer position. |
[in,out] | val | Value to pack. |
Definition at line 266 of file integer_varray.F90.