Class: Vector

Inherits:
Object show all
Includes:
Enumerable
Defined in:
lib/quality_extensions/matrix/indexable.rb,
lib/quality_extensions/vector/enumerable.rb,
lib/quality_extensions/matrix/linked_vectors.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Enumerable

#all_same?, #every, #gradiate, #grep_indexes, #grep_plus_offset, #grep_with_index, #grep_with_regexp_support_for_symbols, #group_by_and_map, #map_with_index, #map_with_index!, #max_by_value, #reject_with_index, #reject_with_index!, #select!, #select_from, #select_until, #select_until_last, #select_until_last_with_index, #select_until_with_index, #select_while, #select_while_with_index, #select_with_index, #select_with_index!

Constructor Details

#initialize(method, array, copy, matrix_details = nil) ⇒ Vector

For internal use.



73
74
75
76
# File 'lib/quality_extensions/matrix/linked_vectors.rb', line 73

def initialize(method, array, copy, matrix_details = nil)
  self.send(method, array, copy)
  @matrix_details = matrix_details
end

Class Method Details

.elements(array, copy = true, matrix_details = nil) ⇒ Object

Creates a vector from an Array. The optional second argument specifies whether the array itself or a copy is used internally.



66
67
68
# File 'lib/quality_extensions/matrix/linked_vectors.rb', line 66

def Vector.elements(array, copy = true, matrix_details = nil)
  new(:init_elements, array, copy, matrix_details)
end

Instance Method Details

#[]=(i, new) ⇒ Object

Updates element number i (starting at zero) of the vector.

If this vector is linked with (a row or column of) a matrix, it changes the corresponding element of that matrix too.



25
26
27
# File 'lib/quality_extensions/matrix/indexable.rb', line 25

def []=(i, new)
  @elements[i] = new
end

#each(&block) ⇒ Object



15
16
17
# File 'lib/quality_extensions/vector/enumerable.rb', line 15

def each &block
  to_a.each &block
end

#sumObject



19
20
21
# File 'lib/quality_extensions/vector/enumerable.rb', line 19

def sum
  inject(&:+)
end