Sha256: 1a60ec3ec87433bf76dd884e63085d203e9fb7df03e69861c2086e1518c8efe1

Contents?: true

Size: 595 Bytes

Versions: 3

Compression:

Stored size: 595 Bytes

Contents

require_relative 'basic_numeric'

module Basic101

  class BasicFloat < BasicNumeric

    def self.from_s(s)
      value = s.to_f
      new(value)
    end

    def to_integer
      BasicInteger.new(@value.to_i)
    end

    def to_float
      self
    end

    def str
      BasicString.new(@value.to_s)
    end

    def or(other)
      to_integer.or(other)
    end

    def and(other)
      to_integer.and(other)
    end

    def not
      to_integer.not
    end

    def floor
      BasicInteger.new(@value.floor)
    end

    private

    def format
      '%.7g' % @value
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
basic101-0.4.0 lib/basic101/basic_float.rb
basic101-0.2.0 lib/basic101/basic_float.rb
basic101-0.1.0 lib/basic101/basic_float.rb