Changeset 4317 for trunk/ProjectFortress/compiler_tests
- Timestamp:
- 11/06/09 13:16:48 (3 weeks ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/ProjectFortress/compiler_tests/TreapAndTest.fss
r4305 r4317 84 84 singleton(key:ZZ32, val:String): Treap = Treap(leaf1(key,val)) 85 85 86 empty: Treap = Treap( TEmpty)87 88 trait TreapNode comprises { NonEmpty, TEmpty }86 empty: Treap = Treap(Empty) 87 88 trait TreapNode comprises { NonEmpty, Empty } 89 89 getter isEmpty(): Boolean 90 90 getter hk(): ZZ32 … … 99 99 (* Left subtree of split at key *) 100 100 splitL(key:ZZ32): TreapNode 101 (* Node with given key, or TEmpty *)101 (* Node with given key, or Empty *) 102 102 nodeWithKey(key:ZZ32): TreapNode 103 103 (* Right subtree of split at key *) … … 119 119 end 120 120 121 object TEmpty extends TreapNode121 object Empty extends TreapNode 122 122 getter isEmpty(): Boolean = true 123 123 getter hk(): ZZ32 = Min_HK … … 133 133 (* Left subtree of split at key *) 134 134 splitL(key:ZZ32): TreapNode = self 135 (* Node with given key, or TEmpty *)135 (* Node with given key, or Empty *) 136 136 nodeWithKey(key:ZZ32): TreapNode = self 137 137 (* Right subtree of split at key *) … … 180 180 split(key: ZZ32): (TreapNode, TreapNode, TreapNode) = 181 181 if key < k0 then 182 ( TEmpty, TEmpty, self)183 elif key > k0 then 184 (self, TEmpty, TEmpty)185 else 186 ( TEmpty, self, TEmpty)182 (Empty, Empty, self) 183 elif key > k0 then 184 (self, Empty, Empty) 185 else 186 (Empty, self, Empty) 187 187 end 188 188 *) 189 189 (* Left subtree of split at key *) 190 190 splitL(key:ZZ32): TreapNode = 191 if key > k0 then self else TEmpty end192 (* Node with given key, or TEmpty *)191 if key > k0 then self else Empty end 192 (* Node with given key, or Empty *) 193 193 nodeWithKey(key:ZZ32): TreapNode = 194 if key = k0 then self else TEmpty end194 if key = k0 then self else Empty end 195 195 (* Right subtree of split at key *) 196 196 splitR(key:ZZ32): TreapNode = 197 if key < k0 then self else TEmpty end197 if key < k0 then self else Empty end 198 198 199 199 join(r: TreapNode): TreapNode = r.joinNE(self) 200 200 joinNE(l: NonEmpty): NonEmpty = 201 201 if hk0 > l.hk then 202 Node(l, hk0, k0, v0, TEmpty)202 Node(l, hk0, k0, v0, Empty) 203 203 else 204 204 l.joinNEH(self) 205 205 end 206 206 joinNEH(r: NonEmpty): NonEmpty = 207 Node( TEmpty, hk0, k0, v0, r)207 Node(Empty, hk0, k0, v0, r) 208 208 209 209 combine(c: CombiningOp, r: TreapNode): TreapNode = … … 275 275 left 276 276 end 277 (* Node with given key, or TEmpty *)277 (* Node with given key, or Empty *) 278 278 nodeWithKey(key:ZZ32): TreapNode = 279 279 if key < k0 then … … 338 338 339 339 object IntersectionOp extends CombiningOp 340 leftEmpty(right: TreapNode): TreapNode = TEmpty341 rightEmpty(left: TreapNode): TreapNode = TEmpty340 leftEmpty(right: TreapNode): TreapNode = Empty 341 rightEmpty(left: TreapNode): TreapNode = Empty 342 342 combine(leftArg: Leaf1, rightArg: Leaf1): TreapNode = leftArg 343 343 end 344 344 345 345 object DifferenceOp extends CombiningOp 346 leftEmpty(right: TreapNode): TreapNode = TEmpty346 leftEmpty(right: TreapNode): TreapNode = Empty 347 347 rightEmpty(left: TreapNode): TreapNode = left 348 combine(leftArg: Leaf1, rightArg: Leaf1): TreapNode = TEmpty348 combine(leftArg: Leaf1, rightArg: Leaf1): TreapNode = Empty 349 349 end 350 350 … … 352 352 leftEmpty(right: TreapNode): TreapNode = right 353 353 rightEmpty(left: TreapNode): TreapNode = left 354 combine(leftArg: Leaf1, rightArg: Leaf1): TreapNode = TEmpty355 end 354 combine(leftArg: Leaf1, rightArg: Leaf1): TreapNode = Empty 355 end

