public interface NTTStepStrategy
| Modifier and Type | Method and Description |
|---|---|
long |
getMaxTransformLength()
Get the maximum transform length.
|
void |
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 |
transformRows(ArrayAccess arrayAccess,
int length,
int count,
boolean isInverse,
boolean permute,
int modulus)
Transform the rows of the data matrix.
|
void multiplyElements(ArrayAccess arrayAccess, int startRow, int startColumn, int rows, int columns, long length, long totalTransformLength, boolean isInverse, int modulus) throws ApfloatRuntimeException
(i, j) by wi * j / totalTransformLength.
The matrix size is n1 x n2.arrayAccess - The memory array to multiply.startRow - Which row in the whole matrix the starting row in the arrayAccess is.startColumn - Which column in the whole matrix the starting column in the arrayAccess is.rows - The number of rows in the arrayAccess to multiply.columns - The number of columns in the matrix (= n2).length - The length of data in the matrix being transformed.totalTransformLength - The total transform length, for the scaling factor. Used only for the inverse case.isInverse - If the multiplication is done for the inverse transform or not.modulus - Index of the modulus.ApfloatRuntimeExceptionvoid transformRows(ArrayAccess arrayAccess, int length, int count, boolean isInverse, boolean permute, int modulus) throws ApfloatRuntimeException
ApfloatContext.getNumberOfProcessors().arrayAccess - The memory array to split to rows and to transform.length - Length of one transform (one row).count - Number of rows.isInverse - true if an inverse transform is performed, false if a forward transform is performed.permute - If permutation should be done.modulus - Index of the modulus.ApfloatRuntimeExceptionlong getMaxTransformLength()
Copyright © 2025. All rights reserved.