Sha256: 92f2805739517ef73c02f661b3bbb07828cf6654aa2fedf1dc20cc64271a0bcd

Contents?: true

Size: 1.38 KB

Versions: 6

Compression:

Stored size: 1.38 KB

Contents

#!/usr/bin/env ruby

GC::Profiler.enable
#require 'tz/eset'
if File.exists? './ESet.so'
	require './ESet'
else
	require 'Yk/ESet'
end
#require 'tz/debug2'

include Yk

class Item
	attr :time, :f, :cnt
	@@cnt = 0
	def initialize f
		@cnt = @@cnt
		@@cnt += 1
		@time = Time.now
		@f = f
	#	p [self]
	end
	def < arg
	#	p arg
	#	p [arg]
	#	p [self, arg]
		@f < arg.f
	end
end


def main
	s = ESet.new do |o|
	#	p o.f
		o
	end


	p s.insert Item.new(rand)
	p s.insert Item.new(rand)
	p s.insert Item.new(rand)
	p s.insert Item.new(rand)
	p s.insert Item.new(rand)
	p s.insert Item.new(rand)
	ai = s.insert Item.new(r = rand)
	bi = s.insert Item.new(r)
	p ai
	p bi
	p ai[0] == bi[0]
	p s.insert Item.new(rand)
	p ai
	p s.begin.item.f
	p s.begin.inc.item.f
	p 200
	aj = s.upper_bound Item.new(0.5);
	ak = s.lower_bound Item.new(0.5);
	p ak
	p ak.item
	it = s.begin
	while it != s.end
		toOut = it.item.f.to_s
		toOut += case it
		when aj
			"\t:upper_bound"
		when ak
			"\t:lower_bound"
		else
			""
		end
		print toOut + "\n"
		it.inc
	end
	ESet.for_each s.begin, s.end do |o|
		p [o.f]
	end

	
	


end

main

class Foo
	attr :f
	def initialize f
		@f = f
	end
end

s = ESet.new
s = ESet.new do |o|
	o.f
end

s.insert Foo.new(rand)
s.insert Foo.new(rand)
s.insert Foo.new(rand)
s.insert Foo.new(rand)

ESet.for_each s.begin, s.end do |foo|
	p foo.f
end

it = s.begin
while it != s.end
	p it.item
	it.inc
end




Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
YkESet-0.99.5 ext/Yk/test_set.rb
YkESet-0.99.4 ext/Yk/test_set.rb
YkESet-0.99.3 ext/Yk/test_set.rb
YkESet-0.99.2 ext/Yk/test_set.rb
YkESet-0.99.1 ext/Yk/test_set.rb
YkESet-0.99.0 ext/Yk/test_set.rb