@@ -346,8 +346,6 @@ plan_irfft
346
346
347
347
# #############################################################################
348
348
349
- fftshift (x) = circshift (x, div .([size (x)... ],2 ))
350
-
351
349
"""
352
350
fftshift(x, [dim])
353
351
@@ -363,16 +361,11 @@ If `dim` is not given then the signal is shifted along each dimension.
363
361
"""
364
362
fftshift
365
363
366
- function fftshift (x,dim)
367
- s = zeros (Int,ndims (x))
368
- for i in dim
369
- s[i] = div (size (x,i),2 )
370
- end
364
+ function fftshift (x, dim = 1 : ndims (x))
365
+ s = ntuple (d -> d in dim ? div (size (x,d),2 ) : 0 , ndims (x))
371
366
circshift (x, s)
372
367
end
373
368
374
- ifftshift (x) = circshift (x, div .([size (x)... ],- 2 ))
375
-
376
369
"""
377
370
ifftshift(x, [dim])
378
371
@@ -388,11 +381,8 @@ If `dim` is not given then the signal is shifted along each dimension.
388
381
"""
389
382
ifftshift
390
383
391
- function ifftshift (x,dim)
392
- s = zeros (Int,ndims (x))
393
- for i in dim
394
- s[i] = - div (size (x,i),2 )
395
- end
384
+ function ifftshift (x, dim = 1 : ndims (x))
385
+ s = ntuple (d -> d in dim ? - div (size (x,d),2 ) : 0 , ndims (x))
396
386
circshift (x, s)
397
387
end
398
388
423
413
Base. size (x:: Frequencies ) = (x. n,)
424
414
Base. step (x:: Frequencies ) = x. multiplier
425
415
416
+ Base. copy (x:: Frequencies ) = x
417
+
426
418
"""
427
419
fftfreq(n, fs=1)
428
420
Return the discrete Fourier transform (DFT) sample frequencies for a DFT of length `n`. The returned
0 commit comments