pfft package

Module contents

class pfft.Direction

Bases: int

PFFT Transformation Directions

BACKWARD = 1
FORWARD = -1
PFFT_BACKWARD = 1
PFFT_FORWARD = -1
class pfft.Flags

Bases: int

PFFT Transformation Flags

BUFFERED_INPLACE = 1024
DESTROY_INPUT = 512
ESTIMATE = 16
EXHAUSTIVE = 64
MEASURE = 0
NO_TUNE = 0
PADDED_C2R = 2048
PADDED_R2C = 2048
PATIENT = 32
PFFT_BUFFERED_INPLACE = 1024
PFFT_DESTROY_INPUT = 512
PFFT_ESTIMATE = 16
PFFT_EXHAUSTIVE = 64
PFFT_MEASURE = 0
PFFT_NO_TUNE = 0
PFFT_PADDED_C2R = 2048
PFFT_PADDED_R2C = 2048
PFFT_PATIENT = 32
PFFT_PRESERVE_INPUT = 256
PFFT_SHIFTED_IN = 4
PFFT_SHIFTED_NONE = 0
PFFT_SHIFTED_OUT = 8
PFFT_TRANSPOSED_IN = 1
PFFT_TRANSPOSED_NONE = 0
PFFT_TRANSPOSED_OUT = 2
PFFT_TUNE = 128
PRESERVE_INPUT = 256
SHIFTED_IN = 4
SHIFTED_NONE = 0
SHIFTED_OUT = 8
TRANSPOSED_IN = 1
TRANSPOSED_NONE = 0
TRANSPOSED_OUT = 2
TUNE = 128
format(self, flags=None)
class pfft.LocalBuffer(partition, LocalBuffer base=None)

Bases: object

address
base
partition
view_input(self, type=numpy.ndarray)
view_output(self, type=numpy.ndarray)
view_raw(self, type=numpy.ndarray)
class pfft.Partition(type, n, ProcMesh procmesh, flags)

Bases: object

alloc_local
flags
i_dtype
i_dtypes = ['complex128', 'float64', 'complex128', 'float64', 'complex64', 'float32', 'complex64', 'float32']
i_edges
local_i_shape
local_i_slice
local_i_start
local_i_strides
local_ni
local_no
local_o_shape
local_o_slice
local_o_start
local_o_strides
n
ndim
ni
no
o_dtype
o_dtypes = ['complex128', 'complex128', 'float64', 'float64', 'complex64', 'complex64', 'float32', 'float32']
o_edges
procmesh
type
class pfft.Plan(Partition partition, direction, LocalBuffer i, LocalBuffer o=None, type=None, flags=None)

Bases: object

direction
execute(self, LocalBuffer i, LocalBuffer o=None)

execute a plan. o and i must match the alignment (unchecked), inplace status of the plan.

flags
inplace
type
class pfft.ProcMesh(np, comm=None)

Bases: object

The topology of the MPI ranks. (procmesh)

Attributes:
comm : MPI.Comm

MPI communicator the proc mesh is built for. Note that it does not have the 2D topology.

this : array_like

The rank of current process in the procmesh

np : array_like

The shape of the proc mesh.

ndim : int

size of the proc mesh

rank : int

MPI rank

comm
ndim
np
rank
split(type cls, ndim, comm=None)
this
pfft.Tester

alias of numpy.testing.nose_tools.nosetester.NoseTester

class pfft.Type

Bases: int

PFFT Transformation Types Double precision is prefixed with PFFT Single precision is prefixed with PFFTF

C2C = 0
C2CF = 4
C2R = 2
C2RF = 6
PFFTF_C2C = 4
PFFTF_C2R = 6
PFFTF_R2C = 5
PFFTF_R2R = 7
PFFT_C2C = 0
PFFT_C2R = 2
PFFT_R2C = 1
PFFT_R2R = 3
R2C = 1
R2CF = 5
R2R = 3
R2RF = 7
pfft.split_size_2d(s)

Split s into two integers, a and d, such that a * d == s and a <= d

returns: a, d