Package | Description |
---|---|
org.apfloat.internal |
Default implementations of the apfloat Service Provider Interface (SPI).
|
org.apfloat.spi |
The apfloat Service Provider Interface (SPI).
|
Modifier and Type | Class and Description |
---|---|
class |
DiskDataStorage
Abstract base class for disk-based data storage, containing the common
functionality independent of the element type.
|
class |
DoubleDiskDataStorage
Disk-based data storage for the
double element type. |
class |
DoubleMemoryDataStorage
Memory based data storage implementation for the
double
element type. |
class |
FloatDiskDataStorage
Disk-based data storage for the
float element type. |
class |
FloatMemoryDataStorage
Memory based data storage implementation for the
float
element type. |
class |
IntDiskDataStorage
Disk-based data storage for the
int element type. |
class |
IntMemoryDataStorage
Memory based data storage implementation for the
int
element type. |
class |
LongDiskDataStorage
Disk-based data storage for the
long element type. |
class |
LongMemoryDataStorage
Memory based data storage implementation for the
long
element type. |
Modifier and Type | Method and Description |
---|---|
protected DataStorage |
ThreeNTTConvolutionStrategy.autoConvolute(DataStorage x,
long resultSize)
Convolutes a data set with itself.
|
protected DataStorage |
ThreeNTTConvolutionStrategy.autoConvoluteOne(DataStorage x,
long length,
int modulus,
boolean cached)
Performs an autoconvolution modulo one modulus, of the specified transform length.
|
DataStorage |
StepCarryCRTStrategy.carryCRT(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
long resultSize)
Calculate the final result of a three-NTT convolution.
|
DataStorage |
IntMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
IntShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
ThreeNTTConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
IntKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
protected DataStorage |
ThreeNTTConvolutionStrategy.convoluteOne(DataStorage x,
DataStorage y,
long length,
int modulus,
boolean cached)
Performs a convolution modulo one modulus, of the specified transform length.
|
protected abstract DataStorage |
AbstractDataStorageBuilder.createCachedDataStorage()
Create a cached data storage.
|
protected DataStorage |
FloatDataStorageBuilder.createCachedDataStorage() |
protected DataStorage |
LongDataStorageBuilder.createCachedDataStorage() |
protected DataStorage |
IntDataStorageBuilder.createCachedDataStorage() |
protected DataStorage |
DoubleDataStorageBuilder.createCachedDataStorage() |
DataStorage |
AbstractDataStorageBuilder.createCachedDataStorage(long size) |
protected DataStorage |
ThreeNTTConvolutionStrategy.createCachedDataStorage(long size)
Create a cached (if possible) data storage for the specified number of elements.
|
DataStorage |
AbstractDataStorageBuilder.createDataStorage(DataStorage dataStorage) |
protected DataStorage |
ThreeNTTConvolutionStrategy.createDataStorage(DataStorage dataStorage)
Create a cached data storage from the (possibly) cached data storage.
|
DataStorage |
AbstractDataStorageBuilder.createDataStorage(long size) |
protected abstract DataStorage |
AbstractDataStorageBuilder.createNonCachedDataStorage()
Create a non-cached data storage.
|
protected DataStorage |
FloatDataStorageBuilder.createNonCachedDataStorage() |
protected DataStorage |
LongDataStorageBuilder.createNonCachedDataStorage() |
protected DataStorage |
IntDataStorageBuilder.createNonCachedDataStorage() |
protected DataStorage |
DoubleDataStorageBuilder.createNonCachedDataStorage() |
protected DataStorage |
IntDiskDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
LongDiskDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
IntMemoryDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
FloatMemoryDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
FloatDiskDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
DoubleMemoryDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
DoubleDiskDataStorage.implSubsequence(long offset,
long length) |
protected DataStorage |
LongMemoryDataStorage.implSubsequence(long offset,
long length) |
Modifier and Type | Method and Description |
---|---|
protected DataStorage |
ThreeNTTConvolutionStrategy.autoConvolute(DataStorage x,
long resultSize)
Convolutes a data set with itself.
|
protected DataStorage |
ThreeNTTConvolutionStrategy.autoConvoluteOne(DataStorage x,
long length,
int modulus,
boolean cached)
Performs an autoconvolution modulo one modulus, of the specified transform length.
|
double[] |
DoubleCarryCRTStepStrategy.carry(DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length,
double[] results,
double[] previousResults) |
float[] |
FloatCarryCRTStepStrategy.carry(DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length,
float[] results,
float[] previousResults) |
int[] |
IntCarryCRTStepStrategy.carry(DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length,
int[] results,
int[] previousResults) |
long[] |
LongCarryCRTStepStrategy.carry(DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length,
long[] results,
long[] previousResults) |
DataStorage |
StepCarryCRTStrategy.carryCRT(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
long resultSize)
Calculate the final result of a three-NTT convolution.
|
DataStorage |
IntMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
IntShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
LongShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
ThreeNTTConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatShortConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
FloatMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
IntKaratsubaConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
DataStorage |
DoubleMediumConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize) |
protected DataStorage |
ThreeNTTConvolutionStrategy.convoluteOne(DataStorage x,
DataStorage y,
long length,
int modulus,
boolean cached)
Performs a convolution modulo one modulus, of the specified transform length.
|
protected <T> ParallelRunnable |
StepCarryCRTStrategy.createCarryCRTParallelRunnable(Class<T> elementArrayType,
DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize)
Create a ParallelRunnable object for doing the carry-CRT in parallel.
|
protected ParallelRunnable |
DoubleFactor3NTTStepStrategy.createColumnTransformParallelRunnable(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for transforming the columns of the matrix
using a 3-point NTT transform.
|
protected ParallelRunnable |
LongFactor3NTTStepStrategy.createColumnTransformParallelRunnable(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for transforming the columns of the matrix
using a 3-point NTT transform.
|
protected ParallelRunnable |
IntFactor3NTTStepStrategy.createColumnTransformParallelRunnable(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for transforming the columns of the matrix
using a 3-point NTT transform.
|
protected ParallelRunnable |
FloatFactor3NTTStepStrategy.createColumnTransformParallelRunnable(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for transforming the columns of the matrix
using a 3-point NTT transform.
|
DataStorage |
AbstractDataStorageBuilder.createDataStorage(DataStorage dataStorage) |
protected DataStorage |
ThreeNTTConvolutionStrategy.createDataStorage(DataStorage dataStorage)
Create a cached data storage from the (possibly) cached data storage.
|
protected ParallelRunnable |
FloatNTTConvolutionStepStrategy.createMultiplyInPlaceParallelRunnable(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Create a ParallelRunnable for multiplying the elements in-place.
|
protected ParallelRunnable |
IntNTTConvolutionStepStrategy.createMultiplyInPlaceParallelRunnable(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Create a ParallelRunnable for multiplying the elements in-place.
|
protected ParallelRunnable |
LongNTTConvolutionStepStrategy.createMultiplyInPlaceParallelRunnable(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Create a ParallelRunnable for multiplying the elements in-place.
|
protected ParallelRunnable |
DoubleNTTConvolutionStepStrategy.createMultiplyInPlaceParallelRunnable(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Create a ParallelRunnable for multiplying the elements in-place.
|
protected ParallelRunnable |
FloatNTTConvolutionStepStrategy.createSquareInPlaceParallelRunnable(DataStorage sourceAndDestination,
int modulus)
Create a ParallelRunnable for squaring the elements in-place.
|
protected ParallelRunnable |
IntNTTConvolutionStepStrategy.createSquareInPlaceParallelRunnable(DataStorage sourceAndDestination,
int modulus)
Create a ParallelRunnable for squaring the elements in-place.
|
protected ParallelRunnable |
LongNTTConvolutionStepStrategy.createSquareInPlaceParallelRunnable(DataStorage sourceAndDestination,
int modulus)
Create a ParallelRunnable for squaring the elements in-place.
|
protected ParallelRunnable |
DoubleNTTConvolutionStepStrategy.createSquareInPlaceParallelRunnable(DataStorage sourceAndDestination,
int modulus)
Create a ParallelRunnable for squaring the elements in-place.
|
double[] |
DoubleCarryCRTStepStrategy.crt(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length) |
float[] |
FloatCarryCRTStepStrategy.crt(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length) |
long[] |
LongCarryCRTStepStrategy.crt(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length) |
int[] |
IntCarryCRTStepStrategy.crt(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length) |
protected ArrayAccess |
TwoPassFNTStrategy.getColumns(DataStorage dataStorage,
int startColumn,
int columns,
int rows)
Get a block of column data.
|
protected ArrayAccess |
TwoPassFNTStrategy.getRows(DataStorage dataStorage,
int startRow,
int rows,
int columns)
Get a block of row data.
|
protected void |
DiskDataStorage.implCopyFrom(DataStorage dataStorage,
long size) |
protected void |
IntMemoryDataStorage.implCopyFrom(DataStorage dataStorage,
long size) |
protected void |
FloatMemoryDataStorage.implCopyFrom(DataStorage dataStorage,
long size) |
protected void |
DoubleMemoryDataStorage.implCopyFrom(DataStorage dataStorage,
long size) |
protected void |
LongMemoryDataStorage.implCopyFrom(DataStorage dataStorage,
long size) |
protected abstract void |
AbstractStepFNTStrategy.inverseTransform(DataStorage dataStorage,
int n1,
int n2,
long length,
long totalTransformLength,
int modulus)
Inverse transform the data in steps.
|
protected void |
SixStepFNTStrategy.inverseTransform(DataStorage dataStorage,
int n1,
int n2,
long length,
long totalTransformLength,
int modulus) |
protected void |
TwoPassFNTStrategy.inverseTransform(DataStorage dataStorage,
int n1,
int n2,
long length,
long totalTransformLength,
int modulus) |
void |
FloatTableFNTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
void |
AbstractStepFNTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
void |
DoubleTableFNTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
void |
LongTableFNTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
void |
Factor3NTTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
void |
IntTableFNTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength) |
protected abstract boolean |
AbstractDataStorageBuilder.isCached(DataStorage dataStorage)
Test if the data storage is of cached type.
|
protected boolean |
FloatDataStorageBuilder.isCached(DataStorage dataStorage) |
protected boolean |
LongDataStorageBuilder.isCached(DataStorage dataStorage) |
protected boolean |
IntDataStorageBuilder.isCached(DataStorage dataStorage) |
protected boolean |
DoubleDataStorageBuilder.isCached(DataStorage dataStorage) |
void |
FloatNTTConvolutionStepStrategy.multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus) |
void |
IntNTTConvolutionStepStrategy.multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus) |
void |
LongNTTConvolutionStepStrategy.multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus) |
void |
DoubleNTTConvolutionStepStrategy.multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus) |
void |
FloatNTTConvolutionStepStrategy.squareInPlace(DataStorage sourceAndDestination,
int modulus) |
void |
IntNTTConvolutionStepStrategy.squareInPlace(DataStorage sourceAndDestination,
int modulus) |
void |
LongNTTConvolutionStepStrategy.squareInPlace(DataStorage sourceAndDestination,
int modulus) |
void |
DoubleNTTConvolutionStepStrategy.squareInPlace(DataStorage sourceAndDestination,
int modulus) |
void |
FloatTableFNTStrategy.transform(DataStorage dataStorage,
int modulus) |
void |
AbstractStepFNTStrategy.transform(DataStorage dataStorage,
int modulus) |
void |
DoubleTableFNTStrategy.transform(DataStorage dataStorage,
int modulus) |
void |
LongTableFNTStrategy.transform(DataStorage dataStorage,
int modulus) |
void |
Factor3NTTStrategy.transform(DataStorage dataStorage,
int modulus) |
void |
IntTableFNTStrategy.transform(DataStorage dataStorage,
int modulus) |
protected abstract void |
AbstractStepFNTStrategy.transform(DataStorage dataStorage,
int n1,
int n2,
long length,
int modulus)
Transform the data in steps.
|
protected void |
SixStepFNTStrategy.transform(DataStorage dataStorage,
int n1,
int n2,
long length,
int modulus) |
protected void |
TwoPassFNTStrategy.transform(DataStorage dataStorage,
int n1,
int n2,
long length,
int modulus) |
void |
DoubleFactor3NTTStepStrategy.transformColumns(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus) |
void |
LongFactor3NTTStepStrategy.transformColumns(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus) |
void |
IntFactor3NTTStepStrategy.transformColumns(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus) |
void |
FloatFactor3NTTStepStrategy.transformColumns(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus) |
Modifier and Type | Method and Description |
---|---|
DataStorage |
CarryCRTStrategy.carryCRT(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
long resultSize)
Calculate the final result of a three-NTT convolution.
|
DataStorage |
ConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize)
Convolutes the two sets of data.
|
DataStorage |
DataStorageBuilder.createCachedDataStorage(long size)
Get a data storage that is cached in memory, if possible, for the requested size of data.
|
DataStorage |
DataStorageBuilder.createDataStorage(DataStorage dataStorage)
Convert cached data storage to the appropriate normal data storage type.
|
DataStorage |
DataStorageBuilder.createDataStorage(long size)
Get an appropriate type of data storage for the requested size of data.
|
protected abstract DataStorage |
DataStorage.implSubsequence(long offset,
long length)
Implementation of getting a subsequence of this data storage.
|
DataStorage |
DataStorage.subsequence(long offset,
long length)
Get a subsequence of this data storage.
|
Modifier and Type | Method and Description |
---|---|
T |
CarryCRTStepStrategy.carry(DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length,
T results,
T previousResults)
Propagate carries from the previous block computed with the CRT
method.
|
DataStorage |
CarryCRTStrategy.carryCRT(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
long resultSize)
Calculate the final result of a three-NTT convolution.
|
DataStorage |
ConvolutionStrategy.convolute(DataStorage x,
DataStorage y,
long resultSize)
Convolutes the two sets of data.
|
void |
DataStorage.copyFrom(DataStorage dataStorage)
Copies all data from another data storage to this data storage.
|
void |
DataStorage.copyFrom(DataStorage dataStorage,
long size)
Copies the specified number of elements from another data storage to this data storage.
|
DataStorage |
DataStorageBuilder.createDataStorage(DataStorage dataStorage)
Convert cached data storage to the appropriate normal data storage type.
|
T |
CarryCRTStepStrategy.crt(DataStorage resultMod0,
DataStorage resultMod1,
DataStorage resultMod2,
DataStorage dataStorage,
long size,
long resultSize,
long offset,
long length)
Perform the Chinese Remainder Theorem (CRT) on each element
of the three result data sets to get the result of each element
modulo the product of the three moduli.
|
protected abstract void |
DataStorage.implCopyFrom(DataStorage dataStorage,
long size)
Copies the specified number of elements from another data storage to this data storage.
|
void |
NTTStrategy.inverseTransform(DataStorage dataStorage,
int modulus,
long totalTransformLength)
Perform an inverse transform on the data.
|
void |
NTTConvolutionStepStrategy.multiplyInPlace(DataStorage sourceAndDestination,
DataStorage source,
int modulus)
Linear multiplication in the number theoretic domain.
|
void |
NTTConvolutionStepStrategy.squareInPlace(DataStorage sourceAndDestination,
int modulus)
Linear squaring in the number theoretic domain.
|
void |
NTTStrategy.transform(DataStorage dataStorage,
int modulus)
Perform a forward transform on the data.
|
void |
Factor3NTTStepStrategy.transformColumns(DataStorage dataStorage0,
DataStorage dataStorage1,
DataStorage dataStorage2,
long startColumn,
long columns,
long power2length,
long length,
boolean isInverse,
int modulus)
Transform the columns of a matrix using a 3-point transform.
|
Constructor and Description |
---|
DataStorage(DataStorage dataStorage,
long offset,
long length)
Subsequence constructor.
|
Copyright © 2017. All rights reserved.