Index - All Packages - All Categories - All Classes

Class Dsp

A Dsp is a mapping from a coordinate space to itself that preserves simple regions. Every coordinate space must have an identity Dsp (which maps all positions of that space onto themselves). Dsps are necessarily invertable and composable.

(Removed from CoordinateSpace because Dsps are still internal.:
Dsp -- The transformations that can be applied to positions and regions of this cordinate space. A Dsp is necessarily invertible but generally not order-preserving. The composition of two Dsps is always a Dsp. If you can subtract two Dsps, the result will be another Dsp. The Dsp of a Position in this space is always another Position in this space. The Dsp of a simple region is always another simple region.)


Considering a Mapping as a set of pairs, a Dsp is one for which each position appears exactly once in the first elements of the pairs, and exactly once in the second elements. Composition of Dsps isn't necessarily commutative, though there are currently no counter-examples. Therefore we must be extra careful to avoid embodying commutativity assumptions in our code, as we currently have no way of finding such bugs.

Package: Udanax-Gold
All Superclasses: Object Heaper Mapping
Immediate Subclasses: CrossMapping IdentityDsp IntegerMapping SequenceMapping
Protocols: Object
Categories: Xanadu-Spaces-Basic

Instance Methods

appliedAfter: dsp

For Dsp's, it is identical to compose.

Overrides: Mapping

compose: other

Return the composition of the two Dsps. Two Dsps of the same space are always composable.
(a->compose(b) ->minus(b))->isEqual (a)
(a->compose(b) ->of(pos))->isEqual (a->of (b->of (pos))

Overridden by: CrossMapping GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

coordinateSpace

the coordinate space of the domain and range of the Dsp

Overrides: Mapping
Overridden by: CrossMapping GenericCrossDsp IdentityDsp FilterDsp HeaperDsp IDDsp RealDsp IntegerMapping SequenceMapping

domain

Must be valid everywhere in the domain for a Dsp.

Overrides: Mapping

fetchCombine: mapping



Overrides: Mapping

fetchDsp



Overrides: Mapping

inverse

Return the inverse of this transformation. Considering the Dsp as a set of pairs
(see class comment), return the Dsp which has the mirror image of all my
pairs.

Overrides: Mapping
Overridden by: CrossMapping GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

inverseCompose: other

Return the composition of my inverse with the other.
a->inverseCompose(b) ->isEqual (a->inverse()->compose(b))

Overridden by: GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

inverseOf: pos

Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.
a->inverseOf(b) ->isEqual (a->inverse()->of(b))

Overrides: Mapping
Overridden by: GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

inverseOfAll: reg

Inverse transform a region. A simple region must yield a simple region.
a->inverseOfAll(b) ->isEqual (a->inverseAll()->of(b))

Overrides: Mapping
Overridden by: GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

isComplete



Overrides: Mapping

isIdentity

Says whether this Dsp maps every Position onto itself

Overrides: Mapping
Overridden by: CrossMapping GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

minus: other

Return the difference of the two Dsps.
(a->compose(b) ->minus(b))->isEqual (a)

Overridden by: CrossMapping GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

of: pos

Since Dsps always represent a unique mapping in either direction, the permission to BLAST
in the Mapping constract no longer applies.

Overrides: Mapping
Overridden by: GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

ofAll: reg

If 'reg' is a simple region, then the result must also be simple

Overrides: Mapping
Overridden by: CrossMapping GenericCrossDsp IdentityDsp IntegerMapping SequenceMapping

preCompose: dsp

a->compose(b) is the same as b->preCompose(a). Don't use it, use
compose instead.

Overrides: Mapping

range



Overrides: Mapping

rangeSpace

Same as the domain space

Overrides: Mapping

restrict: region



Overrides: Mapping

restrictRange: region



Overrides: Mapping

simpleMappings

A Dsp is a simpleMapping already, so this just returns the singleton set containing me

Overrides: Mapping

simpleRegionMappings

The domain of a Dsp is the simple region covering the whole coordinate space, so
I just return a singleton set containing myself

Overrides: Mapping

transformedBy: dsp

For Dsp's, it is identical to preCompose.

Overrides: Mapping


Index - All Packages - All Categories - All Classes