mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-11-04 15:57:58 +00:00 
			
		
		
		
	
		
			
	
	
		
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			82 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								define
							 | 
						||
| 
								 | 
							
								a-c:{(#3,RANGEKEYUNSET,@5) (#2,RANGEKEYSET,@5,apples) (#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								c-d:{(#4,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								d-e:{(#4,RANGEKEYSET,@3,bananas) (#4,RANGEKEYSET,@1,pineapple)}
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Iterating with logical defragmentation should combine [a,c) and [c,d)
							 | 
						||
| 
								 | 
							
								# fragments.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iter
							 | 
						||
| 
								 | 
							
								first
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								last
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								first     a-d:{(#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								next      d-e:{(#4,RANGEKEYSET,@3,bananas) (#4,RANGEKEYSET,@1,pineapple)}
							 | 
						||
| 
								 | 
							
								next      .
							 | 
						||
| 
								 | 
							
								last      d-e:{(#4,RANGEKEYSET,@3,bananas) (#4,RANGEKEYSET,@1,pineapple)}
							 | 
						||
| 
								 | 
							
								prev      a-d:{(#4,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								prev      .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Test defragmenting in both directions at seek keys.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								define
							 | 
						||
| 
								 | 
							
								a-f:{(#3,RANGEKEYUNSET,@5) (#2,RANGEKEYSET,@5,apples) (#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								f-h:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								h-p:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								p-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iter
							 | 
						||
| 
								 | 
							
								seekge b
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								seekge b
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								seeklt d
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								seeklt d
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								seekge b  a-t:{(#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								prev      .
							 | 
						||
| 
								 | 
							
								seekge b  a-t:{(#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								next      .
							 | 
						||
| 
								 | 
							
								seeklt d  a-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								next      .
							 | 
						||
| 
								 | 
							
								seeklt d  a-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								prev      .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iter
							 | 
						||
| 
								 | 
							
								seeklt d
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								seeklt d  a-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								next      .
							 | 
						||
| 
								 | 
							
								prev      a-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Test next-ing and prev-ing around seek keys.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								define
							 | 
						||
| 
								 | 
							
								a-f:{(#3,RANGEKEYUNSET,@5) (#2,RANGEKEYSET,@5,apples) (#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								f-h:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								h-p:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								p-t:{(#3,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								t-z:{(#4,RANGEKEYSET,@2,oranges)}
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								iter
							 | 
						||
| 
								 | 
							
								seekge r
							 | 
						||
| 
								 | 
							
								prev
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								next
							 | 
						||
| 
								 | 
							
								----
							 | 
						||
| 
								 | 
							
								seekge r  a-t:{(#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								prev      .
							 | 
						||
| 
								 | 
							
								next      a-t:{(#1,RANGEKEYSET,@3,bananas)}
							 | 
						||
| 
								 | 
							
								next      t-z:{(#4,RANGEKEYSET,@2,oranges)}
							 |