Skip to content

Bug: Non-IEEE-compliant flags/operations in waypoint_manager #24

@ajshank

Description

@ajshank

Affects: ros2-devel branch.
Node: waypoint_manager

Brief:
Code uses NaNs and calls std::isnan(), which is erroneous with -ffast-math.

Detail:
The launch parameter init_NEDy defaults to a vector of NaNs (quiet_NaN in std) if left unspecified by the user. This is later checked in std::isnan() to see if user has specified a full and correct list of 4 elements. However, this check will always return false due to -ffast-math (used in CMakeLists.txt) which further enables -fno-signaling-nans and -ffinite-math-only.

Temporary Fix:
Always provide this launch param. To specify an "invalid param", launch with a list of one element.
@ajshank Verified - this works.

Suggested fix:
Don't use -ffast-math? Use some other compliant operation?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions