JuliaLang/julia

Proposal: expose flags set by floating-point exceptions

Open

#2.976 geöffnet am 30. Apr. 2013

Auf GitHub ansehen
 (13 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Julia (5.773 Forks)batch import
help wantedmaths

Repository-Metriken

Stars
 (48.709 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 20T 6h) (157 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide