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.
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 aniszero(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
ForwardDiffinto the dependency tree and define ugly methodsI 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 bringForwardDiffinto the tree. Is there some other generic comparison method inBaseor something thatForwardDiffcan add methods to that checks for zero values? Or is there some getter function that one can use to getForwardDiff.value(x)? I'm very happy to write a different check thaniszero---but I think it would be nice for the check to be possible without bringing the internal getters ofForwardDiff.jlinto scope.Excuse me if I'm using any incorrect terminology and thanks in advance for any thoughts you can share on this.