mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fix flaky tests: add iteration guards, yield in busy-waits, cap thread count
libeigen/eigen!2208 Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
This commit is contained in:
@@ -52,13 +52,11 @@ void stable_norm(const MatrixType& m) {
|
||||
Index rows = m.rows();
|
||||
Index cols = m.cols();
|
||||
|
||||
// get a non-zero random factor
|
||||
Scalar factor = internal::random<Scalar>();
|
||||
while (numext::abs2(factor) < RealScalar(1e-4)) factor = internal::random<Scalar>();
|
||||
// Get a random factor bounded away from zero: |factor| >= 0.1.
|
||||
Scalar factor = internal::random<Scalar>(Scalar(RealScalar(0.1)), Scalar(RealScalar(1)));
|
||||
Scalar big = factor * ((std::numeric_limits<RealScalar>::max)() * RealScalar(1e-4));
|
||||
|
||||
factor = internal::random<Scalar>();
|
||||
while (numext::abs2(factor) < RealScalar(1e-4)) factor = internal::random<Scalar>();
|
||||
factor = internal::random<Scalar>(Scalar(RealScalar(0.1)), Scalar(RealScalar(1)));
|
||||
Scalar small = factor * ((std::numeric_limits<RealScalar>::min)() * RealScalar(1e4));
|
||||
|
||||
Scalar one(1);
|
||||
@@ -217,12 +215,11 @@ void test_empty() {
|
||||
template <typename Scalar>
|
||||
void test_hypot() {
|
||||
typedef typename NumTraits<Scalar>::Real RealScalar;
|
||||
Scalar factor = internal::random<Scalar>();
|
||||
while (numext::abs2(factor) < RealScalar(1e-4)) factor = internal::random<Scalar>();
|
||||
// Get a random factor bounded away from zero: |factor| >= 0.1.
|
||||
Scalar factor = internal::random<Scalar>(Scalar(RealScalar(0.1)), Scalar(RealScalar(1)));
|
||||
Scalar big = factor * ((std::numeric_limits<RealScalar>::max)() * RealScalar(1e-4));
|
||||
|
||||
factor = internal::random<Scalar>();
|
||||
while (numext::abs2(factor) < RealScalar(1e-4)) factor = internal::random<Scalar>();
|
||||
factor = internal::random<Scalar>(Scalar(RealScalar(0.1)), Scalar(RealScalar(1)));
|
||||
Scalar small = factor * ((std::numeric_limits<RealScalar>::min)() * RealScalar(1e4));
|
||||
|
||||
Scalar one(1), zero(0), sqrt2(std::sqrt(2)), nan(std::numeric_limits<RealScalar>::quiet_NaN());
|
||||
|
||||
Reference in New Issue
Block a user