Module: LongDecimalRoundingMode
- Included in:
- LongDecimalBase, LongMath
- Defined in:
- lib/long-decimal.rb
Overview
define rounding modes to be used for LongDecimal this serves the purpose of an “enum” in C/C++/Java
Defined Under Namespace
Classes: RoundingModeClass, ZeroRoundingModeClass
Constant Summary collapse
- ROUND_UP =
rounding modes as constants
RoundingModeClass.new(:ROUND_UP, 0)
- ROUND_DOWN =
RoundingModeClass.new(:ROUND_DOWN, 1)
- ROUND_CEILING =
RoundingModeClass.new(:ROUND_CEILING, 2)
- ROUND_FLOOR =
RoundingModeClass.new(:ROUND_FLOOR, 3)
- ROUND_HALF_UP =
RoundingModeClass.new(:ROUND_HALF_UP, 4)
- ROUND_HALF_DOWN =
RoundingModeClass.new(:ROUND_HALF_DOWN, 5)
- ROUND_HALF_CEILING =
RoundingModeClass.new(:ROUND_HALF_CEILING, 6)
- ROUND_HALF_FLOOR =
RoundingModeClass.new(:ROUND_HALF_FLOOR, 7)
- ROUND_HALF_EVEN =
RoundingModeClass.new(:ROUND_HALF_EVEN, 8)
- ROUND_UNNECESSARY =
RoundingModeClass.new(:ROUND_UNNECESSARY, 9)
- MUL_INVERSE_MODE =
which mode is to be used instead when we do an multiplicative inversion?
{ ROUND_UP => ROUND_DOWN, ROUND_DOWN => ROUND_UP, ROUND_CEILING => ROUND_FLOOR, ROUND_FLOOR => ROUND_CEILING, ROUND_HALF_UP => ROUND_HALF_DOWN, ROUND_HALF_DOWN => ROUND_HALF_UP, ROUND_HALF_CEILING => ROUND_HALF_FLOOR, ROUND_HALF_FLOOR => ROUND_HALF_CEILING, ROUND_HALF_EVEN => ROUND_HALF_EVEN, ROUND_UNNECESSARY => ROUND_UNNECESSARY }
- ADD_INVERSE_MODE =
which mode is to be used instead when we do an additive inversion?
{ ROUND_UP => ROUND_UP, ROUND_DOWN => ROUND_DOWN, ROUND_CEILING => ROUND_FLOOR, ROUND_FLOOR => ROUND_CEILING, ROUND_HALF_UP => ROUND_HALF_UP, ROUND_HALF_DOWN => ROUND_HALF_DOWN, ROUND_HALF_CEILING => ROUND_HALF_FLOOR, ROUND_HALF_FLOOR => ROUND_HALF_CEILING, ROUND_HALF_EVEN => ROUND_HALF_EVEN, ROUND_UNNECESSARY => ROUND_UNNECESSARY }
- ZERO_ROUND_TO_PLUS =
rounding modes as constants
ZeroRoundingModeClass.new(:ZERO_ROUND_TO_PLUS, 0)
- ZERO_ROUND_TO_MINUS =
ZeroRoundingModeClass.new(:ZERO_ROUND_TO_MINUS, 1)
- ZERO_ROUND_TO_CLOSEST_PREFER_PLUS =
ZeroRoundingModeClass.new(:ZERO_ROUND_TO_CLOSEST_PREFER_PLUS, 2)
- ZERO_ROUND_TO_CLOSEST_PREFER_MINUS =
ZeroRoundingModeClass.new(:ZERO_ROUND_TO_CLOSEST_PREFER_MINUS, 3)
- ZERO_ROUND_UNNECESSARY =
ZeroRoundingModeClass.new(:ZERO_ROUND_UNNECESSARY, 4)