Module: Sevgi::Function::Float
- Included in:
- Sevgi::Function
- Defined in:
- lib/sevgi/geometry/internal/float.rb
Class Attribute Summary collapse
-
.precision ⇒ Object
Returns the value of attribute precision.
Instance Method Summary collapse
- #approx(float, precision = nil) ⇒ Object
- #count(length, division) ⇒ Object
- #eq?(left, right, precision: nil) ⇒ Boolean
- #ge?(left, right, precision: nil) ⇒ Boolean
- #gt?(left, right, precision: nil) ⇒ Boolean
- #le?(left, right, precision: nil) ⇒ Boolean
- #lt?(left, right, precision: nil) ⇒ Boolean
- #nonzero? ⇒ Boolean
- #round(float, precision) ⇒ Object
- #zero?(value, precision: nil) ⇒ Boolean
Class Attribute Details
.precision ⇒ Object
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
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
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
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
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
24 |
# File 'lib/sevgi/geometry/internal/float.rb', line 24 def lt?(left, right, precision: nil) = approx(left, precision) < approx(right, precision) |
#nonzero? ⇒ 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
30 |
# File 'lib/sevgi/geometry/internal/float.rb', line 30 def zero?(value, precision: nil) = eq?(value, 0.0, precision:) |