Skip to content

Commit c6d3ed6

Browse files
committed
fix BlockedArray
1 parent 76f578a commit c6d3ed6

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

src/blockarray.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ end
455455

456456
# specific 0-dim
457457
@inline Base.similar(B::BlockArray{<:Any,0}, ::Type{T}) where {T} = BlockArray(similar(only(blocks(B)), T), ())
458-
@inline Base.similar(::BlockArray, ::Type{T}, ::Tuple{}) where {T} = BlockArray(Array{T}(undef))
458+
@inline Base.similar(::BlockArray, ::Type{T}, ::Tuple{}) where {T} = BlockArray{T}(undef)
459459

460460
const OffsetAxis = Union{Integer, UnitRange, Base.OneTo, Base.IdentityUnitRange}
461461

src/blockedarray.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ function Base.similar(block_array::BlockedArray{T,N}, ::Type{T2}) where {T,N,T2}
204204
end
205205

206206
# specific zero dim
207-
Base.similar(::BlockedArray{<:Any,0}, ::Type{T}, ::Tuple{}) where {T} = BlockedArray(Array{T}(undef))
207+
Base.similar(::BlockedArray, ::Type{T}, ::Tuple{}) where {T} = BlockedArray{T}(undef)
208208

209209
to_axes(r::AbstractUnitRange) = r
210210
to_axes(n::Integer) = Base.oneto(n)

test/test_blockarrays.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ end
325325

326326
@testset "zero dim" begin
327327
zerodim = ones()
328+
r = blockedrange([1])
328329
@test view(zerodim) isa AbstractArray{Float64, 0} # check no type-piracy
329330

330331
ret = BlockArray{Float64}(undef)
@@ -352,7 +353,8 @@ end
352353
@test similar(ret) isa BlockArray{Float64, 0}
353354
@test similar(ret, Float32) isa BlockArray{Float32, 0}
354355
@test similar(ret, Float32, ()) isa BlockArray{Float32, 0}
355-
@test similar(ret, Float32, (blockedrange([1]),)) isa BlockVector{Float32}
356+
@test similar(ret, Float32, (r,)) isa BlockVector{Float32}
357+
@test similar(BlockArray(zeros(r)), Float32, ()) isa BlockArray{Float32, 0}
356358

357359
ret = BlockArray(zeros(1,1))
358360
@test reshape(ret, ()) isa AbstractBlockArray{Float64, 0} # may be BlockedArray
@@ -382,6 +384,7 @@ end
382384
@test similar(ret, Float32) isa BlockedArray{Float32, 0}
383385
@test similar(ret, Float32, ()) isa BlockedArray{Float32, 0}
384386
@test similar(ret, Float32, (blockedrange([1]),)) isa BlockedVector{Float32}
387+
@test similar(zeros(r), Float32, ()) isa BlockedArray{Float32, 0}
385388

386389
ret = BlockedArray(zeros(1,1))
387390
@test reshape(ret, ()) isa BlockedArray{Float64, 0}

0 commit comments

Comments
 (0)