Skip to content

Commit 74a7c9b

Browse files
committed
compact show for Frequencies
1 parent 111eda5 commit 74a7c9b

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/definitions.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,13 @@ Base.maximum(f::Frequencies{T}) where T = (f.n_nonnegative - ifelse(f.multiplier
462462
Base.minimum(f::Frequencies{T}) where T = (f.n_nonnegative - ifelse(f.multiplier >= zero(T), f.n, 1)) * f.multiplier
463463
Base.extrema(f::Frequencies) = (minimum(f), maximum(f))
464464

465+
function Base.show(io::IO, f::Frequencies)
466+
r1 = 0:f.n_nonnegative-1
467+
r2 = -f.n + f.n_nonnegative:-1
468+
v = "[$r1;" * (isempty(r2) ? "" : " $r2") * "]"
469+
print(io, "$v*$(step(f))")
470+
end
471+
465472
"""
466473
fftfreq(n, fs=1)
467474
Return the discrete Fourier transform (DFT) sample frequencies for a DFT of length `n`. The returned

test/runtests.jl

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,22 @@ end
108108
check_extrema(freqs)
109109
end
110110
end
111+
112+
@testset "show" begin
113+
for f in Any[fftfreq(6), fftfreq(7, 2), rfftfreq(5, 0.3), rfftfreq(4, 3)]
114+
fnn = f.n_nonnegative
115+
r1 = 0:fnn - 1
116+
r2 = -length(f) + fnn:-1
117+
v = [r1; r2] * step(f)
118+
@test v f
119+
s = repr(f)
120+
if !isempty(r2) # fftfreq
121+
@test s == "[$r1; $r2]*$(step(f))"
122+
else # rfftfreq
123+
@test s == "[$r1;]*$(step(f))"
124+
end
125+
end
126+
end
111127
end
112128

113129
@testset "normalization" begin

0 commit comments

Comments
 (0)