> De : Tanguy Yannick [mailto:yannick.tan...@cnes.fr] > About the default value (1e-14), I know the tolerance is case- > dependant, but some times, we don't precisely know the order of > magnitude (ex : jacobians matrices) and it's quite practical to have a > default value.
Hi, A point of the discussion with Gilles in the MATH-863 (new Quaternion class) is about this magic 1E-14. ;) Consider the following methods: public Quaternion normalize() { final double norm = getNorm(); if (norm >= Precision.SAFE_MIN) { return new Quaternion(q0 / norm, q1 / norm, q2 / norm, q3 / norm); } else { throw new ZeroException(); } } public boolean isUnitQuaternion() { final double norm = getNorm(); if (Precision.equals(norm, 1.0, Precision.EPSILON)) { return true; } else { return false; } } => There are many cases where myQuaternion.normalize().isUnitQuaternion() returns "false". The Precision.EPSILON is too small. That's why we use this "historical" arbitrary tolerance of 1E-14. Do you think that adding a tolerance parameter in this method isUnitQuaternion() (and in its neighboors) is a good idea ? Julien --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org