# Class Pi.BinarySplittingPiCalculator

java.lang.Object
org.apfloat.samples.Pi.BinarySplittingPiCalculator

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `PiParallel.ParallelBinarySplittingPiCalculator`

Enclosing class:
  `Pi`

protected static class Pi.BinarySplittingPiCalculator extends Object implements Serializable
Class for implementing the binary splitting algorithm.

Version:
  1.14.0
Author:
  Mikko Tommila
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BinarySplittingPiCalculator(Pi.BinarySplittingSeries series)`
  Construct a pi calculator with the specified precision and radix.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `r(long n1, long n2, ApfloatHolder T, ApfloatHolder Q, ApfloatHolder P, Pi.BinarySplittingProgressIndicator progressIndicator)`
  Entry point for the binary splitting algorithm.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### BinarySplittingPiCalculator

    public BinarySplittingPiCalculator(Pi.BinarySplittingSeries series)
    Construct a pi calculator with the specified precision and radix.
    Parameters:
      `series` - The binary splitting series to be used.

- ## Method Details

  - ### r

    public void r(long n1, long n2, ApfloatHolder T, ApfloatHolder Q, ApfloatHolder P, Pi.BinarySplittingProgressIndicator progressIndicator) throws ApfloatRuntimeException
    Entry point for the binary splitting algorithm.
    Parameters:
      `n1` - Start term.
      `n2` - End term.
      `T` - Algorithm parameter.
      `Q` - Algorithm parameter.
      `P` - Algorithm parameter.
      `progressIndicator` - Class to print out the progress of the calculation.
    Throws:
      `ApfloatRuntimeException`