139139# FFTShift/IFFTShift with FFTShift/IFFTShift
140140have_shifted_dims_even_length (T:: ShiftOp ) = all (iseven, size (T, 2 )[collect (T. dirs)])
141141are_shifted_dims_disjoint (T1:: ShiftOp , T2:: ShiftOp ) =
142- all (d -> ! (d in T1. dirs && d in T2. dirs), 1 : ndims (T1))
142+ all (d -> ! (d in T1. dirs && d in T2. dirs), 1 : ndims (T1, 2 ))
143143does_fully_cover (T1:: ShiftOp , T2:: ShiftOp ) = all (d -> (d in T1. dirs && d in T2. dirs), T1. dirs) # T1 fully covers T2
144144function can_be_combined (T1:: FFTShift , T2:: FFTShift )
145145 return (have_shifted_dims_even_length (T1) && have_shifted_dims_even_length (T2)) || are_shifted_dims_disjoint (T1, T2)
@@ -154,11 +154,11 @@ function can_be_combined(T1::IFFTShift, T2::FFTShift)
154154 return (have_shifted_dims_even_length (T1) && have_shifted_dims_even_length (T2)) || does_fully_cover (T1, T2) || does_fully_cover (T2, T1)
155155end
156156function combine (T1:: FFTShift , T2:: FFTShift )
157- new_dirs = Tuple (d for d in 1 : ndims (T1) if (d in T1. dirs) || (d in T2. dirs))
157+ new_dirs = Tuple (d for d in 1 : ndims (T1, 2 ) if (d in T1. dirs) || (d in T2. dirs))
158158 return FFTShift (domain_type (T1), size (T1, 2 ), new_dirs)
159159end
160160function combine (T1:: IFFTShift , T2:: IFFTShift )
161- new_dirs = Tuple (d for d in 1 : ndims (T1) if (d in T1. dirs) || (d in T2. dirs))
161+ new_dirs = Tuple (d for d in 1 : ndims (T1, 2 ) if (d in T1. dirs) || (d in T2. dirs))
162162 return IFFTShift (domain_type (T1), size (T1, 2 ), new_dirs)
163163end
164164function combine (T1:: FFTShift , T2:: IFFTShift )
0 commit comments