Class TMathContext

java.lang.Object
org.teavm.classlib.java.math.TMathContext
All Implemented Interfaces:
Serializable

public final class TMathContext extends Object implements Serializable
Immutable objects describing settings such as rounding mode and digit precision for the numerical operations provided by class TBigDecimal.
See Also:
Serialized Form
  • Field Details

    • DECIMAL128

      public static final TMathContext DECIMAL128
      A MathContext which corresponds to the IEEE 754r quadruple decimal precision format: 34 digit precision and TRoundingMode.HALF_EVEN rounding.
    • DECIMAL32

      public static final TMathContext DECIMAL32
      A MathContext which corresponds to the IEEE 754r single decimal precision format: 7 digit precision and TRoundingMode.HALF_EVEN rounding.
    • DECIMAL64

      public static final TMathContext DECIMAL64
      A MathContext which corresponds to the IEEE 754r double decimal precision format: 16 digit precision and TRoundingMode.HALF_EVEN rounding.
    • UNLIMITED

      public static final TMathContext UNLIMITED
      A MathContext for unlimited precision with TRoundingMode.HALF_UP rounding.
  • Constructor Details

    • TMathContext

      public TMathContext(int precision)
      Constructs a new MathContext with the specified precision and with the rounding mode HALF_UP. If the precision passed is zero, then this implies that the computations have to be performed exact, the rounding mode in this case is irrelevant.
      Parameters:
      precision - the precision for the new MathContext.
      Throws:
      IllegalArgumentException - if precision < 0.
    • TMathContext

      public TMathContext(int precision, TRoundingMode roundingMode)
      Constructs a new MathContext with the specified precision and with the specified rounding mode. If the precision passed is zero, then this implies that the computations have to be performed exact, the rounding mode in this case is irrelevant.
      Parameters:
      precision - the precision for the new MathContext.
      roundingMode - the rounding mode for the new MathContext.
      Throws:
      IllegalArgumentException - if precision < 0.
      NullPointerException - if roundingMode is null.
    • TMathContext

      public TMathContext(String val)
      Constructs a new MathContext from a string. The string has to specify the precision and the rounding mode to be used and has to follow the following syntax: "precision=<precision> roundingMode=<roundingMode>" This is the same form as the one returned by the toString() method.
      Parameters:
      val - a string describing the precision and rounding mode for the new MathContext.
      Throws:
      IllegalArgumentException - if the string is not in the correct format or if the precision specified is < 0.
  • Method Details

    • getPrecision

      public int getPrecision()
      Returns the precision. The precision is the number of digits used for an operation. Results are rounded to this precision. The precision is guaranteed to be non negative. If the precision is zero, then the computations have to be performed exact, results are not rounded in this case.
      Returns:
      the precision.
    • getRoundingMode

      public TRoundingMode getRoundingMode()
      Returns the rounding mode. The rounding mode is the strategy to be used to round results.

      The rounding mode is one of TRoundingMode.UP, TRoundingMode.DOWN, TRoundingMode.CEILING, TRoundingMode.FLOOR, TRoundingMode.HALF_UP, TRoundingMode.HALF_DOWN, TRoundingMode.HALF_EVEN, or TRoundingMode.UNNECESSARY.

      Returns:
      the rounding mode.
    • equals

      public boolean equals(Object x)
      Returns true if x is a MathContext with the same precision setting and the same rounding mode as this MathContext instance.
      Overrides:
      equals in class Object
      Parameters:
      x - object to be compared.
      Returns:
      true if this MathContext instance is equal to the x argument; false otherwise.
    • hashCode

      public int hashCode()
      Returns the hash code for this MathContext instance.
      Overrides:
      hashCode in class Object
      Returns:
      the hash code for this MathContext.
    • toString

      public String toString()
      Returns the string representation for this MathContext instance. The string has the form "precision=&lt;precision&gt; roundingMode=&lt;roundingMode&gt;" where &lt;precision&gt; is an integer describing the number of digits used for operations and &lt;roundingMode&gt; is the string representation of the rounding mode.
      Overrides:
      toString in class Object
      Returns:
      a string representation for this MathContext instance