From 7c3d74b0829df55d6625bb9ea47bd1fd1b3f301f Mon Sep 17 00:00:00 2001 From: Alexander Voigt <Expander@users.noreply.github.com> Date: Mon, 2 Dec 2024 07:53:04 +0100 Subject: [PATCH] Feature: move missing definitions and tests to separate files (#32) for clarity --- src/Li.jl | 4 ---- src/Li0.jl | 2 -- src/Li1.jl | 4 ---- src/Li2.jl | 4 ---- src/Li3.jl | 4 ---- src/Li4.jl | 4 ---- src/Li5.jl | 2 -- src/Li6.jl | 2 -- src/Missing.jl | 7 +++++++ src/PolyLog.jl | 1 + test/Li.jl | 3 --- test/Li0.jl | 2 -- test/Li1.jl | 3 --- test/Li2.jl | 3 --- test/Li3.jl | 3 --- test/Li4.jl | 3 --- test/Li5.jl | 2 -- test/Li6.jl | 2 -- test/Missing.jl | 19 +++++++++++++++++++ test/runtests.jl | 1 + 20 files changed, 28 insertions(+), 47 deletions(-) create mode 100644 src/Missing.jl create mode 100644 test/Missing.jl diff --git a/src/Li.jl b/src/Li.jl index 5c4343b..7e9be37 100644 --- a/src/Li.jl +++ b/src/Li.jl @@ -76,8 +76,6 @@ function _reli(n::Integer, x::Real) end end -reli(::Integer, ::Missing) = missing - """ li(n::Integer, z::Complex) @@ -161,8 +159,6 @@ function _li(n::Integer, z::Complex{T})::Complex{T} where T end end -li(::Integer, ::Missing) = missing - # returns -(-1)^n of type T function oddsgn(n, ::Type{T})::T where T isodd(n) ? one(T) : -one(T) diff --git a/src/Li0.jl b/src/Li0.jl index 374292a..e000b10 100644 --- a/src/Li0.jl +++ b/src/Li0.jl @@ -25,5 +25,3 @@ function li0(z::Number) z/(1 - z) end end - -li0(::Missing) = missing diff --git a/src/Li1.jl b/src/Li1.jl index 586bb58..22a420e 100644 --- a/src/Li1.jl +++ b/src/Li1.jl @@ -30,8 +30,6 @@ function reli1(x::Real) end end -reli1(::Missing) = missing - """ li1(z::Complex) @@ -68,5 +66,3 @@ function li1(z::Complex) end li1(z::Real) = li1(Complex(z)) - -li1(::Missing) = missing diff --git a/src/Li2.jl b/src/Li2.jl index bb980c4..bba31b6 100644 --- a/src/Li2.jl +++ b/src/Li2.jl @@ -204,8 +204,6 @@ function _reli2(x::T)::T where T end end -reli2(::Missing) = missing - """ li2(z::Complex) @@ -303,5 +301,3 @@ function _li2(z::Complex{BigFloat})::Complex{BigFloat} end end end - -li2(::Missing) = missing diff --git a/src/Li3.jl b/src/Li3.jl index 2ede82a..171ce57 100644 --- a/src/Li3.jl +++ b/src/Li3.jl @@ -103,8 +103,6 @@ function _reli3(x::Float64)::Float64 end end -reli3(::Missing) = missing - """ li3(z::Complex) @@ -202,5 +200,3 @@ function _li3(z::ComplexF64)::ComplexF64 end end end - -li3(::Missing) = missing diff --git a/src/Li4.jl b/src/Li4.jl index c571e3f..e7625e5 100644 --- a/src/Li4.jl +++ b/src/Li4.jl @@ -139,8 +139,6 @@ function _reli4(x::Float64)::Float64 end end -reli4(::Missing) = missing - """ li4(z::Complex) @@ -246,5 +244,3 @@ function _li4(z::ComplexF64)::ComplexF64 end end end - -li4(::Missing) = missing diff --git a/src/Li5.jl b/src/Li5.jl index 4a92457..9c020b7 100644 --- a/src/Li5.jl +++ b/src/Li5.jl @@ -97,5 +97,3 @@ function _li5(z::ComplexF64)::ComplexF64 u8*u8*(B[16] + u*B[17] + u2*(B[18] + u*B[19])) end end - -li5(::Missing) = missing diff --git a/src/Li6.jl b/src/Li6.jl index ae9f006..fcb3016 100644 --- a/src/Li6.jl +++ b/src/Li6.jl @@ -96,5 +96,3 @@ function _li6(z::ComplexF64)::ComplexF64 ) end end - -li6(::Missing) = missing diff --git a/src/Missing.jl b/src/Missing.jl new file mode 100644 index 0000000..5d333d3 --- /dev/null +++ b/src/Missing.jl @@ -0,0 +1,7 @@ +for f in (:li0, :li1, :li2, :li3, :li4, :li5, :li6, :reli1, :reli2, :reli3, :reli4) + @eval $(f)(::Missing) = missing +end + +for f in (:li, :reli) + @eval $(f)(::Integer, ::Missing) = missing +end diff --git a/src/PolyLog.jl b/src/PolyLog.jl index 2c24335..f6233ae 100644 --- a/src/PolyLog.jl +++ b/src/PolyLog.jl @@ -14,6 +14,7 @@ include("Li5.jl") include("Li6.jl") include("Li.jl") include("Log.jl") +include("Missing.jl") include("Types.jl") include("Zeta.jl") diff --git a/test/Li.jl b/test/Li.jl index c92a0b5..25f5e99 100644 --- a/test/Li.jl +++ b/test/Li.jl @@ -29,9 +29,6 @@ end for ni in nis n = ni.n - @test ismissing(PolyLog.li(n, missing)) - @test ismissing(PolyLog.reli(n, missing)) - complex_data = read_from(joinpath(@__DIR__, "data", "Li$(n).txt"), BigFloat) real_data = filter_real(complex_data) diff --git a/test/Li0.jl b/test/Li0.jl index 44ccac6..1929ab9 100644 --- a/test/Li0.jl +++ b/test/Li0.jl @@ -1,6 +1,4 @@ @testset "li0" begin - @test ismissing(PolyLog.li0(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li0.txt"), BigFloat) real_data = filter_real(cmpl_data) diff --git a/test/Li1.jl b/test/Li1.jl index 9954d4a..ce2f629 100644 --- a/test/Li1.jl +++ b/test/Li1.jl @@ -1,7 +1,4 @@ @testset "li1" begin - @test ismissing(PolyLog.li1(missing)) - @test ismissing(PolyLog.reli1(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li1.txt"), BigFloat) real_data = filter_real(cmpl_data) diff --git a/test/Li2.jl b/test/Li2.jl index 1aca89a..c381efc 100644 --- a/test/Li2.jl +++ b/test/Li2.jl @@ -1,7 +1,4 @@ @testset "li2" begin - @test ismissing(PolyLog.li2(missing)) - @test ismissing(PolyLog.reli2(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li2.txt"), BigFloat) real_data = filter_real(cmpl_data) diff --git a/test/Li3.jl b/test/Li3.jl index 0ae7111..e57fc0d 100644 --- a/test/Li3.jl +++ b/test/Li3.jl @@ -1,7 +1,4 @@ @testset "li3" begin - @test ismissing(PolyLog.li3(missing)) - @test ismissing(PolyLog.reli3(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li3.txt"), BigFloat) real_data = filter_real(cmpl_data) diff --git a/test/Li4.jl b/test/Li4.jl index 32392a4..2c6db93 100644 --- a/test/Li4.jl +++ b/test/Li4.jl @@ -1,7 +1,4 @@ @testset "li4" begin - @test ismissing(PolyLog.li4(missing)) - @test ismissing(PolyLog.reli4(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li4.txt"), BigFloat) real_data = filter_real(cmpl_data) diff --git a/test/Li5.jl b/test/Li5.jl index e422af9..13d43c5 100644 --- a/test/Li5.jl +++ b/test/Li5.jl @@ -1,6 +1,4 @@ @testset "li5" begin - @test ismissing(PolyLog.li5(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li5.txt"), BigFloat) test_function_on_data(PolyLog.li5, map(ComplexF64, cmpl_data), 1e-14, 1e-14) diff --git a/test/Li6.jl b/test/Li6.jl index 143e142..3a5d574 100644 --- a/test/Li6.jl +++ b/test/Li6.jl @@ -1,6 +1,4 @@ @testset "li6" begin - @test ismissing(PolyLog.li6(missing)) - cmpl_data = read_from(joinpath(@__DIR__, "data", "Li6.txt"), BigFloat) test_function_on_data(PolyLog.li6, map(ComplexF64, cmpl_data), 1e-14, 1e-14) diff --git a/test/Missing.jl b/test/Missing.jl new file mode 100644 index 0000000..c7f0bf1 --- /dev/null +++ b/test/Missing.jl @@ -0,0 +1,19 @@ +@testset "Missing" begin + @test ismissing(PolyLog.li0(missing)) + @test ismissing(PolyLog.li1(missing)) + @test ismissing(PolyLog.li2(missing)) + @test ismissing(PolyLog.li3(missing)) + @test ismissing(PolyLog.li4(missing)) + @test ismissing(PolyLog.li5(missing)) + @test ismissing(PolyLog.li6(missing)) + + @test ismissing(PolyLog.reli1(missing)) + @test ismissing(PolyLog.reli2(missing)) + @test ismissing(PolyLog.reli3(missing)) + @test ismissing(PolyLog.reli4(missing)) + + for n in -16:16 + @test ismissing(PolyLog.li(n, missing)) + @test ismissing(PolyLog.reli(n, missing)) + end +end diff --git a/test/runtests.jl b/test/runtests.jl index 57407dc..3740ffd 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -21,4 +21,5 @@ include("Li5.jl") include("Li6.jl") include("Li.jl") include("Log.jl") +include("Missing.jl") include("Zeta.jl")