org.apfloat.samples
Class PiParallel

java.lang.Object
  extended by org.apfloat.samples.Pi
      extended by org.apfloat.samples.PiParallel
Direct Known Subclasses:
PiDistributed

public class PiParallel
extends Pi

Calculates pi using multiple threads in parallel.

Note that to get any performance gain from running many threads in parallel, the JVM must be executing native threads. If the JVM is running in green threads mode, there is no advantage of having multiple threads, as the JVM will in fact execute just one thread and divide its time to multiple simulated threads.

Version:
1.5.1
Author:
Mikko Tommila

Nested Class Summary
protected static class PiParallel.ParallelBinarySplittingPiCalculator
          Parallel version of the binary splitting algorithm.
static class PiParallel.ParallelChudnovskyPiCalculator
          Class for calculating pi using the parallel Chudnovskys' binary splitting algorithm.
static class PiParallel.ParallelRamanujanPiCalculator
          Class for calculating pi using the parallel Ramanujan's binary splitting algorithm.
protected static class PiParallel.ThreadLimitedOperation<T>
          Class to execute operations while setting ApfloatContext.setNumberOfProcessors(int) to some value.
 
Nested classes/interfaces inherited from class org.apfloat.samples.Pi
Pi.AbstractBinarySplittingSeries, Pi.BinarySplittingPiCalculator, Pi.BinarySplittingProgressIndicator, Pi.BinarySplittingSeries, Pi.BorweinPiCalculator, Pi.ChudnovskyBinarySplittingSeries, Pi.ChudnovskyPiCalculator, Pi.GaussLegendrePiCalculator, Pi.RamanujanBinarySplittingSeries, Pi.RamanujanPiCalculator
 
Field Summary
 
Fields inherited from class org.apfloat.samples.Pi
err, out
 
Method Summary
static void main(String[] args)
          Command-line entry point.
 
Methods inherited from class org.apfloat.samples.Pi
checkAlive, getErr, getInt, getLong, getOut, getPrecision, getRadix, run, setAlive, setErr, setOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

main

public static void main(String[] args)
                 throws IOException,
                        ApfloatRuntimeException
Command-line entry point.

Parameters:
args - Command-line parameters.
Throws:
IOException - In case writing the output fails.
ApfloatRuntimeException