OoplaceDim#

For example, a 2D complex to complex transform of 3 rows and 4 columns with contiguous row-major data layout can be constructed with any of the following:

>>> layout = [hpk.fft.OoplaceDim(3),       hpk.fft.OoplaceDim(4)]
>>> layout = [hpk.fft.OoplaceDim(3, 0, 0), hpk.fft.OoplaceDim(4, 0, 0)]
>>> layout = [hpk.fft.OoplaceDim(3, 8, 8), hpk.fft.OoplaceDim(4, 2, 2)]

CLASS

class hpk.fft.OoplaceDim#

OoplaceDim describes one dimension of an FFT.

__init__#

Overloaded function.

  1. __init__(self) -> None

Same as OoplaceDim(1, 0, 0).

  1. __init__(self, n: int, /) -> None

Same as OoplaceDim(n, 0, 0). Zero stride indicates elements are contiguous.

  1. __init__(self, n: int, timeStride: int, freqStride: int, /) -> None

Construct an OoplaceDim from arguments n, timeStride, freqStride.

Parameters:
  • n – The number of points in an FFT dimension, or as a batch, the number of transforms.

  • timeStride – The stride in the time domain from one point to the next, measured in terms of real elements.

  • freqStride – The stride in the frequency domain from one point to the next, measured in terms of real elements.

  1. __init__(self, arg: tuple[int, int, int], /) -> None

The tuple must contain three ints, (n, timeStride, freqStride).