Class MixedRadixFactor2

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

public class MixedRadixFactor2 extends MixedRadixFactor
The MixedRadixFactor2 class handles factors of 2 in the FFT.
  • Constructor Details

    • MixedRadixFactor2

      public MixedRadixFactor2(PassConstants passConstants)
      Create a new MixedRadixFactor2 instance.
      Parameters:
      passConstants - The pass constants.
  • 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 2.
      Specified by:
      passScalar in class MixedRadixFactor
      Parameters:
      passData - The pass data.
    • passSIMD

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