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).
|
org.apfloat.spi |
The apfloat Service Provider Interface (SPI).
|
Modifier and Type | Method and Description |
---|---|
protected ArrayAccess |
ColumnTwoPassFNTStrategy.getColumns(DataStorage dataStorage,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
ColumnTwoPassFNTStrategy.getRows(DataStorage dataStorage,
int startRow,
int rows,
int columns) |
Modifier and Type | Method and Description |
---|---|
protected void |
ColumnTwoPassFNTStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
IntAparapiNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
LongAparapiNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
protected void |
ColumnSixStepFNTStrategy.multiplyElements(ArrayAccess arrayAccess,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
IntAparapiMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2) |
void |
LongAparapiMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2) |
void |
IntAparapiMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2) |
void |
LongAparapiMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2) |
protected void |
IntAparapiSixStepFNTStrategy.postTransform(ArrayAccess arrayAccess) |
protected void |
LongAparapiSixStepFNTStrategy.postTransform(ArrayAccess arrayAccess) |
protected void |
IntAparapiSixStepFNTStrategy.preTransform(ArrayAccess arrayAccess) |
protected void |
LongAparapiSixStepFNTStrategy.preTransform(ArrayAccess arrayAccess) |
void |
IntAparapiNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Transform the columns of the data matrix.
|
void |
LongAparapiNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Transform the columns of the data matrix.
|
void |
IntAparapiMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2) |
void |
LongAparapiMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2) |
protected void |
ColumnSixStepFNTStrategy.transposeInitial(ArrayAccess arrayAccess,
int n1,
int n2,
boolean isInverse) |
protected void |
ColumnSixStepFNTStrategy.transposeMiddle(ArrayAccess arrayAccess,
int n1,
int n2,
boolean isInverse) |
void |
IntAparapiMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2) |
void |
LongAparapiMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2) |
Modifier and Type | Class and Description |
---|---|
class |
DoubleMemoryArrayAccess
Array access class based on a
double[] . |
class |
FloatMemoryArrayAccess
Array access class based on a
float[] . |
class |
IntMemoryArrayAccess
Array access class based on a
int[] . |
class |
LongMemoryArrayAccess
Array access class based on a
long[] . |
Modifier and Type | Method and Description |
---|---|
protected abstract ArrayAccess |
DiskDataStorage.createArrayAccess(int mode,
int startColumn,
int columns,
int rows)
Create an empty ArrayAccess.
|
protected ArrayAccess |
DoubleDiskDataStorage.createArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
FloatDiskDataStorage.createArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
IntDiskDataStorage.createArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
LongDiskDataStorage.createArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected abstract ArrayAccess |
DiskDataStorage.createTransposedArrayAccess(int mode,
int startColumn,
int columns,
int rows)
Create an empty transposed ArrayAccess.
|
protected ArrayAccess |
DoubleDiskDataStorage.createTransposedArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
FloatDiskDataStorage.createTransposedArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
IntDiskDataStorage.createTransposedArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
LongDiskDataStorage.createTransposedArrayAccess(int mode,
int startColumn,
int columns,
int rows) |
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 ArrayAccess |
DiskDataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
DoubleMemoryDataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
FloatMemoryDataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
IntMemoryDataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
LongMemoryDataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
DoubleDiskDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
DoubleMemoryDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
FloatDiskDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
FloatMemoryDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
IntDiskDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
IntMemoryDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
LongDiskDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
LongMemoryDataStorage.implGetArray(int mode,
long offset,
int length) |
protected ArrayAccess |
DiskDataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
DoubleMemoryDataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
FloatMemoryDataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
IntMemoryDataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows) |
protected ArrayAccess |
LongMemoryDataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows) |
ArrayAccess |
DoubleMemoryArrayAccess.subsequence(int offset,
int length) |
ArrayAccess |
FloatMemoryArrayAccess.subsequence(int offset,
int length) |
ArrayAccess |
IntMemoryArrayAccess.subsequence(int offset,
int length) |
ArrayAccess |
LongMemoryArrayAccess.subsequence(int offset,
int length) |
Modifier and Type | Method and Description |
---|---|
protected ParallelRunnable |
DoubleNTTStepStrategy.createMultiplyElementsParallelRunnable(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for multiplying the elements of the matrix.
|
protected ParallelRunnable |
FloatNTTStepStrategy.createMultiplyElementsParallelRunnable(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for multiplying the elements of the matrix.
|
protected ParallelRunnable |
IntNTTStepStrategy.createMultiplyElementsParallelRunnable(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for multiplying the elements of the matrix.
|
protected ParallelRunnable |
LongNTTStepStrategy.createMultiplyElementsParallelRunnable(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Create a ParallelRunnable object for multiplying the elements of the matrix.
|
protected ParallelRunnable |
DoubleNTTStepStrategy.createTransformRowsParallelRunnable(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Create a ParallelRunnable object for transforming the rows of the matrix.
|
protected ParallelRunnable |
FloatNTTStepStrategy.createTransformRowsParallelRunnable(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Create a ParallelRunnable object for transforming the rows of the matrix.
|
protected ParallelRunnable |
IntNTTStepStrategy.createTransformRowsParallelRunnable(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Create a ParallelRunnable object for transforming the rows of the matrix.
|
protected ParallelRunnable |
LongNTTStepStrategy.createTransformRowsParallelRunnable(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Create a ParallelRunnable object for transforming the rows of the matrix.
|
void |
DoubleTableFNT.inverseTableFNT(ArrayAccess arrayAccess,
double[] wTable,
int[] permutationTable)
Inverse (Cooley-Tukey) fast Number Theoretic Transform.
|
void |
FloatTableFNT.inverseTableFNT(ArrayAccess arrayAccess,
float[] wTable,
int[] permutationTable)
Inverse (Cooley-Tukey) fast Number Theoretic Transform.
|
void |
IntTableFNT.inverseTableFNT(ArrayAccess arrayAccess,
int[] wTable,
int[] permutationTable)
Inverse (Cooley-Tukey) fast Number Theoretic Transform.
|
void |
LongTableFNT.inverseTableFNT(ArrayAccess arrayAccess,
long[] wTable,
int[] permutationTable)
Inverse (Cooley-Tukey) fast Number Theoretic Transform.
|
protected void |
TwoPassFNTStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Multiply each matrix element
(i, j) by wi * j / totalTransformLength . |
void |
DoubleNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
FloatNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
IntNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
void |
LongNTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus) |
protected void |
SixStepFNTStrategy.multiplyElements(ArrayAccess arrayAccess,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Multiply each matrix element by a power of the n:th root of unity.
|
void |
DoubleMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
n1/2 x 2*n2 matrix.
|
void |
FloatMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
n1/2 x 2*n2 matrix.
|
void |
IntMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
n1/2 x 2*n2 matrix.
|
void |
LongMatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
n1/2 x 2*n2 matrix.
|
void |
DoubleMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
2*n1 x n2/2 matrix.
|
void |
FloatMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
2*n1 x n2/2 matrix.
|
void |
IntMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
2*n1 x n2/2 matrix.
|
void |
LongMatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
2*n1 x n2/2 matrix.
|
protected void |
SixStepFNTStrategy.postTransform(ArrayAccess arrayAccess)
Finish processing the data after the (inverse) transform.
|
protected void |
SixStepFNTStrategy.preTransform(ArrayAccess arrayAccess)
Prepare the data for the (inverse) transform.
|
protected void |
DiskDataStorage.setArray(ArrayAccess arrayAccess,
int startColumn,
int columns,
int rows)
Write the data back to the same location in the file that was retrieved with
DiskDataStorage.implGetArray(int,int,int,int) . |
protected void |
DiskDataStorage.setTransposedArray(ArrayAccess arrayAccess,
int startColumn,
int columns,
int rows)
Write the data back to the same location in the file that was retrieved with
DiskDataStorage.implGetTransposedArray(int,int,int,int) . |
void |
DoubleTableFNT.tableFNT(ArrayAccess arrayAccess,
double[] wTable,
int[] permutationTable)
Forward (Sande-Tukey) fast Number Theoretic Transform.
|
void |
FloatTableFNT.tableFNT(ArrayAccess arrayAccess,
float[] wTable,
int[] permutationTable)
Forward (Sande-Tukey) fast Number Theoretic Transform.
|
void |
IntTableFNT.tableFNT(ArrayAccess arrayAccess,
int[] wTable,
int[] permutationTable)
Forward (Sande-Tukey) fast Number Theoretic Transform.
|
void |
LongTableFNT.tableFNT(ArrayAccess arrayAccess,
long[] wTable,
int[] permutationTable)
Forward (Sande-Tukey) fast Number Theoretic Transform.
|
protected void |
TwoPassFNTStrategy.transformColumns(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
int modulus)
Transform the columns of the data matrix.
|
protected void |
SixStepFNTStrategy.transformFirst(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
int modulus)
The first transform of the rows (or columns) of the data matrix.
|
void |
DoubleNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus) |
void |
FloatNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus) |
void |
IntNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus) |
void |
LongNTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus) |
protected void |
TwoPassFNTStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
int modulus)
Transform the rows of the data matrix.
|
protected void |
SixStepFNTStrategy.transformSecond(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
int modulus)
The second transform of the rows (or columns) of the data matrix.
|
void |
DoubleMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a n1 x n2 matrix.
|
void |
FloatMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a n1 x n2 matrix.
|
void |
IntMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a n1 x n2 matrix.
|
void |
LongMatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a n1 x n2 matrix.
|
protected void |
SixStepFNTStrategy.transposeFinal(ArrayAccess arrayAccess,
int n1,
int n2,
boolean isInverse)
The final transpose of the forward transform, or the initial transpose
of the inverse transform.
|
protected void |
SixStepFNTStrategy.transposeInitial(ArrayAccess arrayAccess,
int n1,
int n2,
boolean isInverse)
The initial transpose of the forward transform, or the final transpose
of the inverse transform, to transpose the columns of the matrix to be rows.
|
protected void |
SixStepFNTStrategy.transposeMiddle(ArrayAccess arrayAccess,
int n1,
int n2,
boolean isInverse)
The second transpose of either the forward or inverse transform.
|
void |
DoubleMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a square n1 x n1 block of n1 x n2 matrix.
|
void |
FloatMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a square n1 x n1 block of n1 x n2 matrix.
|
void |
IntMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a square n1 x n1 block of n1 x n2 matrix.
|
void |
LongMatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a square n1 x n1 block of n1 x n2 matrix.
|
Modifier and Type | Method and Description |
---|---|
ArrayAccess |
DataStorage.getArray(int mode,
int startColumn,
int columns,
int rows)
Maps a block of data to a memory array when the data is treated as a matrix.
|
ArrayAccess |
DataStorage.getArray(int mode,
long offset,
int length)
Gets an array access to the data of this data storage when
the data is treated as a linear block.
|
ArrayAccess |
DataStorage.getTransposedArray(int mode,
int startColumn,
int columns,
int rows)
Maps a transposed block of data to a memory array when the data is treated as a matrix.
|
protected abstract ArrayAccess |
DataStorage.implGetArray(int mode,
int startColumn,
int columns,
int rows)
Maps a block of data to a memory array when the data is treated as a matrix.
|
protected abstract ArrayAccess |
DataStorage.implGetArray(int mode,
long offset,
int length)
Gets an array access to the data of this data storage when it is treated as a linear block.
|
protected abstract ArrayAccess |
DataStorage.implGetTransposedArray(int mode,
int startColumn,
int columns,
int rows)
Maps a transposed block of data to a memory array when the data is treated as a matrix.
|
abstract ArrayAccess |
ArrayAccess.subsequence(int offset,
int length)
Create a sub-sequence view of this array access.
|
Modifier and Type | Method and Description |
---|---|
void |
NTTStepStrategy.multiplyElements(ArrayAccess arrayAccess,
int startRow,
int startColumn,
int rows,
int columns,
long length,
long totalTransformLength,
boolean isInverse,
int modulus)
Multiply each matrix element
(i, j) by wi * j / totalTransformLength . |
void |
MatrixStrategy.permuteToDoubleWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
n1/2 x 2*n2 matrix.
|
void |
MatrixStrategy.permuteToHalfWidth(ArrayAccess arrayAccess,
int n1,
int n2)
Permute the rows of the n1 x n2 matrix so that it is shaped like a
2*n1 x n2/2 matrix.
|
void |
NTTStepStrategy.transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Transform the rows of the data matrix.
|
void |
MatrixStrategy.transpose(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a n1 x n2 matrix.
|
void |
MatrixStrategy.transposeSquare(ArrayAccess arrayAccess,
int n1,
int n2)
Transpose a square n1 x n1 block of n1 x n2 matrix.
|
Copyright © 2017. All rights reserved.