Class: Array
- Inherits:
-
Object
- Object
- Array
- Defined in:
- lib/include/array.rb
Instance Method Summary collapse
- #each_coefficient(init = nil) ⇒ Object
-
#to_i ⇒ Object
Create integer from factorization of it.
-
#to_m(coef_class = nil) ⇒ Object
to_matrix.
- #to_set(sortable = true, &compare) ⇒ Object
-
#to_v(coef_class = nil) ⇒ Object
to_vector.
Instance Method Details
#each_coefficient(init = nil) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/include/array.rb', line 2 def each_coefficient(init = nil) return Enumerator.new(self, :each_coefficient, init) unless block_given? init = Array.new(self.size, 0) unless init current = init.dup loop do yield current.dup # next coef self.size.times do |i| if self[i] == current[i] return if i == self.size - 1 current[i] = 0 else current[i] += 1 break end end end end |
#to_i ⇒ Object
Create integer from factorization of it
42 43 44 |
# File 'lib/include/array.rb', line 42 def to_i return self.map{|p, e| p ** e}.inject(&:*) end |
#to_m(coef_class = nil) ⇒ Object
to_matrix
36 37 38 39 |
# File 'lib/include/array.rb', line 36 def to_m(coef_class = nil) matrix = Abst::Matrix(coef_class || self[0][0].class, self.size, self[0].size) return matrix.new(self) end |
#to_set(sortable = true, &compare) ⇒ Object
24 25 26 27 |
# File 'lib/include/array.rb', line 24 def to_set(sortable = true, &compare) return SortableSet.new(self, &compare) if sortable return Set.new(self) end |