Package org.apfloat.samples
Class Pi
- java.lang.Object
-
- org.apfloat.samples.Pi
-
- Direct Known Subclasses:
PiParallel
public class Pi extends java.lang.Object
Calculates pi using four different algorithms.- Version:
- 1.14.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Pi.AbstractBinarySplittingSeries
Abstract base class for the binary splitting series.protected static class
Pi.BinarySplittingPiCalculator
Class for implementing the binary splitting algorithm.static class
Pi.BinarySplittingProgressIndicator
Indicates progress of the pi calculation using the binary splitting algorithm.protected static interface
Pi.BinarySplittingSeries
Terms for the binary splitting series.static class
Pi.BorweinPiCalculator
Calculates pi using the Borweins' quartic algorithm.protected static class
Pi.ChudnovskyBinarySplittingSeries
Chudnovskys' algorithm terms for the binary splitting series.static class
Pi.ChudnovskyPiCalculator
Basic class for calculating pi using the Chudnovskys' binary splitting algorithm.static class
Pi.GaussLegendrePiCalculator
Calculates pi using the Gauss-Legendre algorithm.protected static class
Pi.RamanujanBinarySplittingSeries
Ramanujan's algorithm terms for the binary splitting series.static class
Pi.RamanujanPiCalculator
Basic class for calculating pi using the Ramanujan binary splitting algorithm.
-
Constructor Summary
Constructors Constructor Description Pi()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
dump()
static java.io.PrintWriter
getErr()
Get the output stream for status messages printout.protected static int
getInt(java.lang.String arg, java.lang.String name, int minValue, int maxValue)
Parse an integer from an argument.protected static long
getLong(java.lang.String arg, java.lang.String name, long minValue, long maxValue)
Parse a long from an argument.static java.io.PrintWriter
getOut()
Get the output stream for the result printout.protected static long
getPrecision(java.lang.String arg)
Parse the precision from an argument.protected static int
getRadix(java.lang.String arg)
Parse the radix from an argument.static void
main(java.lang.String[] args)
Command-line entry point.static void
run(long precision, int radix, Operation<Apfloat> operation)
Execute an operation and display some additional information.static void
setErr(java.io.PrintWriter err)
Set the output stream for status messages printout.static void
setOut(java.io.PrintWriter out)
Set the output stream for the result printout.
-
-
-
Method Detail
-
getLong
protected static long getLong(java.lang.String arg, java.lang.String name, long minValue, long maxValue)
Parse a long from an argument.- Parameters:
arg
- The string to be parsed.name
- Description of the argument.minValue
- Minimum allowed value.maxValue
- Maximum allowed value.- Returns:
- Valid
long
.
-
getInt
protected static int getInt(java.lang.String arg, java.lang.String name, int minValue, int maxValue)
Parse an integer from an argument.- Parameters:
arg
- The string to be parsed.name
- Description of the argument.minValue
- Minimum allowed value.maxValue
- Maximum allowed value.- Returns:
- Valid integer.
-
getPrecision
protected static long getPrecision(java.lang.String arg)
Parse the precision from an argument.- Parameters:
arg
- The string to be parsed.- Returns:
- Valid precision.
-
getRadix
protected static int getRadix(java.lang.String arg)
Parse the radix from an argument.- Parameters:
arg
- The string to be parsed.- Returns:
- Valid radix.
-
dump
private static void dump()
-
run
public static void run(long precision, int radix, Operation<Apfloat> operation) throws java.io.IOException, ApfloatRuntimeException
Execute an operation and display some additional information. The return value of the operation is written toout
.- Parameters:
precision
- The precision to be used.radix
- The radix to be used.operation
- The operation to execute.- Throws:
java.io.IOException
- In case writing the output fails.ApfloatRuntimeException
-
setOut
public static void setOut(java.io.PrintWriter out)
Set the output stream for the result printout.- Parameters:
out
- The output stream.
-
getOut
public static java.io.PrintWriter getOut()
Get the output stream for the result printout.- Returns:
- The output stream.
-
setErr
public static void setErr(java.io.PrintWriter err)
Set the output stream for status messages printout.- Parameters:
err
- The output stream.
-
getErr
public static java.io.PrintWriter getErr()
Get the output stream for status messages printout.- Returns:
- The output stream.
-
main
public static void main(java.lang.String[] args) throws java.io.IOException, ApfloatRuntimeException
Command-line entry point.- Parameters:
args
- Command-line parameters.- Throws:
java.io.IOException
- In case writing the output fails.ApfloatRuntimeException
-
-