From 5003d683c55914d7c9d474efee1674a99476abff Mon Sep 17 00:00:00 2001 From: alecloudenback Date: Wed, 10 Aug 2022 21:59:20 -0500 Subject: [PATCH 1/2] On differing rate types, the type constraint was too narrow --- src/Rates.jl | 8 ++++---- test/Rates.jl | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Rates.jl b/src/Rates.jl index 702dc68..371b4cd 100644 --- a/src/Rates.jl +++ b/src/Rates.jl @@ -320,7 +320,7 @@ function Base.:+(a::Real, b::Rate{N,T}) where {N<:Real, T<:Periodic} return Periodic(b.value + a,b.compounding.frequency) end -function Base.:+(a::Rate{N,T},b::Rate{N,T}) where {N<:Real,T<:CompoundingFrequency} +function Base.:+(a::Rate{N,T},b::Rate{N,U}) where {N<:Real,T,U} a_rate = rate(a) b_rate = rate(convert(a.compounding,b)) r = Rate(a_rate + b_rate,a.compounding) @@ -359,7 +359,7 @@ end function Base.:-(a::Real, b::Rate{N,T}) where {N<:Real, T<:Periodic} return Periodic(a - b.value, b.compounding.frequency) end -function Base.:-(a::Rate{N,T},b::Rate{N,T}) where {N<:Real,T<:CompoundingFrequency} +function Base.:-(a::Rate{N,U},b::Rate{N,U}) where {N<:Real,T,U} a_rate = rate(a) b_rate = rate(convert(a.compounding,b)) r = Rate(a_rate - b_rate,a.compounding) @@ -424,7 +424,7 @@ julia> Yields.Periodic(0.03,100) < Yields.Continuous(0.03) true ``` """ -function Base.:<(a::Rate{N,T},b::Rate{N,U}) where {N<:Real,T<:CompoundingFrequency,U<:CompoundingFrequency} +function Base.:<(a::Rate{N,T},b::Rate{N,U}) where {N<:Real,T,U} bc = convert(a.compounding,b) return rate(a) < rate(bc) end @@ -441,7 +441,7 @@ julia> Yields.Periodic(0.03,100) > Yields.Continuous(0.03) false ``` """ -function Base.:>(a::Rate{N,T},b::Rate{N,U}) where {N<:Real,T<:CompoundingFrequency,U<:CompoundingFrequency} +function Base.:>(a::Rate{N,T},b::Rate{N,U}) where {N<:Real,T,U} bc = convert(a.compounding,b) return rate(a) > rate(bc) end \ No newline at end of file diff --git a/test/Rates.jl b/test/Rates.jl index 20960a5..67b6ab8 100644 --- a/test/Rates.jl +++ b/test/Rates.jl @@ -118,6 +118,9 @@ @test p(a) + b ≈ Periodic(0.05,1) @test a + p(b) ≈ Periodic(0.05,1) + + @test p(a) + c(b) ≈ p(a) + Periodic(1)(c(b)) + @test c(a) + p(b) ≈ c(a) + Continuous()(p(b)) end @testset "multiplication" begin From 211034eec5c4ea8ff4bb0f9f633579d2040ad4e9 Mon Sep 17 00:00:00 2001 From: alecloudenback Date: Wed, 10 Aug 2022 22:05:24 -0500 Subject: [PATCH 2/2] remove manifest --- docs/Manifest.toml | 100 --------------------------------------------- 1 file changed, 100 deletions(-) delete mode 100644 docs/Manifest.toml diff --git a/docs/Manifest.toml b/docs/Manifest.toml deleted file mode 100644 index 921c223..0000000 --- a/docs/Manifest.toml +++ /dev/null @@ -1,100 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.7.0" -manifest_format = "2.0" - -[[deps.ANSIColoredPrinters]] -git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" -uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" -version = "0.0.1" - -[[deps.ActuaryCore]] -path = ".." -uuid = "b9b1ffdd-6612-4b69-8227-7663be06e089" -version = "0.1.0" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.6" - -[[deps.Documenter]] -deps = ["ANSIColoredPrinters", "Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] -git-tree-sha1 = "f7809f532671564e48cd81627ddcfb1ba670f87d" -uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "0.27.19" - -[[deps.IOCapture]] -deps = ["Logging", "Random"] -git-tree-sha1 = "f7be53659ab06ddc986428d3a9dcc95f6fa6705a" -uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.2" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.3" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" - -[[deps.Parsers]] -deps = ["Dates"] -git-tree-sha1 = "0044b23da09b5608b4ecacb4e5e6c6332f833a7e" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.3.2" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"