diff --git a/Project.toml b/Project.toml index 883a90f..6d6c83e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "InverseFunctions" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.11" +version = "0.1.12" [deps] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/src/inverse.jl b/src/inverse.jl index 624fd9f..3f5ccbf 100644 --- a/src/inverse.jl +++ b/src/inverse.jl @@ -161,4 +161,7 @@ inverse(f::Base.Fix2{typeof(invdivrem)}) = Base.Fix2(divrem, f.x) inverse(f::Base.Fix2{typeof(fldmod)}) = Base.Fix2(invfldmod, f.x) inverse(f::Base.Fix2{typeof(invfldmod)}) = Base.Fix2(fldmod, f.x) +inverse(::typeof(reim)) = Base.splat(complex) +inverse(::typeof(Base.splat(complex))) = reim + inverse(::typeof(reverse)) = reverse diff --git a/test/test_inverse.jl b/test/test_inverse.jl index 1f0f2e6..8d00796 100644 --- a/test/test_inverse.jl +++ b/test/test_inverse.jl @@ -90,6 +90,10 @@ InverseFunctions.inverse(f::Bar) = Bar(inv(f.A)) InverseFunctions.test_inverse(inverse(Base.Fix2(divrem, 5)), (-3, -2); compare=(==)) InverseFunctions.test_inverse(inverse(Base.Fix2(fldmod, 5)), (-3, 2); compare=(==)) + InverseFunctions.test_inverse(reim, -3; compare=(==)) + InverseFunctions.test_inverse(reim, -3+2im; compare=(==)) + InverseFunctions.test_inverse(Base.splat(complex), (-3, 2); compare=(==)) + A = rand(5, 5) for f in ( identity, inv, adjoint, transpose,