Class MixedRadixFactor3
java.lang.Object
ffx.numerics.fft.MixedRadixFactor
ffx.numerics.fft.MixedRadixFactor3
The MixedRadixFactor3 class handles factors of 3 in the FFT.
-
Field Summary
Fields inherited from class MixedRadixFactor
BLOCK_LOOP, BLOCK_LOOP_128, BLOCK_LOOP_256, BLOCK_LOOP_512, di, dj, DOUBLE_SPECIES, factor, ii, im, innerLoopLimit, INTERLEAVED_LOOP, INTERLEAVED_LOOP_128, INTERLEAVED_LOOP_256, INTERLEAVED_LOOP_512, jstep, LENGTH, LENGTH_128, LENGTH_256, LENGTH_512, n, NEGATE_IM, NEGATE_IM_128, NEGATE_IM_256, NEGATE_IM_512, NEGATE_RE, NEGATE_RE_128, NEGATE_RE_256, NEGATE_RE_512, nextInput, nFFTs, outerLoopLimit, product, SHUFFLE_RE_IM, SHUFFLE_RE_IM_128, SHUFFLE_RE_IM_256, SHUFFLE_RE_IM_512, simdWidth, twiddles, wi, wr -
Constructor Summary
ConstructorsConstructorDescriptionMixedRadixFactor3(PassConstants passConstants) Create a new MixedRadixFactor3 instance. -
Method Summary
Modifier and TypeMethodDescriptionintDetermine the optimal SIMD width.booleanisValidSIMDWidth(int width) Check if the requested SIMD length is valid.protected voidpassScalar(PassData passData) Handle factors of 3.protected voidHandle factors of 3 using SIMD vectors.Methods inherited from class MixedRadixFactor
multiplyAndStore, setSIMDWidth, toString
-
Constructor Details
-
MixedRadixFactor3
Create a new MixedRadixFactor3 instance.- Parameters:
passConstants- The pass constants.
-
-
Method Details
-
isValidSIMDWidth
public boolean isValidSIMDWidth(int width) Check if the requested SIMD length is valid.- Overrides:
isValidSIMDWidthin classMixedRadixFactor- Parameters:
width- Requested SIMD species width.- Returns:
- True if this width is supported.
-
getOptimalSIMDWidth
public int getOptimalSIMDWidth()Determine the optimal SIMD width. Currently supported widths are 2, 4 and 8. If no SIMD width is valid, return 0 to indicate use of the scalar path.- Overrides:
getOptimalSIMDWidthin classMixedRadixFactor- Returns:
- The optimal SIMD width.
-
passScalar
Handle factors of 3.- Specified by:
passScalarin classMixedRadixFactor- Parameters:
passData- the pass data.
-
passSIMD
Handle factors of 3 using SIMD vectors.- Specified by:
passSIMDin classMixedRadixFactor- Parameters:
passData- The pass data.
-