|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
|
+--org.abora.gold.java.AboraHeaper
|
+--org.abora.gold.xpp.basic.Heaper
|
+--org.abora.gold.spaces.basic.XnRegion
|
+--org.abora.gold.tumbler.SequenceRegion
Represents a Region of Sequences. We can efficiently represent unions of intervals,
delimited either by individual sequences or by a match with all sequences prefixed by some
sequence up to some index.
| Field Summary | |
protected boolean |
myStartsInside
|
protected PtrArray |
myTransitions
|
protected int |
myTransitionsCount
|
protected static SequenceRegion |
TheEmptySequenceRegion
|
protected static SequenceRegion |
TheFullSequenceRegion
|
protected static SequenceManager |
TheManager
|
| Fields inherited from class org.abora.gold.spaces.basic.XnRegion |
CantMixCoordSpacesSignal, EmptyRegionSignal |
| Fields inherited from class org.abora.gold.xpp.basic.Heaper |
AllBlasts, BecomeMap, GarbageCount, InGC, InitializedClasses, InitializingClasses, LastMemory, NextClientRequestNumber, NotOneElementSignal, PackageTable, PromiseNameTable, StringHashSBoxes |
| Fields inherited from class org.abora.gold.java.AboraHeaper |
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag |
| Constructor Summary | |
SequenceRegion(boolean startsInside,
PtrArray transitions)
|
|
SequenceRegion(boolean startsInside,
PtrArray transitions,
int count)
|
|
SequenceRegion(Rcvr receiver)
|
|
| Method Summary | |
static SequenceRegion |
above(Sequence sequence)
|
int |
actualHashForEqual()
|
Stepper |
actualStepper(OrderSpec order)
Only called if I've already said I'm enumerable in the originally stated order. |
XnRegion |
asSimpleRegion()
Return a simple region containing all positions contained by myself. If I am simple, then the result must be me. |
static SequenceRegion |
below(Sequence sequence)
|
XnRegion |
complement()
Essential. |
CoordinateSpace |
coordinateSpace()
Essential. |
IntegerVar |
count()
How many positions do I contain? If I am not 'isFinite', then this message will BLAST. |
ScruSet |
distinctions()
Break it up into a set of non-full distinctions. |
static SequenceRegion |
empty()
|
static int |
EXCLUSIVE()
|
static SequenceRegion |
full()
|
boolean |
hasMember(Position position)
Do I contain this position? More than anything else, the behavior of this message is the defining characteristic of an XuRegion. |
static int |
INCLUSIVE()
|
static void |
info()
{Int32 constFn CLIENT INLINE} EXCLUSIVE {Int32 constFn CLIENT INLINE} INCLUSIVE {Int32 constFn CLIENT INLINE} PREFIX {Stepper CLIENT of: SequenceRegion} intervals: order {OrderSpec default: NULL} {BooleanVar CLIENT} isBoundedAbove {BooleanVar CLIENT} isBoundedBelow {BooleanVar CLIENT} isInterval {Sequence CLIENT} lowerEdge {IntegerVar CLIENT} lowerEdgePrefixLimit {Int32 CLIENT} lowerEdgeType {Sequence CLIENT} upperEdge {IntegerVar CLIENT} upperEdgePrefixLimit {Int32 CLIENT} upperEdgeType |
static void |
initTimeNonInherited()
|
XnRegion |
intersect(XnRegion other)
Essential. |
Stepper |
intervals()
|
Stepper |
intervals(OrderSpec order)
Essential. |
boolean |
isBoundedAbove()
Same meaning as IntegerRegion::isBoundedAbove |
boolean |
isBoundedBelow()
Same meaning as IntegerRegion::isBoundedBelow |
boolean |
isEmpty()
Every coordinate space has exactly one empty region. |
boolean |
isEnumerable(OrderSpec order)
See comment in XuRegion::stepper. a->stepper(os) won't BLAST iff a->isEnumerable(os) |
boolean |
isEqual(Heaper other)
Two regions are equal iff they contain exactly the same set of positions |
boolean |
isFinite()
Essential. |
boolean |
isFull()
true if this is the largest possible region in this space -- the region that contains all positions in the space. |
boolean |
isInterval()
Whether this Region is a non-empty interval, i.e. |
boolean |
isSimple()
Am I a simple region. |
boolean |
isSubsetOf(XnRegion other)
I'm a subset of other if I don't have any positions that he doesn't. |
static void |
linkTimeNonInherited()
|
Sequence |
lowerBound()
The largest sequence such that all the positions in the region are >= it. |
Sequence |
lowerEdge()
Essential. |
IntegerVar |
lowerEdgePrefixLimit()
Essential. |
int |
lowerEdgeType()
Essential. |
static int |
PREFIX()
|
static SequenceRegion |
prefixedBy(Sequence sequence,
IntegerVar limit)
All sequences matching the given up to and including the number at limit |
void |
printOn(java.io.PrintWriter oo)
|
void |
receiveSequenceRegion(Rcvr rcvr)
|
PtrArray |
secretTransitions()
|
int |
secretTransitionsCount()
|
void |
sendSelfTo(Xmtr xmtr)
do nothing |
void |
sendSequenceRegion(Xmtr xmtr)
|
Stepper |
simpleRegions(OrderSpec order)
Break myself up into a finite set of non-empty simple regions which, when unionWith'ed together will yield me. |
XnRegion |
simpleUnion(XnRegion other)
The result must contain all positions contained by either of the two original regions, and the result must be simple. |
boolean |
startsInside()
|
Stepper |
stepper(OrderSpec order)
Essential. |
static SequenceRegion |
strictlyAbove(Sequence sequence)
|
static SequenceRegion |
strictlyBelow(Sequence sequence)
|
XnRegion |
unionWith(XnRegion other)
The result has as members exactly those positions which are members of either of the original two regions. |
Sequence |
upperBound()
The smallest Sequence such that all the positions in the region are <= it. |
Sequence |
upperEdge()
Essential. |
IntegerVar |
upperEdgePrefixLimit()
Essential. |
int |
upperEdgeType()
Essential. |
static SequenceRegion |
usingx(boolean startsInside,
PtrArray transitions)
Make a new region, reusing the given array. |
XnRegion |
with(Position pos)
the region with one more position. |
static SequenceRegion |
with(Sequence sequence)
|
| Methods inherited from class org.abora.gold.spaces.basic.XnRegion |
asArray, chooseMany, chooseMany, chooseOne, chooseOne, delta, disjointSimpleRegions, disjointSimpleRegions, dox, immuSet, intersects, isDistinction, isEnumerable, mapping, minus, simpleRegions, stepper, theOne, without |
| Methods inherited from class org.abora.gold.java.AboraHeaper |
asOop, basicInspect, displayString, error, hack, halt, inspect, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected boolean myStartsInside
protected PtrArray myTransitions
protected int myTransitionsCount
protected static SequenceRegion TheEmptySequenceRegion
protected static SequenceRegion TheFullSequenceRegion
protected static SequenceManager TheManager
| Constructor Detail |
public SequenceRegion(boolean startsInside,
PtrArray transitions)
public SequenceRegion(boolean startsInside,
PtrArray transitions,
int count)
public SequenceRegion(Rcvr receiver)
| Method Detail |
public XnRegion asSimpleRegion()
XnRegion
asSimpleRegion in class XnRegionpublic CoordinateSpace coordinateSpace()
XnRegion
coordinateSpace in class XnRegionpublic Sequence lowerBound()
public Sequence lowerEdge()
public IntegerVar lowerEdgePrefixLimit()
public int lowerEdgeType()
public Sequence upperBound()
public Sequence upperEdge()
public IntegerVar upperEdgePrefixLimit()
public int upperEdgeType()
public int actualHashForEqual()
actualHashForEqual in class XnRegionpublic boolean hasMember(Position position)
XnRegion
hasMember in class XnRegionpublic boolean isBoundedAbove()
public boolean isBoundedBelow()
public boolean isEmpty()
XnRegion
isEmpty in class XnRegionpublic boolean isEnumerable(OrderSpec order)
XnRegion
isEnumerable in class XnRegionpublic boolean isEqual(Heaper other)
XnRegion
isEqual in class XnRegionpublic boolean isFinite()
XnRegion
isFinite in class XnRegionpublic boolean isFull()
XnRegion
isFull in class XnRegionpublic boolean isSimple()
XnRegion
isSimple in class XnRegionpublic boolean isSubsetOf(XnRegion other)
XnRegion
isSubsetOf in class XnRegionpublic Stepper actualStepper(OrderSpec order)
XnRegion
actualStepper in class XnRegionpublic IntegerVar count()
XnRegion
count in class XnRegionpublic ScruSet distinctions()
XnRegion
distinctions in class XnRegionpublic Stepper intervals(OrderSpec order)
public boolean isInterval()
public Stepper simpleRegions(OrderSpec order)
XnRegion
simpleRegions in class XnRegionpublic Stepper stepper(OrderSpec order)
XnRegion
stepper in class XnRegionpublic XnRegion complement()
XnRegion
complement in class XnRegionpublic XnRegion intersect(XnRegion other)
XnRegion
intersect in class XnRegionpublic XnRegion simpleUnion(XnRegion other)
XnRegion
simpleUnion in class XnRegionpublic XnRegion unionWith(XnRegion other)
XnRegion
unionWith in class XnRegionpublic XnRegion with(Position pos)
XnRegion
with in class XnRegionpublic void printOn(java.io.PrintWriter oo)
printOn in class Heaperpublic PtrArray secretTransitions()
public int secretTransitionsCount()
public boolean startsInside()
public Stepper intervals()
public void receiveSequenceRegion(Rcvr rcvr)
public void sendSequenceRegion(Xmtr xmtr)
public void sendSelfTo(Xmtr xmtr)
Heaper
sendSelfTo in class Heaperpublic static SequenceRegion with(Sequence sequence)
public static SequenceRegion above(Sequence sequence)
public static SequenceRegion below(Sequence sequence)
public static SequenceRegion empty()
public static SequenceRegion full()
public static SequenceRegion prefixedBy(Sequence sequence,
IntegerVar limit)
public static SequenceRegion strictlyAbove(Sequence sequence)
public static SequenceRegion strictlyBelow(Sequence sequence)
public static void initTimeNonInherited()
public static void linkTimeNonInherited()
public static SequenceRegion usingx(boolean startsInside,
PtrArray transitions)
public static int EXCLUSIVE()
public static int INCLUSIVE()
public static int PREFIX()
public static void info()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||