disjoin(foo, foo)
foo[1:5]
Pkg.checkout("RLEVectors")
disjoin(foo, foo)
disjoin(foo.runends, foo.runends)
x = y = foo
runends
runends
Int32(runends)
foo = RLEVector(Vector{Int32}(collect(1:1000)), Vector{Int32}(collect(5:5:5000)))
foo
x = y = foo
x[runends]
methods(getindex)
x[1]
x[ [1, 2] ]
exit()
using RLEVectors
foo = RLEVector(Vector{Int32}(collect(1:1000)), Vector{Int32}(collect(5:5:5000)))
x = y = foo
x[1]
x[ [ 1 2 ] ]
x[ [ 1,  2 ] ]
exit()
using RLEVectors
foo = RLEVector(Vector{Int32}(collect(1:1000)), Vector{Int32}(collect(5:5:5000)))
x[ [ 1,  2 ] ]
x = y = foo
x[ [ 1,  2 ] ]
collect(x[ [ 1,  2 ] ])
disjoin(x, y)
            (runends, runvalues_x, runvalues_y) = disjoin(x, y)
runvalues_x + runvalues_y
x + y
timings
bdf
bdf
foo[ [1 3 4 12] ]
foo[ [1 3 4 12] ]
foo[ [1,  3, 4,  12] ]
timings[:add_two_rles] = @timeit foo + foo
searchsortedfirst
methods(searchsortedfirst)
max(5)
1 .< 5
all(1 .< 5)
exit()
max([1, 2, 3])
maximum([1, 2, 3])
exit()
Pkg.test("RLEVectors")
x[ [1, 2, 3]]
exit()
x[ [1,2,3] ]
exit()
x[ [1, 2, 3] ]
collect(x[ [1, 2, 3] ] )
x[1:end]
x
exit()
x[ [1, 2, 3] ]
searchsortedfirst( x.runends, 1 )
searchsortedfirst( x.runends, 2 )
searchsortedfirst( x.runends, 3 )
x[ [ 1, 2, 3] ]
exit()
x[ [1,2,3] ]
collect(x[ [1,2,3] ])
exit()
x[ [1,2,3] ]
collect(x[ [1,2,3] ])
exit()
exit()
x[ [1,2,3] ] 
exit()
exit()
x[ [1, 2, 3] ]
x[ [1, 2, 3] ]
exit()
x[ [1, 2, 3] ]
collect(x[ [1, 2, 3] ])
collect(x)[1, 2, 3]
collect(x)
(collect(x))[ [1, 2, 3] ]
(collect(x))[1, 2, 3]
collect(x)[ [1, 2, 3] ]
exit90
exit()
using RLEVectors
x = RLEVectors.RLEVector([1,2,3,4],[2,4,6,8])
x[ [1, 2, 3] ]
collect(x[ [1, 2, 3] ])
exit()
using RLEVectors
x[ [1, 2, 3] ]
x = RLEVectors.RLEVector([1,2,3,4],[2,4,6,8])
collect(x[ [1, 2, 3] ])
collect(x)
exit()
exit()
exit()
Pkg.test("RLEVectors")
exit()
Pkg.test("RLEVectors")
bdf
@code_warntype( ind2run(RLEVector, Integer))
foo
@code_warntype( ind2run(foo, 1) )
@code_warntype( ind2run(foo, 1:2) )
@code_warntype( ind2run(foo, [1, 2]) )
@code_warntype( ind2run(foo, 1) )
ind2run(RLEVector([3,3,4,4,5,5,6,6,7,7]),[3, 5, 6])
exit()
using RLEVectors
exit()
using RLEVectors
any([ 3, 4 ] .< 4)
exit90
exit()
exit90
exit()
exit()
exit()
bdf
size(bdf)
bdf[:,8:21]
@time widths(x)
@time widths(foo)
@time width(foo)
using RLEVectors
widths(foo)
widths(foo)
widths(foo)
@time widths(foo)
@time widths!(foo)
x = foo.runends; @time widths!()
x = foo.runends; @time widths!(x)
x = foo.runends; @time widths!(x)
@time widths(foo)
bdf[:,8:21]
bdf
timings
timings[1,10:21]
bdf
bdf[:,8:21]
bdf
?append
?append!
import Base.append!
x = RLEVector([1,1,2,2,3,3])
y = RLEVector([1,1,2,2,3,3])
append!(x,y)
append!(x,y)
x
x = RLEVector([1,1,2,2,3,3])
y = RLEVector([3,1,2,2,3,3])
append!(x,y)
collect(x)
exit()
