Use even to tweak length of make_steps output
If `even` in false, `make_steps` returns an odd-length (2n-1) Vector as it did before. If even is `true`, `make_steps` now returns an even-length (2n) Vector whose first (2n-1) elements are the same as before and whose final element is the same as the final element of the input Vector.
This commit is contained in:
parent
0508d05299
commit
10fa36cdd9
@ -185,13 +185,14 @@ make_steps(x, st, even) = x
|
||||
function make_steps(x::AbstractArray, st, even)
|
||||
n = length(x)
|
||||
n == 0 && return zeros(0)
|
||||
newx = zeros(2n - 1)
|
||||
newx = zeros(2n - (even ? 0 : 1))
|
||||
newx[1] = x[1]
|
||||
for i = 2:n
|
||||
idx = 2i - 1
|
||||
newx[idx] = x[i]
|
||||
newx[idx - 1] = x[st == :pre ? i : i - 1]
|
||||
end
|
||||
even && (newx[end] = x[end])
|
||||
return newx
|
||||
end
|
||||
make_steps(t::Tuple, st, even) = Tuple(make_steps(ti, st, even) for ti in t)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user