MCPcopy Create free account
hub / github.com/numpy/numpy / _raw_fft

Function _raw_fft

numpy/fft/_pocketfft.py:49–75  ·  view source on GitHub ↗
(a, n, axis, is_real, is_forward, inv_norm)

Source from the content-addressed store, hash-verified

47# divisions by zero (or alternatively additional checks) in the case of
48# zero-length axes during its computation.
49def _raw_fft(a, n, axis, is_real, is_forward, inv_norm):
50 axis = normalize_axis_index(axis, a.ndim)
51 if n is None:
52 n = a.shape[axis]
53
54 fct = 1/inv_norm
55
56 if a.shape[axis] != n:
57 s = list(a.shape)
58 index = [slice(None)]*len(s)
59 if s[axis] > n:
60 index[axis] = slice(0, n)
61 a = a[tuple(index)]
62 else:
63 index[axis] = slice(0, s[axis])
64 s[axis] = n
65 z = zeros(s, a.dtype.char)
66 z[tuple(index)] = a
67 a = z
68
69 if axis == a.ndim-1:
70 r = pfi.execute(a, is_real, is_forward, fct)
71 else:
72 a = swapaxes(a, axis, -1)
73 r = pfi.execute(a, is_real, is_forward, fct)
74 r = swapaxes(r, axis, -1)
75 return r
76
77
78def _get_forward_norm(n, norm):

Callers 4

fftFunction · 0.85
ifftFunction · 0.85
rfftFunction · 0.85
irfftFunction · 0.85

Calls 4

normalize_axis_indexFunction · 0.90
swapaxesFunction · 0.90
executeMethod · 0.80
zerosFunction · 0.50

Tested by

no test coverage detected