AP_Math: make fill_nanf() use a signalling NaN

we want use of these values to trigger a FPE
This commit is contained in:
Andrew Tridgell 2019-09-28 17:31:46 +10:00
parent f79907bd1e
commit 66b4e92444
2 changed files with 6 additions and 1 deletions

View File

@ -339,10 +339,12 @@ bool rotation_equal(enum Rotation r1, enum Rotation r2)
}
#if CONFIG_HAL_BOARD == HAL_BOARD_SITL
// fill an array of float with NaN, used to invalidate memory in SITL
void fill_nanf(float *f, uint16_t count)
{
while (count--) {
*f++ = nanf("fill");
*f++ = std::numeric_limits<float>::signaling_NaN();
}
}
#endif

View File

@ -277,5 +277,8 @@ Vector3f rand_vec3f(void);
// return true if two rotations are equal
bool rotation_equal(enum Rotation r1, enum Rotation r2) WARN_IF_UNUSED;
#if CONFIG_HAL_BOARD == HAL_BOARD_SITL
// fill an array of float with NaN, used to invalidate memory in SITL
void fill_nanf(float *f, uint16_t count);
#endif