You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`CircularArrayBuffers.jl` is a small package to wrap an `AbstractArray` as a buffer along the last dimension. The main benefit compared to [`CircularBuffer`](https://juliacollections.github.io/DataStructures.jl/latest/circ_buffer/) in [`DataStructures.jl`](https://github.com/JuliaCollections/DataStructures.jl) is that the view of consecutive elements is a `SubArray`.
6
+
7
+
## Usage
8
+
9
+
```julia
10
+
julia>using CircularArrayBuffers
11
+
12
+
julia>names(CircularArrayBuffers)
13
+
5-element Array{Symbol,1}:
14
+
:CircularArrayBuffer
15
+
:CircularArrayBuffers
16
+
:CircularVectorBuffer
17
+
:capacity
18
+
:isfull
19
+
20
+
julia> a =CircularArrayBuffer(rand(2,3))
21
+
2×3 CircularArrayBuffer{Float64,2}:
22
+
0.05107140.02607380.0245707
23
+
0.8562570.5716430.0189365
24
+
25
+
julia> b =CircularArrayBuffer{Float64}(2,3)
26
+
2×0 CircularArrayBuffer{Float64,2}
27
+
28
+
julia>push!(b, rand(2))
29
+
2×1 CircularArrayBuffer{Float64,2}:
30
+
0.4215856115651755
31
+
0.5485806794787502
32
+
33
+
julia>push!(b, rand(2))
34
+
2×2 CircularArrayBuffer{Float64,2}:
35
+
0.4215860.640501
36
+
0.5485810.774729
37
+
38
+
julia>push!(b, rand(2))
39
+
2×3 CircularArrayBuffer{Float64,2}:
40
+
0.4215860.6405010.653054
41
+
0.5485810.7747290.902611
42
+
43
+
julia>push!(b, rand(2))
44
+
2×3 CircularArrayBuffer{Float64,2}:
45
+
0.6405010.6530540.640373
46
+
0.7747290.9026110.227435
47
+
48
+
julia>pop!(b)
49
+
2-element view(::CircularArrayBuffer{Float64,2}, :, 3) with eltype Float64:
0 commit comments