From b43422d970862fb3bbeccd8d8e099679c691c555 Mon Sep 17 00:00:00 2001 From: Jun Tian Date: Sat, 27 Nov 2021 12:20:10 +0800 Subject: [PATCH] fix #551 --- Project.toml | 2 +- src/CircularArrayBuffers.jl | 6 +++++- test/runtests.jl | 9 +++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 5d8c970..ec0b04a 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "CircularArrayBuffers" uuid = "9de3a189-e0c0-4e15-ba3b-b14b9fb0aec1" authors = ["Jun Tian and contributors"] -version = "0.1.3" +version = "0.1.4" [compat] julia = "1" diff --git a/src/CircularArrayBuffers.jl b/src/CircularArrayBuffers.jl index 97d83f2..0d49b0f 100644 --- a/src/CircularArrayBuffers.jl +++ b/src/CircularArrayBuffers.jl @@ -72,7 +72,11 @@ function Base.push!(cb::CircularArrayBuffer{T, N}, data) where {T,N} cb.nframes += 1 end if N == 1 - cb[cb.nframes] = data + if ndims(data) == 0 + cb[cb.nframes] = data[] + else + cb[cb.nframes] = data + end else cb[ntuple(_ -> (:), N - 1)..., cb.nframes] .= data end diff --git a/test/runtests.jl b/test/runtests.jl index a3e2779..bb03ebb 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -4,6 +4,15 @@ using Test @testset "CircularArrayBuffers.jl" begin A = ones(2, 2) C = ones(Float32, 2, 2) + + # https://github.com/JuliaReinforcementLearning/ReinforcementLearning.jl/issues/551 + @testset "1D with 0d data" begin + b = CircularArrayBuffer{Int}(3) + push!(b, zeros(Int, ())) + @test length(b) == 1 + @test b[1] == 0 + end + @testset "1D Int" begin b = CircularArrayBuffer{Int}(3)