Description
Like a couple other people here, I am experiencing some issues with #481. My issue is in BesselK.jl
, where I have some very specific methods that branch on an iszero(x)
that were broken (for example).
I understand the logic of the change and clearly an argument can be made for it, but it is disappointing that the only solution I can come up with now is to bring ForwardDiff
into the dependency tree and define ugly methods
_iszero(x) = iszero(x)
_iszero(x::ForwardDiff.Dual) = _iszero(ForwardDiff.value(x))
I am sure that it's too late to argue for just reverting #481, but it would be nice if there were some way to check that ForwardDiff.value(x)
is zero without having to bring ForwardDiff
into the tree. Is there some other generic comparison method in Base
or something that ForwardDiff
can add methods to that checks for zero values? Or is there some getter function that one can use to get ForwardDiff.value(x)
? I'm very happy to write a different check than iszero
---but I think it would be nice for the check to be possible without bringing the internal getters of ForwardDiff.jl
into scope.
Excuse me if I'm using any incorrect terminology and thanks in advance for any thoughts you can share on this.