Skip to content

Proposal: expose flags set by floating-point exceptions #2976

Open
@jiahao

Description

There is currently no Base function that allows users to check for the flags set by floating-point operations.1 This does not allow the user to compute in a fully IEEE-compatible manner and could decrease code legibility should the user be forced to test implicitly for a raised flag by inspecting the consequences of the computation.

This continues a discussion started in #2085, and extends the concept of overflow checking proposed for integers in #855.

  • Detect the five flags raised by floating-point exceptions
    • Invalid
    • Division by zero
    • Overflow
    • Underflow
    • Inexact
  • Allow the floating-point rounding mode to be set:
    • round to nearest, ties round to the nearest even digit in the required position
    • round to nearest, ties round away from zero
    • round up toward Inf
    • round down toward -Inf
    • round toward 0
  • [ ] Honor the difference between quiet and signaling NaNs
  • Expose similar flag-handling behavior from MPFR

cc: @andrioni @JeffBezanson

Metadata

Assignees

No one assigned

    Labels

    help wantedIndicates that a maintainer wants help on an issue or pull requestmathsMathematical functions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions