Module: Measurand::Math
- Defined in:
- lib/Measurand/Math.rb
Class Method Summary collapse
- .cos(measurand) ⇒ Object
- .exp(measurand) ⇒ Object
- .log(measurand) ⇒ Object
- .log10(measurand) ⇒ Object
- .sin(measurand) ⇒ Object
- .sqrt(measurand) ⇒ Object
- .tan(measurand) ⇒ Object
- .wrap(measurand) ⇒ Object
Class Method Details
.cos(measurand) ⇒ Object
39 40 41 42 |
# File 'lib/Measurand/Math.rb', line 39 def cos(measurand) measurand = wrap(measurand) measurand.apply(::Math.cos(measurand.value), -::Math.sin(measurand.value)) end |
.exp(measurand) ⇒ Object
19 20 21 22 |
# File 'lib/Measurand/Math.rb', line 19 def exp(measurand) measurand = wrap(measurand) measurand.apply(::Math.exp(measurand.value), ::Math.exp(measurand.value)) end |
.log(measurand) ⇒ Object
24 25 26 27 |
# File 'lib/Measurand/Math.rb', line 24 def log(measurand) measurand = wrap(measurand) measurand.apply(::Math.log(measurand.value), 1.0 / measurand.value) end |
.log10(measurand) ⇒ Object
29 30 31 32 |
# File 'lib/Measurand/Math.rb', line 29 def log10(measurand) measurand = wrap(measurand) measurand.apply(::Math.log10(measurand.value), 1.0 / (measurand.value * ::Math.log(10))) end |
.sin(measurand) ⇒ Object
34 35 36 37 |
# File 'lib/Measurand/Math.rb', line 34 def sin(measurand) measurand = wrap(measurand) measurand.apply(::Math.sin(measurand.value), ::Math.cos(measurand.value)) end |
.sqrt(measurand) ⇒ Object
14 15 16 17 |
# File 'lib/Measurand/Math.rb', line 14 def sqrt(measurand) measurand = wrap(measurand) measurand.apply(::Math.sqrt(measurand.value), 1.0 / (2 * ::Math.sqrt(measurand.value))) end |
.tan(measurand) ⇒ Object
44 45 46 47 |
# File 'lib/Measurand/Math.rb', line 44 def tan(measurand) measurand = wrap(measurand) measurand.apply(::Math.tan(measurand.value), 1.0 / (::Math.cos(measurand.value) ** 2)) end |