Module: AUOM::Algebra
- Included in:
- Unit
- Defined in:
- lib/auom/algebra.rb
Overview
The AUOM algebra
Instance Method Summary collapse
-
#add(operand) ⇒ Unit
(also: #+)
Return addition result.
-
#divide(operand) ⇒ Unit
(also: #/)
Return division result.
-
#multiply(operand) ⇒ Unit
(also: #*)
Return multiplication result.
-
#subtract(operand) ⇒ Unit
(also: #-)
Return subtraction result.
Instance Method Details
#add(operand) ⇒ Unit Also known as: +
Return addition result
25 26 27 28 29 30 |
# File 'lib/auom/algebra.rb', line 25 def add(operand) klass = self.class operand = klass.convert(operand) assert_same_unit(operand) klass.new(operand.scalar + scalar, numerators, denominators) end |
#divide(operand) ⇒ Unit Also known as: /
Return division result
110 111 112 113 114 115 116 117 118 119 |
# File 'lib/auom/algebra.rb', line 110 def divide(operand) klass = self.class operand = klass.convert(operand) self * klass.new( 1 / operand.scalar, operand.denominators, operand.numerators ) end |
#multiply(operand) ⇒ Unit Also known as: *
Return multiplication result
78 79 80 81 82 83 84 85 86 87 |
# File 'lib/auom/algebra.rb', line 78 def multiply(operand) klass = self.class operand = klass.convert(operand) klass.new( operand.scalar * scalar, numerators + operand.numerators, denominators + operand.denominators ) end |
#subtract(operand) ⇒ Unit Also known as: -
Return subtraction result
53 54 55 |
# File 'lib/auom/algebra.rb', line 53 def subtract(operand) add(operand * -1) end |