Class MixedRadixFactor4

java.lang.Object
ffx.numerics.fft.MixedRadixFactor
ffx.numerics.fft.MixedRadixFactor4

public class MixedRadixFactor4 extends MixedRadixFactor
The MixedRadixFactor4 class handles factors of 4 in the FFT.
  • Constructor Details

    • MixedRadixFactor4

      public MixedRadixFactor4(PassConstants passConstants)
      Construct a MixedRadixFactor4.
      Parameters:
      passConstants - PassConstants.
  • Method Details

    • isValidSIMDWidth

      public boolean isValidSIMDWidth(int width)
      Check if the requested SIMD length is valid.
      Overrides:
      isValidSIMDWidth in class MixedRadixFactor
      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:
      getOptimalSIMDWidth in class MixedRadixFactor
      Returns:
      The optimal SIMD width.
    • passScalar

      protected void passScalar(PassData passData)
      Handle factors of 4.
      Specified by:
      passScalar in class MixedRadixFactor
      Parameters:
      passData - the pass data.
    • passSIMD

      protected void passSIMD(PassData passData)
      Handle factors of 4 using SIMD vectors.
      Specified by:
      passSIMD in class MixedRadixFactor
      Parameters:
      passData - The pass data.