Skip to content

Commit 8f6c78a

Browse files
authored
Merge branch 'master' into patch-2
2 parents c16c33b + e669bd4 commit 8f6c78a

File tree

7 files changed

+28
-9
lines changed

7 files changed

+28
-9
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ jobs:
1212
version:
1313
- '1.6'
1414
- '1'
15+
- '^1.11.0-0'
1516
os:
1617
- ubuntu-latest
1718
- macOS-latest

Project.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "QuasiArrays"
22
uuid = "c4ea9172-b204-11e9-377d-29865faadc5c"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "0.11.4"
4+
version = "0.11.7"
55

66
[deps]
77
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"
@@ -22,10 +22,11 @@ QuasiArraysSparseArraysExt = "SparseArrays"
2222

2323
[compat]
2424
ArrayLayouts = "1"
25-
DomainSets = "0.6, 0.7"
25+
EltypeExtensions = "0.0.4"
26+
DomainSets = "0.7.6"
2627
EltypeExtensions = "0.0.4"
2728
FillArrays = "1"
28-
LazyArrays = "1.2"
29+
LazyArrays = "1.2, 2"
2930
StaticArrays = "1"
3031
julia = "1.6"
3132

src/calculus.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ _sum(V::AbstractQuasiArray, dims) = sum_layout(MemoryLayout(V), V, dims)
77
_sum(V::AbstractQuasiArray, ::Colon) = sum_layout(MemoryLayout(V), V, :)
88

99
_cumsum(A, dims) = cumsum_layout(MemoryLayout(A), A, dims)
10-
cumsum(A::AbstractQuasiArray; dims::Integer) = _cumsum(A, dims)
11-
cumsum(x::AbstractQuasiVector) = cumsum(x, dims=1)
10+
cumsum(A::AbstractQuasiArray; dims::Integer=1) = _cumsum(A, dims)
1211

1312
# sum is equivalent to hitting by ones(n) on the left or right
1413

src/indices.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ union(x::Inclusion...) = Inclusion{mapreduce(eltype,promote_type,x)}(_union(map(
210210

211211
checkindex(::Type{Bool}, inds::Inclusion{T}, i::T) where T = i inds
212212
checkindex(::Type{Bool}, inds::Inclusion, i) = i inds
213+
checkindex(::Type{Bool}, inds::Inclusion{T}, i::T) where T<:AbstractArray = i inds
214+
checkindex(::Type{Bool}, inds::Inclusion, i::AbstractArray) = i inds
213215
checkindex(::Type{Bool}, inds::Inclusion, ::Colon) = true
214216
checkindex(::Type{Bool}, inds::Inclusion, ::Inclusion) = true
215217

src/subquasiarray.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,11 @@ pointer(V::SubQuasiArray, i::Int) = _pointer(V, i)
298298
_pointer(V::SubQuasiArray{<:Any,1}, i::Int) = pointer(V, (i,))
299299
_pointer(V::SubQuasiArray, i::Int) = pointer(V, Base._ind2sub(axes(V), i))
300300

301+
convert(::Type{AbstractQuasiArray{T}}, V::SubQuasiArray{T}) where T = V
302+
convert(::Type{AbstractQuasiArray{T,N}}, V::SubQuasiArray{T,N}) where {T,N} = V
303+
convert(::Type{AbstractQuasiArray{T}}, V::SubQuasiArray) where T = SubQuasiArray(convert(AbstractQuasiArray{T}, parent(V)), V.indices)
304+
convert(::Type{AbstractQuasiArray{T,N}}, V::SubQuasiArray{<:Any,N}) where {T,N} = convert(AbstractQuasiArray{T}, V)
305+
301306

302307
# indices are taken from the range/vector
303308
# Since bounds-checking is performance-critical and uses

test/test_calculus.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ using QuasiArrays, IntervalSets, Test
1919
@test sum(ApplyQuasiArray(*, A, B); dims=2) sum(A*B; dims=2)
2020

2121
@test sum(b) last(cumsum(b)) cumsum(b)[2]
22-
@test cumsum(B; dims=1)[2:2,:] sum(B; dims=1)
22+
@test cumsum(B)[2:2,:] cumsum(B; dims=1)[2:2,:] sum(B; dims=1)
2323
@test cumsum(B; dims=2)[:,0.5:0.5] sum(B; dims=2)
2424

2525
@test cumsum(ApplyQuasiArray(*, A, b)) cumsum(A*b)

test/test_quasisubarray.jl

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,19 @@ using QuasiArrays, Base64, Test
315315
@test view(A,:,:) == view(A,:,:)
316316
@test A view(A,Inclusion(0:0.5:0.5),:)
317317
@test view(A,Inclusion(0:0.5:0.5),:) A
318-
@test A  view(B,Inclusion(0:0.5:1),:)
319-
@test view(B,Inclusion(0:0.5:1),:)  A
320-
@test view(B,Inclusion(0:0.5:1),:)  view(A,Inclusion(0:0.5:0.5),:)
318+
@test A view(B,Inclusion(0:0.5:1),:)
319+
@test view(B,Inclusion(0:0.5:1),:) A
320+
@test view(B,Inclusion(0:0.5:1),:) view(A,Inclusion(0:0.5:0.5),:)
321+
end
322+
323+
@testset "SubQuasiArray convert" begin
324+
a = QuasiVector(randn(3), 0:0.5:1)
325+
v = view(a, :)
326+
@test convert(AbstractQuasiVector{Float64}, v) v
327+
@test convert(AbstractQuasiVector{ComplexF64}, v) isa SubQuasiArray{ComplexF64}
328+
@test convert(AbstractQuasiVector{ComplexF64}, v) == v
329+
@test convert(AbstractQuasiArray{Float64}, v) v
330+
@test convert(AbstractQuasiArray{ComplexF64}, v) isa SubQuasiArray{ComplexF64}
331+
@test convert(AbstractQuasiArray{ComplexF64}, v) == v
321332
end
322333
end

0 commit comments

Comments
 (0)