11# Store both grid and density for KDE over the real line
2- type UnivariateKDE{R<: Range } <: AbstractKDE
2+ mutable struct UnivariateKDE{R<: Range } <: AbstractKDE
33 x:: R
44 density:: Vector{Float64}
55end
@@ -9,7 +9,7 @@ kernel_dist(::Type{Normal},w::Real) = Normal(0.0,w)
99kernel_dist (:: Type{Uniform} ,w:: Real ) = (s = 1.7320508075688772 * w; Uniform (- s,s))
1010
1111const LocationScale = Union{Laplace,Logistic,SymTriangularDist}
12- kernel_dist {D} (:: Type{D} ,w:: Real ) = (s = w/ std (D (0.0 ,1.0 )); D (0.0 ,s))
12+ kernel_dist (:: Type{D} ,w:: Real ) where {D} = (s = w/ std (D (0.0 ,1.0 )); D (0.0 ,s))
1313
1414
1515# Silverman's rule of thumb for KDE bandwidth selection
@@ -70,14 +70,14 @@ function kde_range(boundary::Tuple{Real,Real}, npoints::Int)
7070 lo: step: hi
7171end
7272
73- immutable UniformWeights{N} end
73+ struct UniformWeights{N} end
7474
7575UniformWeights (n) = UniformWeights {n} ()
7676
7777Base. sum (x:: UniformWeights ) = 1.
78- Base. getindex {N} (x:: UniformWeights{N} , i) = 1 / N
78+ Base. getindex (x:: UniformWeights{N} , i) where {N} = 1 / N
7979
80- typealias Weights Union{UniformWeights, RealVector, WeightVec}
80+ const Weights = Union{UniformWeights, RealVector, WeightVec}
8181
8282
8383# tabulate data for kde
@@ -175,7 +175,7 @@ function kde_lscv(data::RealVector, midpoints::Range;
175175 K = length (k. density)
176176 ft = rfft (k. density)
177177
178- ft2 = @compat ( abs2 .(ft) )
178+ ft2 = abs2 .(ft)
179179 c = - twoπ/ (step (k. x)* K)
180180 hlb, hub = bandwidth_range
181181
0 commit comments