Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix float point comparisons #1615

Merged
merged 1 commit into from
Apr 28, 2020
Merged

Fix float point comparisons #1615

merged 1 commit into from
Apr 28, 2020

Conversation

josesimoes
Copy link
Member

@josesimoes josesimoes commented Apr 28, 2020

Description

  • ceq IL instruction wasn't properly implemented to deal with NAN and infinite values.
  • Rework code to use ISO C99 floating-point macros for FP comparisons.
  • Move declarations of native double to header to allow reuse on the new comparison code.

Motivation and Context

How Has This Been Tested?

  • Sample code from issue.
  • Other random FP comparisons.

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Signed-off-by: josesimoes jose.simoes@eclo.solutions

@josesimoes josesimoes added Type: bug Area: Interpreter Everything related with the interpreter, execution engine and such labels Apr 28, 2020
@nfbot
Copy link
Member

nfbot commented Apr 28, 2020

Hi @josesimoes,

I'm nanoFramework bot.
Thank you for your contribution!

A human will be reviewing it shortly. 😉

@josesimoes josesimoes force-pushed the fix-577 branch 2 times, most recently from f53b8f6 to f469dcd Compare April 28, 2020 10:20
- ceq IL instruction wasn't properly implemented to deal with NAN and infinite values.
- rework code to use ISO C99 floating-point macros for FP comparisons.
- Move declarations of native double to header to allow reuse on the new comparison code.

Signed-off-by: josesimoes <jose.simoes@eclo.solutions>
@josesimoes josesimoes merged commit 2d61eed into nanoframework:develop Apr 28, 2020
@josesimoes josesimoes deleted the fix-577 branch April 28, 2020 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Interpreter Everything related with the interpreter, execution engine and such Type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Comparison with Float.NaN and Double.NaN
2 participants