From 78ed98dcd6fa086eb06dde6d08135c98ec428f87 Mon Sep 17 00:00:00 2001 From: Tianyi Pu <912396513@qq.com> Date: Fri, 16 Feb 2024 10:51:56 +0000 Subject: [PATCH 1/3] Update quasifill.jl --- src/quasifill.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/quasifill.jl b/src/quasifill.jl index e3ae193..e4b5f84 100644 --- a/src/quasifill.jl +++ b/src/quasifill.jl @@ -261,9 +261,9 @@ sum(x::AbstractQuasiFill) = getindex_value(x)*measure(axes(x,1)) sum(x::QuasiZeros) = getindex_value(x) # define `sum(::Callable, ::AbstractQuasiFill)` to avoid method ambiguity errors on Julia 1.0 -sum(f, x::AbstractQuasiFill) = _sum(f, x) -sum(f::Base.Callable, x::AbstractQuasiFill) = _sum(f, x) -_sum(f, x::AbstractQuasiFill) = measure(x) * f(getindex_value(x)) +sum(f, x::AbstractQuasiFill) = _sum(f, x, :) +sum(f::Base.Callable, x::AbstractQuasiFill) = _sum(f, x, :) +_sum(f, x::AbstractQuasiFill, ::Colon) = measure(x) * f(getindex_value(x)) ######### From 647bc690144c99426466642b175ac11b87251b94 Mon Sep 17 00:00:00 2001 From: Tianyi Pu <912396513@qq.com> Date: Tue, 29 Oct 2024 15:50:12 +0000 Subject: [PATCH 2/3] Update test_quasifill.jl --- test/test_quasifill.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test_quasifill.jl b/test/test_quasifill.jl index f50ad5f..4035f82 100644 --- a/test/test_quasifill.jl +++ b/test/test_quasifill.jl @@ -370,10 +370,11 @@ import QuasiArrays: AbstractQuasiFill @test zero(QuasiFill(0.5, ax, ax)) == QuasiZeros(ax,ax) end - @testset "maximum/minimum/svd/sort" begin + @testset "maximum/minimum/svd/sort/sum" begin ax = [1,3,4] @test maximum(QuasiFill(1, ax)) == minimum(QuasiFill(1, ax)) == 1 @test sort(QuasiOnes(ax)) == sort!(QuasiOnes(ax)) + @test sum(QuasiFill(1, ax)) == sum(QuasiOnes(ax)) == 3 end From 6cecd2c40c827ccff58ce56a157d9baf9c18a555 Mon Sep 17 00:00:00 2001 From: Tianyi Pu <912396513@qq.com> Date: Tue, 29 Oct 2024 19:53:26 +0000 Subject: [PATCH 3/3] Update test_quasifill.jl --- test/test_quasifill.jl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/test_quasifill.jl b/test/test_quasifill.jl index 4035f82..30325c4 100644 --- a/test/test_quasifill.jl +++ b/test/test_quasifill.jl @@ -370,11 +370,12 @@ import QuasiArrays: AbstractQuasiFill @test zero(QuasiFill(0.5, ax, ax)) == QuasiZeros(ax,ax) end - @testset "maximum/minimum/svd/sort/sum" begin + @testset "maximum/minimum/sort/sum" begin ax = [1,3,4] @test maximum(QuasiFill(1, ax)) == minimum(QuasiFill(1, ax)) == 1 @test sort(QuasiOnes(ax)) == sort!(QuasiOnes(ax)) @test sum(QuasiFill(1, ax)) == sum(QuasiOnes(ax)) == 3 + @test sum(exp, QuasiFill(0, ax)) == sum(exp, QuasiZeros(ax)) == 3 end