Module: Sevgi::Function::Float

Included in:
Sevgi::Function
Defined in:
lib/sevgi/geometry/internal/float.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.precisionObject

Returns the value of attribute precision.



9
10
11
# File 'lib/sevgi/geometry/internal/float.rb', line 9

def precision
  @precision
end

Instance Method Details

#approx(float, precision = nil) ⇒ Object



12
# File 'lib/sevgi/geometry/internal/float.rb', line 12

def approx(float, precision = nil)   = float.round(precision || Function::Float.precision)

#count(length, division) ⇒ Object



14
# File 'lib/sevgi/geometry/internal/float.rb', line 14

def count(length, division)          = (length / division.to_f).to_i

#eq?(left, right, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


16
# File 'lib/sevgi/geometry/internal/float.rb', line 16

def eq?(left, right, precision: nil) = approx(left, precision) == approx(right, precision)

#ge?(left, right, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


18
# File 'lib/sevgi/geometry/internal/float.rb', line 18

def ge?(left, right, precision: nil) = approx(left, precision) >= approx(right, precision)

#gt?(left, right, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


20
# File 'lib/sevgi/geometry/internal/float.rb', line 20

def gt?(left, right, precision: nil) = approx(left, precision) > approx(right, precision)

#le?(left, right, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


22
# File 'lib/sevgi/geometry/internal/float.rb', line 22

def le?(left, right, precision: nil) = approx(left, precision) <= approx(right, precision)

#lt?(left, right, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


24
# File 'lib/sevgi/geometry/internal/float.rb', line 24

def lt?(left, right, precision: nil) = approx(left, precision) < approx(right, precision)

#nonzero?Boolean

Returns:

  • (Boolean)


26
# File 'lib/sevgi/geometry/internal/float.rb', line 26

def nonzero?(...)                    = !zero?(...)

#round(float, precision) ⇒ Object



28
# File 'lib/sevgi/geometry/internal/float.rb', line 28

def round(float, precision)          = precision ? float.round(precision) : float

#zero?(value, precision: nil) ⇒ Boolean

Returns:

  • (Boolean)


30
# File 'lib/sevgi/geometry/internal/float.rb', line 30

def zero?(value, precision: nil)     = eq?(value, 0.0, precision:)