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.InplaceDim(3),    hpk.fft.InplaceDim(4)]
>>> layout = [hpk.fft.InplaceDim(3, 0), hpk.fft.InplaceDim(4, 0)]
>>> layout = [hpk.fft.InplaceDim(3, 8), hpk.fft.InplaceDim(4, 2)]


class hpk.fft.InplaceDim#

InplaceDim describes one dimension of an FFT.


Overloaded function.

  1. __init__(self) -> None

Same as InplaceDim(1, 0)

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

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

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

The values of n and stride are specified.

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

The tuple must contain two ints, (n, stride).