<<>> <> <> <> <> DIRECTORY G2dBasic, Rope; G3dNats: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE ~ Rope.ROPE; IntegerPairSequence: TYPE ~ G2dBasic.IntegerPairSequence; NatSequence: TYPE ~ G2dBasic.NatSequence; NatTable: TYPE ~ REF NatTableRep; NatTableRep: TYPE ~ RECORD [ length: CARDINAL ¬ 0, element: SEQUENCE maxLength: CARDINAL OF NatSequence]; <> NewNatSequence3: PROC [v0, v1, v2: INT] RETURNS [NatSequence]; <> <<>> EqualNatSequences: PROC [s1, s2: NatSequence] RETURNS [BOOL]; <> <<>> GetCommonElementInNatSequences: PROC [n1, n2: NatSequence] RETURNS [INT]; <> <<>> GetNatSequenceIndex: PROC [nats: NatSequence, nat: NAT] RETURNS [INT]; <> <<>> ReplaceNatInSequence: PROC [n: NatSequence, old, new: NAT] RETURNS [NatSequence]; <> <<>> RemoveNatInSequence: PROC [n: NatSequence, old: NAT] RETURNS [NatSequence]; <> <<>> GetUniqueElement: PROC [ns: NatSequence] RETURNS [INT]; <1 unrepeated elements found>> <<>> GetRepeatedElement: PROC [ns: NatSequence] RETURNS [INT]; <> <<>> GetElementNotShared: PROC [v: NAT, ns: NatSequence] RETURNS [INT]; <> NatInSequence: PROC [nat: NAT, seq: NatSequence] RETURNS [BOOL]; <> NatSequenceLength: PROC [seq: NatSequence] RETURNS [INT]; <> <> CopyNatSequenceSequence: PUBLIC PROC [nats: NatTable] RETURNS [NatTable]; AddToNatSequenceSequence: PUBLIC PROC [nats: NatTable, nat: NatSequence] RETURNS [NatTable]; LengthenNatSequenceSequence: PUBLIC PROC [nats: NatTable, amount: REAL ¬ 1.3] RETURNS [new: NatTable]; <> ObtainScratchNats: PROC [length: INTEGER] RETURNS [NatSequence]; <> <<>> ReleaseScratchNats: PROC [scratch: NatSequence]; <> <<>> ObtainScratchIntegerPairs: PROC [length: INTEGER] RETURNS [IntegerPairSequence]; <> <<>> ReleaseScratchIntegerPairs: PROC [scratch: IntegerPairSequence]; <> <<>> END.