Type:
Class
mathn
mathn is a library for changing the way Ruby does math. If you need more precise rounding with multiple division or exponentiation operations, then mathn is the right tool.
Without mathn:
1 | 3 / 2 => 1 # Integer |
With mathn:
1 | 3 / 2 => 3 / 2 # Rational |
mathn features late rounding and lacks truncation of intermediate results:
Without mathn:
1 | 20 / 9 * 3 * 14 / 7 * 3 / 2 # => 18 |
With mathn:
1 | 20 / 9 * 3 * 14 / 7 * 3 / 2 # => 20 |
When you require 'mathn', the libraries for Prime, CMath, Matrix and Vector are also loaded.
Copyright
Author: Keiju ISHITSUKA (SHL Japan Inc.)
Document-class: FloatDomainError
Raised when attempting to convert special float values (in particular infinite or NaN) to numerical classes which don't support them.
1 | Float:: INFINITY .to_r |
raises the exception:
1 | FloatDomainError: Infinity |