Skip to content

Commit 8f26b18

Browse files
committed
Fix #60: Extrapolate to zero outside the interpolation bounds.
With Interpolations 0.9.x, this would otherwise throw a BoundsError.
1 parent b480435 commit 8f26b18

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/interp.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,17 @@ end
1010
function InterpKDE(kde::UnivariateKDE, opts...)
1111
itp_u = interpolate(kde.density, opts...)
1212
itp = scale(itp_u, kde.x)
13-
InterpKDE{typeof(kde),typeof(itp)}(kde, itp)
13+
etp = extrapolate(itp, zero(eltype(kde.density)))
14+
InterpKDE{typeof(kde),typeof(etp)}(kde, etp)
1415
end
1516
InterpKDE(kde::UnivariateKDE) = InterpKDE(kde, BSpline(Quadratic(Line(OnGrid()))))
1617

1718

1819
function InterpKDE(kde::BivariateKDE, opts...)
1920
itp_u = interpolate(kde.density,opts...)
2021
itp = scale(itp_u, kde.x, kde.y)
21-
InterpKDE{typeof(kde),typeof(itp)}(kde, itp)
22+
etp = extrapolate(itp, zero(eltype(kde.density)))
23+
InterpKDE{typeof(kde),typeof(etp)}(kde, etp)
2224
end
2325
InterpKDE(kde::BivariateKDE) = InterpKDE(kde::BivariateKDE, BSpline(Quadratic(Line(OnGrid()))))
2426

0 commit comments

Comments
 (0)