Package org.apache.commons.math3.util

# Class BigReal

java.lang.Object
org.apache.commons.math3.util.BigReal

All Implemented Interfaces:
  `Serializable`, `Comparable<BigReal>`, `FieldElement<BigReal>`

public class BigReal extends Object implements FieldElement<BigReal>, Comparable<BigReal>, Serializable
Arbitrary precision decimal number.

This class is a simple wrapper around the standard `BigDecimal` in order to implement the `FieldElement` interface.

Since:
  2.0
See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final BigReal`
`ONE`
A big real representing 1.
`static final BigReal`
`ZERO`
A big real representing 0.

## Constructor Summary

Constructors
Constructor
Description
`BigReal(char[] in)`
Build an instance from a characters representation.
`BigReal(char[] in, int offset, int len)`
Build an instance from a characters representation.
`BigReal(char[] in, int offset, int len, MathContext mc)`
Build an instance from a characters representation.
`BigReal(char[] in, MathContext mc)`
Build an instance from a characters representation.
`BigReal(double val)`
Build an instance from a double.
`BigReal(double val, MathContext mc)`
Build an instance from a double.
`BigReal(int val)`
Build an instance from an int.
`BigReal(int val, MathContext mc)`
Build an instance from an int.
`BigReal(long val)`
Build an instance from a long.
`BigReal(long val, MathContext mc)`
Build an instance from a long.
`BigReal(String val)`
Build an instance from a String representation.
`BigReal(String val, MathContext mc)`
Build an instance from a String representation.
`BigReal(BigDecimal val)`
Build an instance from a BigDecimal.
`BigReal(BigInteger val)`
Build an instance from a BigInteger.
`BigReal(BigInteger unscaledVal, int scale)`
Build an instance from an unscaled BigInteger.
`BigReal(BigInteger unscaledVal, int scale, MathContext mc)`
Build an instance from an unscaled BigInteger.
`BigReal(BigInteger val, MathContext mc)`
Build an instance from a BigInteger.

## Method Summary

Modifier and Type
Method
Description
`BigReal`
`add(BigReal a)`
Compute this + a.
`BigDecimal`
`bigDecimalValue()`
Get the BigDecimal value corresponding to the instance.
`int`
`compareTo(BigReal a)`
`BigReal`
`divide(BigReal a)`
Compute this ÷ a.
`double`
`doubleValue()`
Get the double value corresponding to the instance.
`boolean`
`equals(Object other)`
`Field<BigReal>`
`getField()`
Get the `Field` to which the instance belongs.
`RoundingMode`
`getRoundingMode()`
Gets the rounding mode for division operations The default is `RoundingMode.HALF_UP`
`int`
`getScale()`
Sets the scale for division operations.
`int`
`hashCode()`
`BigReal`
`multiply(int n)`
Compute n × this.
`BigReal`
`multiply(BigReal a)`
Compute this × a.
`BigReal`
`negate()`
Returns the additive inverse of `this` element.
`BigReal`
`reciprocal()`
Returns the multiplicative inverse of `this` element.
`void`
`setRoundingMode(RoundingMode roundingMode)`
Sets the rounding mode for decimal divisions.
`void`
`setScale(int scale)`
Sets the scale for division operations.
`BigReal`
`subtract(BigReal a)`
Compute this - a.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### ZERO

public static final BigReal ZERO
A big real representing 0.

### ONE

public static final BigReal ONE
A big real representing 1.

## Constructor Details

### BigReal

public BigReal(BigDecimal val)
Build an instance from a BigDecimal.

Parameters:
  `val` - value of the instance

### BigReal

public BigReal(BigInteger val)
Build an instance from a BigInteger.

Parameters:
  `val` - value of the instance

### BigReal

public BigReal(BigInteger unscaledVal, int scale)
Build an instance from an unscaled BigInteger.

Parameters:
  `unscaledVal` - unscaled value
  `scale` - scale to use

### BigReal

public BigReal(BigInteger unscaledVal, int scale, MathContext mc)
Build an instance from an unscaled BigInteger.

Parameters:
  `unscaledVal` - unscaled value
  `scale` - scale to use
  `mc` - to used

### BigReal

public BigReal(BigInteger val, MathContext mc)
Build an instance from a BigInteger.

Parameters:
  `val` - value of the instance
  `mc` - context to use

### BigReal

public BigReal(char[] in)
Build an instance from a characters representation.

Parameters:
  `in` - character representation of the value

### BigReal

public BigReal(char[] in, int offset, int len)
Build an instance from a characters representation.

Parameters:
  `in` - character representation of the value
  `offset` - offset of the first character to analyze
  `len` - length of the array slice to analyze

### BigReal

public BigReal(char[] in, int offset, int len, MathContext mc)
Build an instance from a characters representation.

Parameters:
  `in` - character representation of the value
  `offset` - offset of the first character to analyze
  `len` - length of the array slice to analyze
  `mc` - context to use

### BigReal

public BigReal(char[] in, MathContext mc)
Build an instance from a characters representation.

Parameters:
  `in` - character representation of the value
  `mc` - context to use

### BigReal

public BigReal(double val)
Build an instance from a double.

Parameters:
  `val` - value of the instance

### BigReal

public BigReal(double val, MathContext mc)
Build an instance from a double.

Parameters:
  `val` - value of the instance
  `mc` - context to use

### BigReal

public BigReal(int val)
Build an instance from an int.

Parameters:
  `val` - value of the instance

### BigReal

public BigReal(int val, MathContext mc)
Build an instance from an int.

Parameters:
  `val` - value of the instance
  `mc` - context to use

### BigReal

public BigReal(long val)
Build an instance from a long.

Parameters:
  `val` - value of the instance

### BigReal

public BigReal(long val, MathContext mc)
Build an instance from a long.

Parameters:
  `val` - value of the instance
  `mc` - context to use

### BigReal

public BigReal(String val)
Build an instance from a String representation.

Parameters:
  `val` - character representation of the value

### BigReal

public BigReal(String val, MathContext mc)
Build an instance from a String representation.

Parameters:
  `val` - character representation of the value
  `mc` - context to use

## Method Details

### getRoundingMode

public RoundingMode getRoundingMode()
Gets the rounding mode for division operations The default is `RoundingMode.HALF_UP`

Returns:
  the rounding mode.
Since:
  2.1

### setRoundingMode

public void setRoundingMode(RoundingMode roundingMode)
Sets the rounding mode for decimal divisions.

Parameters:
  `roundingMode` - rounding mode for decimal divisions
Since:
  2.1

### getScale

public int getScale()
Sets the scale for division operations. The default is 64

Returns:
  the scale
Since:
  2.1

### setScale

public void setScale(int scale)
Sets the scale for division operations.

Parameters:
  `scale` - scale for division operations
Since:
  2.1

### add

public BigReal add(BigReal a)
Compute this + a.

Specified by:
  `add` in interface `FieldElement<BigReal>`
Parameters:
  `a` - element to add
Returns:
  a new element representing this + a

### subtract

public BigReal subtract(BigReal a)
Compute this - a.

Specified by:
  `subtract` in interface `FieldElement<BigReal>`
Parameters:
  `a` - element to subtract
Returns:
  a new element representing this - a

### negate

public BigReal negate()
Returns the additive inverse of `this` element.

Specified by:
  `negate` in interface `FieldElement<BigReal>`
Returns:
  the opposite of `this`.

### divide

public BigReal divide(BigReal a) throws MathArithmeticException
Compute this ÷ a.

Specified by:
  `divide` in interface `FieldElement<BigReal>`
Parameters:
  `a` - element to divide by
Returns:
  a new element representing this ÷ a
Throws:
  `MathArithmeticException` - if `a` is zero

### reciprocal

public BigReal reciprocal() throws MathArithmeticException
Returns the multiplicative inverse of `this` element.

Specified by:
  `reciprocal` in interface `FieldElement<BigReal>`
Returns:
  the inverse of `this`.
Throws:
  `MathArithmeticException` - if `this` is zero

### multiply

public BigReal multiply(BigReal a)
Compute this × a.

Specified by:
  `multiply` in interface `FieldElement<BigReal>`
Parameters:
  `a` - element to multiply
Returns:
  a new element representing this × a

### multiply

public BigReal multiply(int n)
Compute n × this. Multiplication by an integer number is defined as the following sum
n × this = ∑i=1n this.

Specified by:
  `multiply` in interface `FieldElement<BigReal>`
Parameters:
  `n` - Number of times `this` must be added to itself.
Returns:
  A new element representing n × this.

### compareTo

public int compareTo(BigReal a)

Specified by:
  `compareTo` in interface `Comparable<BigReal>`

### doubleValue

public double doubleValue()
Get the double value corresponding to the instance.

Returns:
  double value corresponding to the instance

### bigDecimalValue

public BigDecimal bigDecimalValue()
Get the BigDecimal value corresponding to the instance.

Returns:
  BigDecimal value corresponding to the instance

### equals

public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### getField

public Field<BigReal> getField()
Get the `Field` to which the instance belongs.

Specified by:
  `getField` in interface `FieldElement<BigReal>`
Returns:
  `Field` to which the instance belongs