While DenseBase::isApprox already takes a const RealScalar& argument as the prec argument, some classes take a RealScalar by value. This can cause alignment issues similar to http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1006, as well as being potentially expensive for certain custom scalar types.
Specifically, it looks like the following classes are affected:
./Eigen/src/Geometry/ParametrizedLine.h: bool isApprox(const ParametrizedLine& other, typename NumTraits<Scalar>::Real prec = NumTraits<Scalar>::dummy_precision()) const
./Eigen/src/Geometry/Translation.h: bool isApprox(const Translation& other, typename NumTraits<Scalar>::Real prec = NumTraits<Scalar>::dummy_precision()) const
./unsupported/Eigen/AlignedVector3: inline bool isApprox(const MatrixBase<Derived>& other, RealScalar eps=NumTraits<Scalar>::dummy_precision()) const
Thanks for the report, I found a few more:
Awesome, thank you!
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1156.