class Array
- ::TODO
-
add document
- ::TODO
-
add document
Public Instance Methods
&(item)
click to toggle source
# File lib/setfu.rb, line 1202 def &(item) return old_and_method4set(item) if (item.type_of? Array) a = BitSet.new(self) b = BitSet.new(item) return a & b end
Also aliased as: old_and_method4set
-(item)
click to toggle source
# File lib/setfu.rb, line 1196 def -(item) return old_subtract_method4set(item) if (item.type_of? Array) a = BitSet.new(self) b = BitSet.new(item) return a - b end
Also aliased as: old_subtract_method4set
^(item)
click to toggle source
# File lib/setfu.rb, line 1186 def ^(item) if item.type_of? Array return (self | item) - (self & item) else a = BitSet.new(self) b = BitSet.new(item) return a ^ b end end
ascending?()
click to toggle source
# File lib/setfu.rb, line 50 def ascending? return false unless count >=2 cnt = self.length - 1 cnt.times do |ii| return false unless self[ii+1] >= self[ii] end return false if first==last # ascending means something has to get bigger true end
descending?()
click to toggle source
# File lib/setfu.rb, line 59 def descending? return false unless count >=2 cnt = self.length - 1 cnt.times do |ii| return false unless self[ii+1] <= self[ii] end return false if first==last # descending means something has to get smaller true end
members_to_bset()
click to toggle source
# File lib/setfu.rb, line 375 def members_to_bset Setfu::bset_elements(self) self end
peek(n=0)
click to toggle source
# File lib/setfu.rb, line 43 def peek(n=0) return self[count-n-1] end
pop2()
click to toggle source
# File lib/setfu.rb, line 38 def pop2 a = pop b = pop return [a,b] end
reduce_tuples(passes = 1)
click to toggle source
# File lib/setfu.rb, line 390 def reduce_tuples(passes = 1) Setfu::bset_elements(self) Setfu::untag_bset_elements(self) total_count = 0 loop do tc = Setfu::reduce(self) if tc < 0 total_count = -1 break end break if tc == 0 total_count += tc passes -= 1 break if passes <= 0 end total_count end
sorted?()
click to toggle source
# File lib/setfu.rb, line 68 def sorted? return false unless count >=1 return true if (self & self).count == 1 # [4,4,4,4] is sorted, but not ascending or desending return true if ascending? return true if descending? false end
stack_rot()
click to toggle source
# File lib/setfu.rb, line 30 def stack_rot a = pop b = pop c = pop push a push c push b end
stack_swap()
click to toggle source
# File lib/setfu.rb, line 24 def stack_swap a = pop b = pop push a push b end
tuple()
click to toggle source
# File lib/setfu.rb, line 387 def tuple Setfu::tuple(self) end
tuple?()
click to toggle source
# File lib/setfu.rb, line 384 def tuple? Setfu::tuple?(self) end
tuples()
click to toggle source
# File lib/setfu.rb, line 379 def tuples members_to_bset rtn = Setfu::tuples(self) rtn end
untag_bset_elements()
click to toggle source
# File lib/setfu.rb, line 407 def untag_bset_elements Setfu::untag_bset_elements(self) end
|(item)
click to toggle source
# File lib/setfu.rb, line 1208 def |(item) return old_or_method4set(item) if (item.type_of? Array) a = BitSet.new(self) b = BitSet.new(item) return a | b end
Also aliased as: old_or_method4set