|
PartMC
2.4.0
|
A map from integers to integers, together with its multi-valued inverse. More...
Public Attributes | |
| type(integer_varray_t) | forward |
| Forward map (single valued). More... | |
| type(integer_varray_t), dimension(:), allocatable | inverse |
| Inverse map (multi-valued). More... | |
| type(integer_varray_t) | index |
| Forward map to inverse map entries (single valued). More... | |
A map from integers to integers, together with its multi-valued inverse.
The forward map takes integer
in the domain 1,...,n_domain to an integer
in the range 1,...,n_range. This is stored with j = integer_rmap%forward%entry(i). This map will generally not be one-to-one or onto.
The inverse map is multi-valued, with integer_rmap%inverse(j) containing all the inverses of
. The entries in the inverse map are given by inverse_rmap%index. The relationships between the forward and reverse maps are as follows.
Given
, let:
j = integer_rmap%forward%entry(i) k = integer_rmap%index%entry(i)
Then:
integer_rmap%inverse(j)%entry(k) == i
Alternatively, given
and
, let:
i = integer_rmap%inverse(j)%entry(k)
Then:
integer_rmap%forward%entry(i) == j integer_rmap%index%entry(i) == k
Definition at line 49 of file integer_rmap.F90.
| type(integer_varray_t) pmc_integer_rmap::integer_rmap_t::forward |
Forward map (single valued).
Definition at line 51 of file integer_rmap.F90.
| type(integer_varray_t) pmc_integer_rmap::integer_rmap_t::index |
Forward map to inverse map entries (single valued).
Definition at line 55 of file integer_rmap.F90.
| type(integer_varray_t), dimension(:), allocatable pmc_integer_rmap::integer_rmap_t::inverse |
Inverse map (multi-valued).
Definition at line 53 of file integer_rmap.F90.