Sha256: 85cc0c66835877a6ea3eb4b4b7b5a91e75effd0a7a10cf43b819fdbb1fd8b930
Contents?: true
Size: 1.71 KB
Versions: 10
Compression:
Stored size: 1.71 KB
Contents
class Numeric # = 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. module Multipliers # SI Multipliers def deka ; self * 10 ; end def hecto ; self * 100 ; end def kilo ; self * 1000 ; end def mega ; self * 1000000 ; end def giga ; self * 1000000000 ; end def tera ; self * 1000000000000 ; end def peta ; self * 1000000000000000 ; end def exa ; self * 1000000000000000000 ; end # SI Fractional def deci ; self.to_f / 10 ; end def centi ; self.to_f / 100 ; end def milli ; self.to_f / 1000 ; end def micro ; self.to_f / 1000000 ; end def nano ; self.to_f / 1000000000 ; end def pico ; self.to_f / 1000000000000 ; end def femto ; self.to_f / 1000000000000000 ; end def atto ; self.to_f / 1000000000000000000 ; end # SI Binary def kibi ; self * 1024 ; end def mebi ; self * 1024**2 ; end def gibi ; self * 1024**3 ; end def tebi ; self * 1024**4 ; end def pebi ; self * 1024**5 ; end def exbi ; self * 1024**6 ; end # Bits and Bytes #def bit ; self ; end #def bits ; self ; end #def byte ; self * 8 ; end #def bytes ; self * 8 ; end end include Multipliers end # Copyright (c) 2005 Thomas Sawyer
Version data entries
10 entries across 9 versions & 2 rubygems