This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
Bug 1239 - FastMath tests fail with clang
Summary: FastMath tests fail with clang
Status: NEW
Alias: None
Product: Eigen
Classification: Unclassified
Component: Core - general (show other bugs)
Version: 3.3 (current stable)
Hardware: All All
: Normal Failed Unit Test
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on: 1008
Blocks:
  Show dependency treegraph
 
Reported: 2016-06-02 13:23 UTC by Christoph Hertzberg
Modified: 2019-12-04 15:53 UTC (History)
3 users (show)



Attachments

Description Christoph Hertzberg 2016-06-02 13:23:45 UTC
Before this stays unnoticed: clangs implementations of std::isinf and std::isnan appear to be unreliable. The easiest way for us would be to not use them for implementing the corresponding numext::isinf/isnan methods, but make hand-coded implementations.
Comment 1 Gael Guennebaud 2016-07-25 13:30:06 UTC
This only concerns "old" versions of clang. I've already spent a lot of time trying to workaround the issue with no luck, and I'd thus vote for wontfix. At least, we are consistent with the respective STL implementation. This is what I conclude in bug 1008.
Comment 2 Christoph Hertzberg 2016-07-25 14:15:24 UTC
If we have SSE enabled, we could hand-code this using the corresponding cmpss/cmpsd instructions.
If SSE is disabled, it seems the only error is:
  std::isinf(nan)    == 1 

which could be fixed by defining (inefficient, but correct):
  numext::isinf(x) = std::isinf(x) && ! std::isnan(x);

Unless, simply std::abs(x)>NumTraits<Scalar>::highest() works as well.
Comment 3 Nobody 2019-12-04 15:53:48 UTC
-- 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/1239.

Note You need to log in before you can comment on or make changes to this bug.