[ HPF Home | Versions | Compilers | Projects | Publications | Applications | Benchmarks | Events | Contact ] |
The set of mappings of named objects is endowed with a partial order modulo a certain equivalence. Roughly speaking, if and are two mappings, then to say that is a specialization of (i.e., `` is below '' in this ordering) is to say that is partially specified and that is one of the mappings that is consistent with . This notion is used below in Section 4.6, and also in Section 8.8.
below in Section 8.8), then you need not read this Section. (End of advice to users.)
The precise definition is as follows.
First, we define a notion of equivalence for dist-format specifications:
BLOCK = BLOCK CYCLIC = CYCLIC * = * BLOCK(n) = BLOCK(m) iff m and n have the same value CYCLIC(n) = CYCLIC(m) iff m and n have the same value CYCLIC = CYCLIC(1)
This is an equivalence relation in the usual mathematical sense.
Now we define the partial order on mappings: Let S (``special'') and G (``general'') be two data objects.
The mapping of S is a specialization of the mapping of G if and only if either:
and must also satisfy one of the following conditions:
With this definition,
That is, the specialization relation, as applied to mappings of named objects, is reflexive and transitive, and it can therefore be applied to produce an equivalence relation on the set of mappings of named objects: two such mappings can be said to be equivalent iff each is a specialization of the other. With this definition, the specialization relation yields a partial ordering on the set of mappings of named objects, modulo equivalence. The INHERIT mapping is the unique maximal element in this partial order.
©2000-2006 Rice University | [ Contact Us | HiPerSoft | Computer Science ] |