module Numeric::Multipliers
Numeric::Multipliers¶ ↑
Adds methods to Numeric to make working with magnitudes (kilo, mega, giga, milli, micro, etc.)
1.kilo #=> 1000 1.milli #=> 0.001 1.kibi #=> 1024
To display a value in a certain denomination, simply perform the inverse operation by placing the multiplier called on unit (1) in the denominator.
(1000 / 1.kilo) #=> 1 (1024 / 1.kibi) #=> 1
Thanks to Rich Kilmer and bytes.rb which inspired this library.
Public Instance Methods
atto()
click to toggle source
# File lib/facets/multipliers.rb, line 43 def atto ; self.to_f / 1000000000000000000 ; end
centi()
click to toggle source
# File lib/facets/multipliers.rb, line 37 def centi ; self.to_f / 100 ; end
deci()
click to toggle source
SI Fractional
# File lib/facets/multipliers.rb, line 36 def deci ; self.to_f / 10 ; end
deka()
click to toggle source
SI Multipliers
# File lib/facets/multipliers.rb, line 25 def deka ; self * 10 ; end
exa()
click to toggle source
# File lib/facets/multipliers.rb, line 32 def exa ; self * 1000000000000000000 ; end
exbi()
click to toggle source
# File lib/facets/multipliers.rb, line 52 def exbi ; self * 1024**6 ; end
femto()
click to toggle source
# File lib/facets/multipliers.rb, line 42 def femto ; self.to_f / 1000000000000000 ; end
gibi()
click to toggle source
# File lib/facets/multipliers.rb, line 49 def gibi ; self * 1024**3 ; end
giga()
click to toggle source
# File lib/facets/multipliers.rb, line 29 def giga ; self * 1000000000 ; end
hecto()
click to toggle source
# File lib/facets/multipliers.rb, line 26 def hecto ; self * 100 ; end
kibi()
click to toggle source
SI Binary
# File lib/facets/multipliers.rb, line 47 def kibi ; self * 1024 ; end
kilo()
click to toggle source
# File lib/facets/multipliers.rb, line 27 def kilo ; self * 1000 ; end
mebi()
click to toggle source
# File lib/facets/multipliers.rb, line 48 def mebi ; self * 1024**2 ; end
mega()
click to toggle source
# File lib/facets/multipliers.rb, line 28 def mega ; self * 1000000 ; end
micro()
click to toggle source
# File lib/facets/multipliers.rb, line 39 def micro ; self.to_f / 1000000 ; end
milli()
click to toggle source
# File lib/facets/multipliers.rb, line 38 def milli ; self.to_f / 1000 ; end
nano()
click to toggle source
# File lib/facets/multipliers.rb, line 40 def nano ; self.to_f / 1000000000 ; end
pebi()
click to toggle source
# File lib/facets/multipliers.rb, line 51 def pebi ; self * 1024**5 ; end
peta()
click to toggle source
# File lib/facets/multipliers.rb, line 31 def peta ; self * 1000000000000000 ; end
pico()
click to toggle source
# File lib/facets/multipliers.rb, line 41 def pico ; self.to_f / 1000000000000 ; end
tebi()
click to toggle source
# File lib/facets/multipliers.rb, line 50 def tebi ; self * 1024**4 ; end
tera()
click to toggle source
# File lib/facets/multipliers.rb, line 30 def tera ; self * 1000000000000 ; end