Package org.apfloat.internal
Class AbstractNTTBuilder
java.lang.Object
org.apfloat.internal.AbstractNTTBuilder
- All Implemented Interfaces:
NTTBuilder
- Direct Known Subclasses:
DoubleNTTBuilder,FloatNTTBuilder,IntNTTBuilder,LongNTTBuilder
Abstract base class for creating Number Theoretic Transforms suitable for the
specified length, based on available memory configured in the
ApfloatContext.- Since:
- 1.7.0
- Version:
- 1.8.3
- Author:
- Mikko Tommila
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected NTTStrategycreateFactor3NTTStrategy(long size, NTTStrategy nttStrategy) Create a factor-3 NTT strategy on top of another NTT strategy.createNTT(long size) Creates a Number Theoretic Transform of suitable type for the specified length.protected abstract NTTStrategycreateSimpleFNTStrategy(long size) Create a simple NTT strategy.protected NTTStrategycreateSixStepFNTStrategy(long size) Create a six-step NTT strategy.protected NTTStrategycreateTwoPassFNTStrategy(long size) Create a two-pass NTT strategy.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apfloat.spi.NTTBuilder
createFactor3NTTSteps, createNTTConvolutionSteps, createNTTSteps
-
Constructor Details
-
AbstractNTTBuilder
protected AbstractNTTBuilder()Subclass constructor.
-
-
Method Details
-
createNTT
Description copied from interface:NTTBuilderCreates a Number Theoretic Transform of suitable type for the specified length.- Specified by:
createNTTin interfaceNTTBuilder- Parameters:
size- The transform length that will be used.- Returns:
- A suitable NTT object for performing the transform.
-
createSimpleFNTStrategy
Create a simple NTT strategy.- Parameters:
size- The transform length that will be used.- Returns:
- A new simple NTT strategy.
-
createSixStepFNTStrategy
Create a six-step NTT strategy.- Parameters:
size- The transform length that will be used.- Returns:
- A new six-step NTT strategy.
-
createTwoPassFNTStrategy
Create a two-pass NTT strategy.- Parameters:
size- The transform length that will be used.- Returns:
- A new two-pass NTT strategy.
-
createFactor3NTTStrategy
Create a factor-3 NTT strategy on top of another NTT strategy.- Parameters:
size- The transform length that will be used.nttStrategy- The underlying factor-2 NTT strategy.- Returns:
- A new factor-3 NTT strategy.
-