# Hierarchy For Package org.apfloat.internal

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.apfloat.internal.AbstractConvolutionBuilder (implements org.apfloat.spi.ConvolutionBuilder)
    - org.apfloat.internal.DoubleConvolutionBuilder
    - org.apfloat.internal.FloatConvolutionBuilder
    - org.apfloat.internal.IntConvolutionBuilder
    - org.apfloat.internal.LongConvolutionBuilder
  - org.apfloat.internal.AbstractDataStorageBuilder (implements org.apfloat.spi.DataStorageBuilder)
    - org.apfloat.internal.DoubleDataStorageBuilder
    - org.apfloat.internal.FloatDataStorageBuilder
    - org.apfloat.internal.IntDataStorageBuilder
    - org.apfloat.internal.LongDataStorageBuilder
  - org.apfloat.internal.AbstractNTTBuilder (implements org.apfloat.spi.NTTBuilder)
    - org.apfloat.internal.DoubleNTTBuilder
    - org.apfloat.internal.FloatNTTBuilder
    - org.apfloat.internal.IntNTTBuilder
    - org.apfloat.internal.LongNTTBuilder
  - org.apfloat.internal.AbstractStepFNTStrategy (implements org.apfloat.spi.NTTStrategy, org.apfloat.internal.Parallelizable)
    - org.apfloat.internal.SixStepFNTStrategy (implements org.apfloat.internal.DecorableNTTStrategy)
    - org.apfloat.internal.TwoPassFNTStrategy (implements org.apfloat.internal.DecorableNTTStrategy)
  - org.apfloat.spi.ArrayAccess (implements java.lang.AutoCloseable, java.io.Serializable)
    - org.apfloat.internal.DoubleMemoryArrayAccess
    - org.apfloat.internal.FloatMemoryArrayAccess
    - org.apfloat.internal.IntMemoryArrayAccess
    - org.apfloat.internal.LongMemoryArrayAccess
  - org.apfloat.spi.DataStorage (implements java.io.Serializable)
    - org.apfloat.internal.DiskDataStorage
      - org.apfloat.internal.DoubleDiskDataStorage
      - org.apfloat.internal.FloatDiskDataStorage
      - org.apfloat.internal.IntDiskDataStorage
      - org.apfloat.internal.LongDiskDataStorage
    - org.apfloat.internal.DoubleMemoryDataStorage
    - org.apfloat.internal.FloatMemoryDataStorage
    - org.apfloat.internal.IntMemoryDataStorage
    - org.apfloat.internal.LongMemoryDataStorage
  - org.apfloat.internal.DoubleAdditionBuilder (implements org.apfloat.spi.AdditionBuilder<T>)
  - org.apfloat.internal.DoubleApfloatBuilder (implements org.apfloat.spi.ApfloatBuilder)
  - org.apfloat.internal.DoubleBaseMath (implements java.io.Serializable)
    - org.apfloat.internal.DoubleAdditionStrategy (implements org.apfloat.spi.AdditionStrategy<T>)
    - org.apfloat.internal.DoubleApfloatImpl (implements org.apfloat.spi.ApfloatImpl)
    - org.apfloat.internal.DoubleCRTMath
      - org.apfloat.internal.DoubleCarryCRTStepStrategy (implements org.apfloat.spi.CarryCRTStepStrategy<T>)
    - org.apfloat.internal.DoubleMediumConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
      - org.apfloat.internal.DoubleKaratsubaConvolutionStrategy
    - org.apfloat.internal.DoubleShortConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
  - org.apfloat.internal.DoubleBuilderFactory (implements org.apfloat.spi.BuilderFactory)
  - org.apfloat.internal.DoubleCarryCRTBuilder (implements org.apfloat.spi.CarryCRTBuilder<T>)
  - org.apfloat.internal.DoubleElementaryModMath
    - org.apfloat.internal.DoubleModMath
      - org.apfloat.internal.DoubleFactor3NTTStepStrategy (implements org.apfloat.spi.Factor3NTTStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.DoubleNTTConvolutionStepStrategy (implements org.apfloat.spi.NTTConvolutionStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.DoubleTableFNT
        - org.apfloat.internal.DoubleNTTStepStrategy (implements org.apfloat.spi.NTTStepStrategy, org.apfloat.internal.Parallelizable)
        - org.apfloat.internal.DoubleTableFNTStrategy (implements org.apfloat.spi.NTTStrategy)
      - org.apfloat.internal.DoubleWTables
  - org.apfloat.internal.DoubleMatrixBuilder (implements org.apfloat.spi.MatrixBuilder)
  - org.apfloat.internal.DoubleMatrixStrategy (implements org.apfloat.spi.MatrixStrategy)
  - org.apfloat.internal.DoubleScramble
  - org.apfloat.internal.Factor3NTTStrategy (implements org.apfloat.spi.NTTStrategy, org.apfloat.internal.Parallelizable)
  - org.apfloat.internal.FloatAdditionBuilder (implements org.apfloat.spi.AdditionBuilder<T>)
  - org.apfloat.internal.FloatApfloatBuilder (implements org.apfloat.spi.ApfloatBuilder)
  - org.apfloat.internal.FloatBaseMath (implements java.io.Serializable)
    - org.apfloat.internal.FloatAdditionStrategy (implements org.apfloat.spi.AdditionStrategy<T>)
    - org.apfloat.internal.FloatApfloatImpl (implements org.apfloat.spi.ApfloatImpl)
    - org.apfloat.internal.FloatCRTMath
      - org.apfloat.internal.FloatCarryCRTStepStrategy (implements org.apfloat.spi.CarryCRTStepStrategy<T>)
    - org.apfloat.internal.FloatMediumConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
      - org.apfloat.internal.FloatKaratsubaConvolutionStrategy
    - org.apfloat.internal.FloatShortConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
  - org.apfloat.internal.FloatBuilderFactory (implements org.apfloat.spi.BuilderFactory)
  - org.apfloat.internal.FloatCarryCRTBuilder (implements org.apfloat.spi.CarryCRTBuilder<T>)
  - org.apfloat.internal.FloatElementaryModMath
    - org.apfloat.internal.FloatModMath
      - org.apfloat.internal.FloatFactor3NTTStepStrategy (implements org.apfloat.spi.Factor3NTTStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.FloatNTTConvolutionStepStrategy (implements org.apfloat.spi.NTTConvolutionStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.FloatTableFNT
        - org.apfloat.internal.FloatNTTStepStrategy (implements org.apfloat.spi.NTTStepStrategy, org.apfloat.internal.Parallelizable)
        - org.apfloat.internal.FloatTableFNTStrategy (implements org.apfloat.spi.NTTStrategy)
      - org.apfloat.internal.FloatWTables
  - org.apfloat.internal.FloatMatrixBuilder (implements org.apfloat.spi.MatrixBuilder)
  - org.apfloat.internal.FloatMatrixStrategy (implements org.apfloat.spi.MatrixStrategy)
  - org.apfloat.internal.FloatScramble
  - org.apfloat.internal.IntAdditionBuilder (implements org.apfloat.spi.AdditionBuilder<T>)
  - org.apfloat.internal.IntApfloatBuilder (implements org.apfloat.spi.ApfloatBuilder)
  - org.apfloat.internal.IntBaseMath (implements java.io.Serializable)
    - org.apfloat.internal.IntAdditionStrategy (implements org.apfloat.spi.AdditionStrategy<T>)
    - org.apfloat.internal.IntApfloatImpl (implements org.apfloat.spi.ApfloatImpl)
    - org.apfloat.internal.IntCRTMath
      - org.apfloat.internal.IntCarryCRTStepStrategy (implements org.apfloat.spi.CarryCRTStepStrategy<T>)
    - org.apfloat.internal.IntMediumConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
      - org.apfloat.internal.IntKaratsubaConvolutionStrategy
    - org.apfloat.internal.IntShortConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
  - org.apfloat.internal.IntBuilderFactory (implements org.apfloat.spi.BuilderFactory)
  - org.apfloat.internal.IntCarryCRTBuilder (implements org.apfloat.spi.CarryCRTBuilder<T>)
  - org.apfloat.internal.IntElementaryModMath
    - org.apfloat.internal.IntModMath
      - org.apfloat.internal.IntFactor3NTTStepStrategy (implements org.apfloat.spi.Factor3NTTStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.IntNTTConvolutionStepStrategy (implements org.apfloat.spi.NTTConvolutionStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.IntTableFNT
        - org.apfloat.internal.IntNTTStepStrategy (implements org.apfloat.spi.NTTStepStrategy, org.apfloat.internal.Parallelizable)
        - org.apfloat.internal.IntTableFNTStrategy (implements org.apfloat.spi.NTTStrategy)
      - org.apfloat.internal.IntWTables
  - org.apfloat.internal.IntMatrixBuilder (implements org.apfloat.spi.MatrixBuilder)
  - org.apfloat.internal.IntMatrixStrategy (implements org.apfloat.spi.MatrixStrategy)
  - org.apfloat.internal.IntScramble
  - org.apfloat.internal.LongAdditionBuilder (implements org.apfloat.spi.AdditionBuilder<T>)
  - org.apfloat.internal.LongApfloatBuilder (implements org.apfloat.spi.ApfloatBuilder)
  - org.apfloat.internal.LongBaseMath (implements java.io.Serializable)
    - org.apfloat.internal.LongAdditionStrategy (implements org.apfloat.spi.AdditionStrategy<T>)
    - org.apfloat.internal.LongApfloatImpl (implements org.apfloat.spi.ApfloatImpl)
    - org.apfloat.internal.LongCRTMath
      - org.apfloat.internal.LongCarryCRTStepStrategy (implements org.apfloat.spi.CarryCRTStepStrategy<T>)
    - org.apfloat.internal.LongMediumConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
      - org.apfloat.internal.LongKaratsubaConvolutionStrategy
    - org.apfloat.internal.LongShortConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
  - org.apfloat.internal.LongBuilderFactory (implements org.apfloat.spi.BuilderFactory)
  - org.apfloat.internal.LongCarryCRTBuilder (implements org.apfloat.spi.CarryCRTBuilder<T>)
  - org.apfloat.internal.LongElementaryModMath
    - org.apfloat.internal.LongModMath
      - org.apfloat.internal.LongFactor3NTTStepStrategy (implements org.apfloat.spi.Factor3NTTStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.LongNTTConvolutionStepStrategy (implements org.apfloat.spi.NTTConvolutionStepStrategy, org.apfloat.internal.Parallelizable)
      - org.apfloat.internal.LongTableFNT
        - org.apfloat.internal.LongNTTStepStrategy (implements org.apfloat.spi.NTTStepStrategy, org.apfloat.internal.Parallelizable)
        - org.apfloat.internal.LongTableFNTStrategy (implements org.apfloat.spi.NTTStrategy)
      - org.apfloat.internal.LongWTables
  - org.apfloat.internal.LongMatrixBuilder (implements org.apfloat.spi.MatrixBuilder)
  - org.apfloat.internal.LongMatrixStrategy (implements org.apfloat.spi.MatrixStrategy)
  - org.apfloat.internal.LongScramble
  - org.apfloat.internal.MessagePasser<K,V>
  - org.apfloat.internal.ParallelExecutionBuilder (implements org.apfloat.spi.ExecutionBuilder)
  - org.apfloat.internal.ParallelExecutionStrategy (implements org.apfloat.spi.ExecutionStrategy)
  - org.apfloat.internal.ParallelRunnable (implements org.apfloat.internal.StartableRunnable)
  - org.apfloat.internal.ParallelRunner
  - org.apfloat.internal.Scramble
  - org.apfloat.internal.StepCarryCRTStrategy (implements org.apfloat.spi.CarryCRTStrategy, org.apfloat.internal.Parallelizable)
  - org.apfloat.internal.ThreeNTTConvolutionStrategy (implements org.apfloat.spi.ConvolutionStrategy)
    - org.apfloat.internal.ParallelThreeNTTConvolutionStrategy
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.apfloat.ApfloatRuntimeException (implements org.apfloat.ApfloatLocalizedException)
          - org.apfloat.internal.ApfloatInternalException
            - org.apfloat.internal.BackingStorageException
            - org.apfloat.internal.ImplementationMismatchException
            - org.apfloat.internal.RadixMismatchException
            - org.apfloat.internal.TransformLengthExceededException

## Interface Hierarchy

- org.apfloat.internal.DecorableNTTStrategy
- org.apfloat.internal.DoubleConstants
- org.apfloat.internal.DoubleModConstants
- org.apfloat.internal.DoubleRadixConstants
- org.apfloat.internal.FloatConstants
- org.apfloat.internal.FloatModConstants
- org.apfloat.internal.FloatRadixConstants
- org.apfloat.internal.IntConstants
- org.apfloat.internal.IntModConstants
- org.apfloat.internal.IntRadixConstants
- org.apfloat.internal.LongConstants
- org.apfloat.internal.LongModConstants
- org.apfloat.internal.LongRadixConstants
- org.apfloat.internal.NTTStrategyDecorator
- org.apfloat.internal.Parallelizable
- java.lang.Runnable
  - org.apfloat.internal.StartableRunnable