Top Description Inners Fields Constructors Methods
tech.units.indriya.function

public final Class Calculus

extends Object
Class Inheritance
Imports
java.math.BigDecimal, .MathContext, .RoundingMode, java.util.ArrayList, .Collections, .HashMap, .Iterator, .List, .Map, .ServiceLoader, java.util.concurrent.ConcurrentHashMap, java.util.logging.Level, java.util.logging.Logger, tech.units.indriya.spi.NumberSystem

Facade for internal number arithmetic.
Authors
Andi Huber, Werner Keil
Since
2.0
Version
1.6, June 7, 2023

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
Calculus.Pi

Pi calculation with Machin's formula.

Field Summary

Modifier and TypeField and Description
private static NumberSystem
public static final MathContext
DEFAULT_MATH_CONTEXT

The default MathContext used for BigDecimal calculus.

private static final String
private static final java.util.logging.Logger
public static MathContext
MATH_CONTEXT

Exposes (non-final) the MathContext used for BigDecimal calculus.

private static final Map<Class<? extends AbstractConverter>, Integer>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static NumberSystem
currentNumberSystem()

Returns the current NumberSystem used for Number arithmetic.

public static List<NumberSystem>
getAvailableNumberSystems()

All available NumberSystems used for Number arithmetic.

public static Map<Class<? extends AbstractConverter>, Integer>
public static NumberSystem
getNumberSystem(String name)

Returns the given NumberSystem used for Number arithmetic by (class) name.

public static void
setCurrentNumberSystem(NumberSystem
the new current number system.
system
)

Sets the current number system

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

currentSystemback to summary
private static NumberSystem currentSystem
DEFAULT_MATH_CONTEXTback to summary
public static final MathContext DEFAULT_MATH_CONTEXT

The default MathContext used for BigDecimal calculus.

DEFAULT_NUMBER_SYSTEMback to summary
private static final String DEFAULT_NUMBER_SYSTEM
logback to summary
private static final java.util.logging.Logger log
MATH_CONTEXTback to summary
public static MathContext MATH_CONTEXT

Exposes (non-final) the MathContext used for BigDecimal calculus.

normalFormOrderback to summary
private static final Map<Class<? extends AbstractConverter>, Integer> normalFormOrder

Constructor Detail

Calculusback to summary
public Calculus()

Method Detail

currentNumberSystemback to summary
public static NumberSystem currentNumberSystem()

Returns the current NumberSystem used for Number arithmetic.

getAvailableNumberSystemsback to summary
public static List<NumberSystem> getAvailableNumberSystems()

All available NumberSystems used for Number arithmetic.

getNormalFormOrderback to summary
public static Map<Class<? extends AbstractConverter>, Integer> getNormalFormOrder()
getNumberSystemback to summary
public static NumberSystem getNumberSystem(String name)

Returns the given NumberSystem used for Number arithmetic by (class) name.

setCurrentNumberSystemback to summary
public static void setCurrentNumberSystem(NumberSystem system)

Sets the current number system

Parameters
system:NumberSystem

the new current number system.

See Also
currentNumberSystem
tech.units.indriya.function back to summary

pack-priv final Class Calculus.Pi

extends Object
Class Inheritance

Pi calculation with Machin's formula.
See Also
Pi Formulas

Field Summary

Modifier and TypeField and Description
private static final BigDecimal
private static final BigDecimal
private static final Map<Integer, BigDecimal>
piCache

Memoization of Pi by number-of-digits, as used by PowerOfPiConverter to match Pi's precision with that of the current MathContext.

private static final BigDecimal
private static final BigDecimal
private static final BigDecimal

Constructor Summary

AccessConstructor and Description
private
Pi()

Method Summary

Modifier and TypeMethod and Description
private static BigDecimal
arccot(BigDecimal x, int numDigits)

Compute arccot via the Taylor series expansion.

private static BigDecimal
calculatePi(int numDigits)

Calculates Pi up to numDigits.

public static BigDecimal
ofNumDigits(int numDigits)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

FIVEback to summary
private static final BigDecimal FIVE
FOURback to summary
private static final BigDecimal FOUR
piCacheback to summary
private static final Map<Integer, BigDecimal> piCache

Memoization of Pi by number-of-digits, as used by PowerOfPiConverter to match Pi's precision with that of the current MathContext.

THREEback to summary
private static final BigDecimal THREE
TWOback to summary
private static final BigDecimal TWO
TWO_HUNDRED_THIRTY_NINEback to summary
private static final BigDecimal TWO_HUNDRED_THIRTY_NINE

Constructor Detail

Piback to summary
private Pi()

Method Detail

arccotback to summary
private static BigDecimal arccot(BigDecimal x, int numDigits)

Compute arccot via the Taylor series expansion.

calculatePiback to summary
private static BigDecimal calculatePi(int numDigits)

Calculates Pi up to numDigits.

ofNumDigitsback to summary
public static BigDecimal ofNumDigits(int numDigits)