PartMC  2.3.0
Public Attributes | List of all members
pmc_integer_rmap::integer_rmap_t Type Reference

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

Detailed Description

A map from integers to integers, together with its multi-valued inverse.

The forward map takes integer $i$ in the domain 1,...,n_domain to an integer $j$ 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 $j$. The entries in the inverse map are given by inverse_rmap%index. The relationships between the forward and reverse maps are as follows.

Given $i$, let:

 j = integer_rmap%forward%entry(i)
 k = integer_rmap%index%entry(i)
 

Then:

 integer_rmap%inverse(j)%entry(k) == i
 

Alternatively, given $j$ and $k$, 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.

Member Data Documentation

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.


The documentation for this type was generated from the following file: