PartMC
2.5.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.