Sha256: f8b7334cc295e55f841fa2e1f118071a89ef163088ed5c314c9eb6b139e46ca3

Contents?: true

Size: 604 Bytes

Versions: 2

Compression:

Stored size: 604 Bytes

Contents

module Danica
  class Constant
    include BaseOperations

    attr_reader :value, :latex, :gnu

    def initialize(value, latex, gnu)
      @value = value
      @latex = latex
      @gnu = gnu
    end

    def to_f
      value.to_f
    end

    def ==(other)
      return false unless other.class == self.class
      gnu == other.gnu && latex == other.latex && value == other.value
    end

    def to_tex
      latex.to_s
    end

    def to_gnu
      gnu.to_s
    end

    def valued?
      true
    end
  end

  E = Constant.new(Math::E, :e, 'exp(1)')
  PI =  Constant.new(Math::PI, '\pi', :pi)
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
danica-2.0.3 lib/danica/constant.rb
danica-2.0.2 lib/danica/constant.rb