JuliaLang/julia

Proposal: expose flags set by floating-point exceptions

Open

#2,976 opened on 2013年4月30日

GitHub で見る
 (13 comments) (0 reactions) (0 assignees)Julia (5,773 forks)batch import
help wantedmaths

Repository metrics

Stars
 (48,709 stars)
PR merge metrics
 (平均マージ 20d 6h) (30d で 157 merged PRs)

説明

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

コントリビューターガイド