Skip to content

Commit 6a2d8cd

Browse files
tkelmanararslan
authored andcommitted
Compat not actually needed now that this package is 0.4+ (#43)
1 parent 948fecd commit 6a2d8cd

File tree

5 files changed

+25
-28
lines changed

5 files changed

+25
-28
lines changed

REQUIRE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@ StatsBase
33
Distributions
44
Optim
55
Interpolations
6-
Compat

src/KernelDensity.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
VERSION >= v"0.4.0-dev+6521" && __precompile__()
1+
__precompile__()
22

33
module KernelDensity
44

55
using StatsBase
66
using Distributions
77
using Optim
88
using Interpolations
9-
using Compat
109

1110
import Base: conv
1211
import StatsBase: RealVector, RealMatrix

src/bivariate.jl

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,26 @@ type BivariateKDE{Rx<:Range,Ry<:Range} <: AbstractKDE
55
density::Matrix{Float64}
66
end
77

8-
function kernel_dist{D<:UnivariateDistribution}(::Type{D},w::(@compat Tuple{Real,Real}))
8+
function kernel_dist{D<:UnivariateDistribution}(::Type{D},w::Tuple{Real,Real})
99
kernel_dist(D,w[1]), kernel_dist(D,w[2])
1010
end
11-
function kernel_dist{Dx<:UnivariateDistribution,Dy<:UnivariateDistribution}(::Type{(@compat Tuple{Dx, Dy})},w::(@compat Tuple{Real,Real}))
11+
function kernel_dist{Dx<:UnivariateDistribution,Dy<:UnivariateDistribution}(::Type{Tuple{Dx, Dy}},w::Tuple{Real,Real})
1212
kernel_dist(Dx,w[1]), kernel_dist(Dy,w[2])
1313
end
1414

1515
# this function provided for backwards compatibility, though it doesn't have the type restrictions
1616
# to ensure that the given tuple only contains univariate distributions
17-
function kernel_dist(d::(@compat Tuple{DataType, DataType}),w::(@compat Tuple{Real,Real}))
17+
function kernel_dist(d::Tuple{DataType, DataType}, w::Tuple{Real,Real})
1818
kernel_dist(d[1],w[1]), kernel_dist(d[2],w[2])
1919
end
2020

2121
# TODO: there are probably better choices.
22-
function default_bandwidth(data::(@compat Tuple{RealVector,RealVector}))
22+
function default_bandwidth(data::Tuple{RealVector,RealVector})
2323
default_bandwidth(data[1]), default_bandwidth(data[2])
2424
end
2525

2626
# tabulate data for kde
27-
function tabulate(data::(@compat Tuple{RealVector, RealVector}), midpoints::(@compat Tuple{Range, Range}))
27+
function tabulate(data::Tuple{RealVector, RealVector}, midpoints::Tuple{Range, Range})
2828
xdata, ydata = data
2929
ndata = length(xdata)
3030
length(ydata) == ndata || error("data vectors must be of same length")
@@ -54,7 +54,7 @@ function tabulate(data::(@compat Tuple{RealVector, RealVector}), midpoints::(@co
5454
end
5555

5656
# convolution with product distribution of two univariates distributions
57-
function conv(k::BivariateKDE, dist::(@compat Tuple{UnivariateDistribution,UnivariateDistribution}) )
57+
function conv(k::BivariateKDE, dist::Tuple{UnivariateDistribution,UnivariateDistribution})
5858
# Transform to Fourier basis
5959
Kx, Ky = size(k.density)
6060
ft = rfft(k.density)
@@ -79,37 +79,37 @@ function conv(k::BivariateKDE, dist::(@compat Tuple{UnivariateDistribution,Univa
7979
BivariateKDE(k.x, k.y, dens)
8080
end
8181

82-
typealias BivariateDistribution @compat(Union{MultivariateDistribution,Tuple{UnivariateDistribution,UnivariateDistribution}})
82+
typealias BivariateDistribution Union{MultivariateDistribution,Tuple{UnivariateDistribution,UnivariateDistribution}}
8383

84-
function kde(data::(@compat Tuple{RealVector, RealVector}), midpoints::(@compat Tuple{Range, Range}), dist::BivariateDistribution)
84+
function kde(data::Tuple{RealVector, RealVector}, midpoints::Tuple{Range, Range}, dist::BivariateDistribution)
8585
k = tabulate(data,midpoints)
8686
conv(k,dist)
8787
end
8888

89-
function kde(data::(@compat Tuple{RealVector, RealVector}), dist::BivariateDistribution;
90-
boundary::(@compat Tuple{(@compat Tuple{Real,Real}),(@compat Tuple{Real,Real})}) = (kde_boundary(data[1],std(dist[1])),
89+
function kde(data::Tuple{RealVector, RealVector}, dist::BivariateDistribution;
90+
boundary::Tuple{Tuple{Real,Real}, Tuple{Real,Real}} = (kde_boundary(data[1],std(dist[1])),
9191
kde_boundary(data[2],std(dist[2]))),
92-
npoints::(@compat Tuple{Int,Int})=(256,256))
92+
npoints::Tuple{Int,Int}=(256,256))
9393

9494
xmid = kde_range(boundary[1],npoints[1])
9595
ymid = kde_range(boundary[2],npoints[2])
9696

9797
kde(data,(xmid,ymid),dist)
9898
end
9999

100-
function kde(data::(@compat Tuple{RealVector, RealVector}), midpoints::(@compat Tuple{Range, Range});
100+
function kde(data::Tuple{RealVector, RealVector}, midpoints::Tuple{Range, Range};
101101
bandwidth=default_bandwidth(data), kernel=Normal)
102102

103103
dist = kernel_dist(kernel,bandwidth)
104104
kde(data,midpoints,dist)
105105
end
106106

107-
function kde(data::(@compat Tuple{RealVector, RealVector});
107+
function kde(data::Tuple{RealVector, RealVector};
108108
bandwidth=default_bandwidth(data),
109109
kernel=Normal,
110-
boundary::(@compat Tuple{(@compat Tuple{Real,Real}),(@compat Tuple{Real,Real})}) = (kde_boundary(data[1],bandwidth[1]),
110+
boundary::Tuple{Tuple{Real,Real}, Tuple{Real,Real}} = (kde_boundary(data[1],bandwidth[1]),
111111
kde_boundary(data[2],bandwidth[2])),
112-
npoints::(@compat Tuple{Int,Int})=(256,256))
112+
npoints::Tuple{Int,Int}=(256,256))
113113

114114
dist = kernel_dist(kernel,bandwidth)
115115
xmid = kde_range(boundary[1],npoints[1])

src/univariate.jl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ end
88
kernel_dist(::Type{Normal},w::Real) = Normal(0.0,w)
99
kernel_dist(::Type{Uniform},w::Real) = (s = 1.7320508075688772*w; Uniform(-s,s))
1010

11-
typealias LocationScale @compat(Union{Laplace,Logistic,SymTriangularDist})
11+
typealias LocationScale Union{Laplace,Logistic,SymTriangularDist}
1212
kernel_dist{D}(::Type{D},w::Real) = (s = w/std(D(0.0,1.0)); D(0.0,s))
1313

1414

@@ -58,7 +58,7 @@ function kde_boundary(data::RealVector, bandwidth::Real)
5858
end
5959

6060
# convert boundary and npoints to Range object
61-
function kde_range(boundary::(@compat Tuple{Real,Real}), npoints::Int)
61+
function kde_range(boundary::Tuple{Real,Real}, npoints::Int)
6262
lo, hi = boundary
6363
lo < hi || error("boundary (a,b) must have a < b")
6464

@@ -125,7 +125,7 @@ function kde(data::RealVector, midpoints::Range, dist::UnivariateDistribution)
125125
end
126126

127127
function kde(data::RealVector, dist::UnivariateDistribution;
128-
boundary::(@compat Tuple{Real,Real})=kde_boundary(data,std(dist)), npoints::Int=2048)
128+
boundary::Tuple{Real,Real}=kde_boundary(data,std(dist)), npoints::Int=2048)
129129

130130
midpoints = kde_range(boundary,npoints)
131131
kde(data,midpoints,dist)
@@ -139,7 +139,7 @@ function kde(data::RealVector, midpoints::Range;
139139
end
140140

141141
function kde(data::RealVector; bandwidth=default_bandwidth(data), kernel=Normal,
142-
npoints::Int=2048, boundary::(@compat Tuple{Real,Real})=kde_boundary(data,bandwidth))
142+
npoints::Int=2048, boundary::Tuple{Real,Real}=kde_boundary(data,bandwidth))
143143
bandwidth > 0.0 || error("Bandwidth must be positive")
144144
dist = kernel_dist(kernel,bandwidth)
145145
kde(data,dist;boundary=boundary,npoints=npoints)
@@ -152,7 +152,7 @@ end
152152

153153
function kde_lscv(data::RealVector, midpoints::Range;
154154
kernel=Normal,
155-
bandwidth_range::(@compat Tuple{Real,Real})=(h=default_bandwidth(data); (0.25*h,1.5*h)))
155+
bandwidth_range::Tuple{Real,Real}=(h=default_bandwidth(data); (0.25*h,1.5*h)))
156156

157157
ndata = length(data)
158158
k = tabulate(data, midpoints)
@@ -191,10 +191,10 @@ function kde_lscv(data::RealVector, midpoints::Range;
191191
end
192192

193193
function kde_lscv(data::RealVector;
194-
boundary::(@compat Tuple{Real,Real})=kde_boundary(data,default_bandwidth(data)),
194+
boundary::Tuple{Real,Real}=kde_boundary(data,default_bandwidth(data)),
195195
npoints::Int=2048,
196196
kernel=Normal,
197-
bandwidth_range::(@compat Tuple{Real,Real})=(h=default_bandwidth(data); (0.25*h,1.5*h)))
197+
bandwidth_range::Tuple{Real,Real}=(h=default_bandwidth(data); (0.25*h,1.5*h)))
198198

199199
midpoints = kde_range(boundary,npoints)
200200
kde_lscv(data,midpoints; kernel=kernel, bandwidth_range=bandwidth_range)

test/bivariate.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
using Base.Test
22
using Distributions
33
using KernelDensity
4-
using Compat
54

65
import KernelDensity: kernel_dist, default_bandwidth, kde_boundary, kde_range, tabulate
76

8-
for D in [(@compat Tuple{Normal,Normal}),(@compat Tuple{Uniform,Uniform}),(@compat Tuple{Logistic,Logistic}),
7+
for D in [Tuple{Normal,Normal}, Tuple{Uniform,Uniform}, Tuple{Logistic,Logistic},
98
(Normal, Normal), (Uniform, Uniform), (Logistic, Logistic)]
109
d = KernelDensity.kernel_dist(D,(0.5,0.5))
1110
dx,dy = d
@@ -33,7 +32,7 @@ for X in ([0.0], [0.0,0.0], [0.0,0.5], [-0.5:0.1:0.5;])
3332
@test all(k1.density .>= 0.0)
3433
@test_approx_eq sum(k1.density)*step(k1.x)*step(k1.y) 1.0
3534

36-
k2 = conv(k1,kernel_dist((@compat Tuple{D,D}),(0.1,0.1)))
35+
k2 = conv(k1,kernel_dist(Tuple{D,D}, (0.1,0.1)))
3736
@test isa(k2,BivariateKDE)
3837
@test size(k2.density) == (length(k2.x), length(k2.y))
3938
@test all(k2.density .>= 0.0)

0 commit comments

Comments
 (0)