diff --git a/src/pseudo_blockarray.jl b/src/pseudo_blockarray.jl index 81f6a250..d30f096b 100644 --- a/src/pseudo_blockarray.jl +++ b/src/pseudo_blockarray.jl @@ -348,7 +348,7 @@ rowsupport(A::PseudoBlockArray, j) = rowsupport(A.blocks, j) ### for op in (:zeros, :ones) - @eval $op(::Type{T}, axs::Tuple{BlockedUnitRange,Vararg{Any}}) where T = PseudoBlockArray($op(T, map(length,axs)...), axs) + @eval $op(::Type{T}, axs::Tuple{BlockedUnitRange,Vararg{Union{Integer,AbstractUnitRange}}}) where T = PseudoBlockArray($op(T, map(length,axs)...), axs) end Base.replace_in_print_matrix(f::PseudoBlockVecOrMat, i::Integer, j::Integer, s::AbstractString) = diff --git a/test/test_blockarrays.jl b/test/test_blockarrays.jl index 2a66d10e..8fb46c51 100644 --- a/test/test_blockarrays.jl +++ b/test/test_blockarrays.jl @@ -110,6 +110,16 @@ end @test blocksizes(B) == ([2,1], [2,1]) @test B == reshape([1:9;],3,3) @test blocks(B) isa Matrix{Matrix{Int}} + + @testset "zeros/ones" begin + br = blockedrange(2:3) + z = zeros(Float64, br) + @test all(iszero, z) + @test axes(z) == (br,) + o = ones(Float64, br) + @test all(isone, o) + @test axes(o) == (br,) + end end @testset "PseudoBlockArray constructors" begin