From 5dcc0dc54995c7daae4036fd87da870d9660da43 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Fri, 15 Dec 2023 11:09:21 +0000 Subject: [PATCH] Overload issparse for Julia v1.10 compatibality (#101) --- .gitignore | 1 + Project.toml | 13 +++++++++++-- ext/QuasiArraysSparseArraysExt.jl | 7 +++++++ src/QuasiArrays.jl | 5 +++++ test/runtests.jl | 4 +++- test/test_sparsequasi.jl | 5 +++++ 6 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 ext/QuasiArraysSparseArraysExt.jl create mode 100644 test/test_sparsequasi.jl diff --git a/.gitignore b/.gitignore index 86ff35b..d3257a8 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ deps/deps.jl .DS_Store Manifest.toml +.vscode/settings.json diff --git a/Project.toml b/Project.toml index b12c738..ca815a1 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "QuasiArrays" uuid = "c4ea9172-b204-11e9-377d-29865faadc5c" authors = ["Sheehan Olver "] -version = "0.11.3" +version = "0.11.4" [deps] ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" @@ -9,8 +9,16 @@ DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +[weakdeps] +SparseArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[extensions] +QuasiArraysSparseArraysExt = "SparseArrays" + + [compat] ArrayLayouts = "1" DomainSets = "0.6, 0.7" @@ -23,7 +31,8 @@ julia = "1.6" Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Base64", "IntervalSets", "Random", "Test"] +test = ["Base64", "IntervalSets", "Random", "SparseArrays", "Test"] diff --git a/ext/QuasiArraysSparseArraysExt.jl b/ext/QuasiArraysSparseArraysExt.jl new file mode 100644 index 0000000..bda0a37 --- /dev/null +++ b/ext/QuasiArraysSparseArraysExt.jl @@ -0,0 +1,7 @@ +module QuasiArraysSparseArraysExt + +using QuasiArrays, SparseArrays + +SparseArrays.issparse(::AbstractQuasiArray) = false + +end diff --git a/src/QuasiArrays.jl b/src/QuasiArrays.jl index 2904286..6d89998 100644 --- a/src/QuasiArrays.jl +++ b/src/QuasiArrays.jl @@ -126,4 +126,9 @@ function isapprox(x::AbstractQuasiArray, y::AbstractQuasiArray; end end +if !isdefined(Base, :get_extension) + include("../ext/QuasiArraysSparseArraysExt.jl") +end + + end diff --git a/test/runtests.jl b/test/runtests.jl index f8be304..3ecfe1c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -19,4 +19,6 @@ include("test_quasiconcat.jl") include("test_quasikron.jl") include("test_ldiv.jl") -include("test_quasilazy.jl") \ No newline at end of file +include("test_quasilazy.jl") + +include("test_sparsequasi.jl") \ No newline at end of file diff --git a/test/test_sparsequasi.jl b/test/test_sparsequasi.jl new file mode 100644 index 0000000..ebadd52 --- /dev/null +++ b/test/test_sparsequasi.jl @@ -0,0 +1,5 @@ +using QuasiArrays, SparseArrays + +@testset "sparse" begin + @test !issparse(Inclusion([0,1])) +end \ No newline at end of file