# Uses of Package
org.apfloat.internal

Packages that use org.apfloat.internal
Package
Description
org.apfloat.aparapi
Transforms for using a GPU via the aparapi library.
org.apfloat.internal
Default implementations of the apfloat Service Provider Interface (SPI).

- Classes in org.apfloat.internal used by org.apfloat.aparapi
  Class
  Description
  AbstractNTTBuilder
  Abstract base class for creating Number Theoretic Transforms suitable for the specified length, based on available memory configured in the `ApfloatContext`.
  AbstractStepFNTStrategy
  Abstract superclass for step-based FNT strategies.
  DecorableNTTStrategy
  NTT strategy that can be decorated with a decorator.
  Factor3NTTStrategy
  A transform that implements a 3-point transform on top of another Number Theoretic Transform that does transforms of length 2n.
  IntBuilderFactory
  Factory class for getting instances of the various builder classes needed to build an `ApfloatImpl` with the `int` data element type.
  IntElementaryModMath
  Elementary modulo arithmetic functions for `int` data.
  IntFactor3NTTStepStrategy
  Steps for the factor-3 NTT.
  IntModMath
  Modulo arithmetic functions for `int` data.
  IntNTTBuilder
  Creates Number Theoretic Transforms for the `int` type.
  IntNTTStepStrategy
  Common methods to calculate Fast Number Theoretic Transforms in parallel using multiple threads.
  IntTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  LongBuilderFactory
  Factory class for getting instances of the various builder classes needed to build an `ApfloatImpl` with the `long` data element type.
  LongElementaryModMath
  Elementary modulo arithmetic functions for `long` data.
  LongFactor3NTTStepStrategy
  Steps for the factor-3 NTT.
  LongModMath
  Modulo arithmetic functions for `long` data.
  LongNTTBuilder
  Creates Number Theoretic Transforms for the `long` type.
  LongNTTStepStrategy
  Common methods to calculate Fast Number Theoretic Transforms in parallel using multiple threads.
  LongTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  NTTStrategyDecorator
  Decorator to perform pre- and post-processing on an NTTStrategy.
  Parallelizable
  Any task that can use a `ParallelRunner` to execute operations in parallel.
  SixStepFNTStrategy
  Fast Number Theoretic Transform that uses a "six-step" algorithm to calculate a long transform more efficiently on cache-based memory architectures.
  TwoPassFNTStrategy
  Fast Number Theoretic Transform that uses a "two-pass" algorithm to calculate a very long transform on data that resides on a mass storage device.
- Classes in org.apfloat.internal used by org.apfloat.internal
  Class
  Description
  AbstractConvolutionBuilder
  Abstract base class for creating convolutions of suitable type for the specified length.
  AbstractDataStorageBuilder
  Abstract base class for a data storage creation strategy.
  AbstractNTTBuilder
  Abstract base class for creating Number Theoretic Transforms suitable for the specified length, based on available memory configured in the `ApfloatContext`.
  AbstractStepFNTStrategy
  Abstract superclass for step-based FNT strategies.
  ApfloatInternalException
  Exception indicating some unexpected apfloat implementation specific error situation.
  DecorableNTTStrategy
  NTT strategy that can be decorated with a decorator.
  DiskDataStorage
  Abstract base class for disk-based data storage, containing the common functionality independent of the element type.
  DoubleBaseMath
  Mathematical operations on numbers in a base.
  DoubleCRTMath
  Basic arithmetic for calculating the Chinese Remainder Theorem.
  DoubleDiskDataStorage
  Disk-based data storage for the `double` element type.
  DoubleElementaryModMath
  Elementary modulo arithmetic functions for `double` data.
  DoubleMediumConvolutionStrategy
  Medium-length convolution strategy.
  DoubleMemoryDataStorage
  Memory based data storage implementation for the `double` element type.
  DoubleModMath
  Modulo arithmetic functions for `double` data.
  DoubleTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  FloatBaseMath
  Mathematical operations on numbers in a base.
  FloatCRTMath
  Basic arithmetic for calculating the Chinese Remainder Theorem.
  FloatDiskDataStorage
  Disk-based data storage for the `float` element type.
  FloatElementaryModMath
  Elementary modulo arithmetic functions for `float` data.
  FloatMediumConvolutionStrategy
  Medium-length convolution strategy.
  FloatMemoryDataStorage
  Memory based data storage implementation for the `float` element type.
  FloatModMath
  Modulo arithmetic functions for `float` data.
  FloatTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  IntBaseMath
  Mathematical operations on numbers in a base.
  IntCRTMath
  Basic arithmetic for calculating the Chinese Remainder Theorem.
  IntDiskDataStorage
  Disk-based data storage for the `int` element type.
  IntElementaryModMath
  Elementary modulo arithmetic functions for `int` data.
  IntMediumConvolutionStrategy
  Medium-length convolution strategy.
  IntMemoryDataStorage
  Memory based data storage implementation for the `int` element type.
  IntModMath
  Modulo arithmetic functions for `int` data.
  IntTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  LongBaseMath
  Mathematical operations on numbers in a base.
  LongCRTMath
  Basic arithmetic for calculating the Chinese Remainder Theorem.
  LongDiskDataStorage
  Disk-based data storage for the `long` element type.
  LongElementaryModMath
  Elementary modulo arithmetic functions for `long` data.
  LongMediumConvolutionStrategy
  Medium-length convolution strategy.
  LongMemoryDataStorage
  Memory based data storage implementation for the `long` element type.
  LongModMath
  Modulo arithmetic functions for `long` data.
  LongTableFNT
  Fast Number Theoretic Transform that uses lookup tables for powers of n:th root of unity and permutation indexes.
  Parallelizable
  Any task that can use a `ParallelRunner` to execute operations in parallel.
  ParallelRunnable
  Abstract class for a `Runnable` that can be run in parallel by multiple threads.
  StartableRunnable
  Interface for a `Runnable` that has a method that tells if the runnable should still be started.
  ThreeNTTConvolutionStrategy
  Convolution using three Number Theoretic Transforms and the Chinese Remainder Theorem to get the final result.