Repository navigation
Testing new release candidate for approx #1581
Description
Activity
Congratulations on the upcoming release! Do you have release notes or a changeling that I can look through to see what's different?
So far I have not come around to provide a changelog. Since this has been asked frequently I will aim to provide one and keep you updated.
I have now added a
CHANGELOGmdto the repository.
https://github.com/brendanzab/approx/blob/master/CHANGELOG.mdAre you in principle interested in implementing the traits
AbsDiffEq,RelativeEqandULPsdirectly for theArrayRef<..>struct itself? This could be done by putting it into theapproxcrate with a very loose dependency such asndarray >= "0.15.0"which would provide better compatibility for users. I saw that there are a few methods which are already implemented onArrayRef
https://docs.rs/ndarray/latest/ndarray/struct.ArrayRef.html#method.abs_diff_eqThanks for the changelog! These traits actually are already implemented on
ArrayRef; the link you provided is a shortcut method we provide for ease-of-use.As best I can tell, 0.6.0-rc2 works well for us.
Reacted by Jonas PleyerThanks for testing the new release. I would like to leave this issue open since we have one more bugfix which might introduce a breaking change. I will keep you updated.
Reacted by akern40Hi @akern40 the proposed design for
approx 0.6requires an additional trait function to specify the default epsilon value forrelative_eqcomparisons.This would require small code additions in the form of:
fn default_relative_epsilon() -> T::Epsilon { T::default_relative_epsilon() }
within (only) the
RelativeEqtrait.The new default values will require a change in
src/array_approx.rs. But my question is the following: Do your foresee any problems related to this breaking API? I want to be extra careful when making this change. Hence I am asking in advance.Addendum: I implemented the necessary changes in
jonaspleyer@f265e8e and jonaspleyer@cb990a4I @jonaspleyer, sorry for the delayed response, it's been a while since I was able to look at
ndarraystuff. I took a quick look over the explanations from the linkedapproxdiscussions, seems like the core issue is that there are some implantation problems with small numbers, and the proposed solution is to make a breaking change. As best I can tell, you're adding a default epsilon trait so that there is an escape hatch from the fix; it will default to the new fix, but users can also add an argument to provide their own epsilon values and therefore get old behavior back?If that is correct, then I think this is a clear change, and when 0.6.0 comes out I'm good with
ndarraybumping and doing this.
Hi everyone,
I have released
0.6.0-rc1of theapproxcrate. It is the first release after 4 years and contains several new features while still utilizing the same test-suite. In particular I am aiming at full backwards-compatibility. Therefore, I would love to get some feedback, even if it just is that the new version still works withndarray. Feel free to let me know who I should also address within thendarrayecosystem.I have just cloned the repo and tested it with the new
approxversion and it seems to work flawlessly.I am also open to feature suggestions and other feedback.