Skip to content
This repository was archived by the owner on May 4, 2019. It is now read-only.

Commit

Permalink
Adapt to removal of _deleteat_(beg/end)!() and _growat_(beg/end)!() f…
Browse files Browse the repository at this point in the history
…rom Julia (#127)

Update splice!() to reflect changes in the corresponding Base function.
This fixes the tests on recent Julia 0.5 master.
  • Loading branch information
nalimilan authored Jul 2, 2016
1 parent 61398f3 commit 383661a
Showing 1 changed file with 30 additions and 16 deletions.
46 changes: 30 additions & 16 deletions src/nullablevector.jl
Original file line number Diff line number Diff line change
Expand Up @@ -142,23 +142,37 @@ function Base.splice!{T<:Integer}(X::NullableVector,
f = first(rng)
l = last(rng)

if m < d # insert is shorter than range
delta = d - m
if f - 1 < n - l
Base._deleteat_beg!(X.values, f, delta)
Base._deleteat_beg!(X.isnull, f, delta)
else
Base._deleteat_end!(X.values, l - delta + 1, delta)
Base._deleteat_end!(X.isnull, l - delta + 1, delta)
if VERSION >= v"0.5.0-dev+5022"
if m < d # insert is shorter than range
delta = d - m
i = (f - 1 < n - l) ? f : (l - delta + 1)
Base._deleteat!(X.values, i, delta)
Base._deleteat!(X.isnull, i, delta)
elseif m > d # insert is longer than range
delta = m - d
i = (f - 1 < n - l) ? f : (l + 1)
Base._growat!(X.values, i, delta)
Base._growat!(X.isnull, i, delta)
end
elseif m > d # insert is longer than range
delta = m - d
if f - 1 < n - l
Base._growat_beg!(X.values, f, delta)
Base._growat_beg!(X.isnull, f, delta)
else
Base._growat_end!(X.values, l + 1, delta)
Base._growat_end!(X.isnull, l + 1, delta)
else
if m < d # insert is shorter than range
delta = d - m
if f - 1 < n - l
Base._deleteat_beg!(X.values, f, delta)
Base._deleteat_beg!(X.isnull, f, delta)
else
Base._deleteat_end!(X.values, l - delta + 1, delta)
Base._deleteat_end!(X.isnull, l - delta + 1, delta)
end
elseif m > d # insert is longer than range
delta = m - d
if f - 1 < n - l
Base._growat_beg!(X.values, f, delta)
Base._growat_beg!(X.isnull, f, delta)
else
Base._growat_end!(X.values, l + 1, delta)
Base._growat_end!(X.isnull, l + 1, delta)
end
end
end

Expand Down

0 comments on commit 383661a

Please sign in to comment.