P2746 R6 Deprecate and Replace Fenv Rounding Modes · Issue #1437 · cplusplus/papers · GitHub
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

P2746 R6 Deprecate and Replace Fenv Rounding Modes #1437

Open
wg21bot opened this issue Jan 16, 2023 · 12 comments
Open

P2746 R6 Deprecate and Replace Fenv Rounding Modes #1437

wg21bot opened this issue Jan 16, 2023 · 12 comments
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 IS Ship vehicle: IS LEWG Library Evolution numerics ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review SG22 C / C++ liaison size - medium paper size estimate
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jan 16, 2023

P2746R0 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot added LEWG Library Evolution SG6 Numerics labels Jan 16, 2023
@wg21bot wg21bot added this to the 2022-telecon milestone Jan 16, 2023
@mattkretz mattkretz modified the milestones: 2022-telecon, 2023-02 Jan 23, 2023
@brycelelbach brycelelbach added B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e IS Ship vehicle: IS size - medium paper size estimate C++26 Targeted at C++26 and removed LEWG Library Evolution labels Jan 23, 2023
@brycelelbach
Copy link

@mattkretz Numerics can look at this first.

@jensmaurer jensmaurer modified the milestones: 2023-02, 2023-telecon Mar 31, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 11, 2023

P2746R1 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot
Copy link
Collaborator Author

wg21bot commented May 26, 2023

P2746R2 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot changed the title P2746 Deprecate and Replace Fenv Rounding Modes P2746 R2 Deprecate and Replace Fenv Rounding Modes May 26, 2023
@mattkretz
Copy link
Collaborator

mattkretz commented Jun 14, 2023

SG6 Varna '23

Minutes

Summary:

  • Look for a different name than cr_ prefix, which C reserved for correctly rounded cmath functions.
  • Consider dropping constexpr to make the feature less expensive to implement because we expect the value to be (very) low.
  • Relate to from_chars for the cr_const function.
  • Consider intended interaction with denormals flush-to-zero / treat-as-zero.
  • Consider relation to existing numeric_limits::is_iec559 (storage layout vs. behaviour, and how do fast-math-flags tie in with this)
  • We could do simd overloads for this, especially since SIMD instruction encodings may include the means to implement this efficiently. But the cost vs. utility tradeoff doesn't make us confident we want to impose the cost on the committee and implementers. We also prefer to simply ignore vector/batched operations in favor of QoI: compilers could drop unnecessary global rounding mode changes in the optimizer.

@mattkretz mattkretz added the needs-revision Paper needs changes before it can proceed label Jun 14, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Aug 23, 2023

P2746R3 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Aug 23, 2023
@wg21bot wg21bot changed the title P2746 R2 Deprecate and Replace Fenv Rounding Modes P2746 R3 Deprecate and Replace Fenv Rounding Modes Aug 23, 2023
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 16, 2024

P2746R4 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot removed this from the 2023-telecon milestone Feb 16, 2024
@wg21bot wg21bot added this to the 2024-telecon milestone Feb 16, 2024
@wg21bot wg21bot changed the title P2746 R3 Deprecate and Replace Fenv Rounding Modes P2746 R4 Deprecate and Replace Fenv Rounding Modes Feb 16, 2024
@mattkretz
Copy link
Collaborator

mattkretz commented Mar 19, 2024

P2746R4: Deprecate and Replace Fenv Rounding Modes

2024-03-19 SG6 Minutes

Chair: Lisa Lippincott

Champion: Hans Boehm

Polls

POLL: We intend to leave floating-point exception behavior unspecified.

SF F N A SA
1 6 3 0 0

# of Authors: 1
Author Position: F
Outcome: Consensus

POLL: We would like to remove (at some unspecified time) fesetround and
fegetround from C++.

SF F N A SA
5 3 1 0 0

# of Authors: 1
Author Position: SF
Outcome: Consensus

POLL: Forward P2746R4 with the following changes to LEWG:

  • Add constexpr to the constructor
  • const member functions
  • Add usage examples
  • Make to_chars as conforming to IEC 60559 as C's printf
SF F N A SA
5 4 1 0 0

# of Authors: 1
Author Position: SF
Outcome: Consensus

@mattkretz mattkretz added LEWG Library Evolution needs-revision Paper needs changes before it can proceed and removed SG6 Numerics labels Mar 19, 2024
@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 17, 2024

P2746R5 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Apr 17, 2024
@wg21bot wg21bot changed the title P2746 R4 Deprecate and Replace Fenv Rounding Modes P2746 R5 Deprecate and Replace Fenv Rounding Modes Apr 17, 2024
@inbal2l inbal2l added the ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting label Jun 22, 2024
@inbal2l inbal2l added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Jun 23, 2024
@ben-craig
Copy link
Collaborator

P2746R5: Deprecate and Replace Fenv Rounding Modes

P2746R5: Deprecate and Replace Fenv Rounding Modes

2024-06-28 Library Evolution St. Louis Minutes

Champion: Hans Boehm

Chair: Ben Craig & Eddie Nolan

Minute Taker: Robert Leahy

Summary

POLL: We should promise more committee time to pursuing a library controlling floating point rounding locally, similar to P2746R5, knowing that our time is scarce and this will leave less time for other work. This poll does not encompass deprecation questions.

SF WF N WA SA
5 5 5 0 0

Attendance: 14 + 5

# of Authors: 1

Author Position: SF

Outcome: Consensus in favor

POLL: We should promise more committee time to pursuing fesetround and fegetround deprecation in the near term, knowing that our time is scarce and this will leave less time for other work.

SF WF N WA SA
5 5 4 1 1

Attendance: 14 + 5

# of Authors: 1

Author Position: SF

Outcome: Consensus in favor

Next Steps

  • Get implementation experience.
  • Work on wording
  • Get feedback from SG22 / C liason about the deprecation of fesetround and fegetround. Provide SG22 poll results as inputs to the LEWG deprecation decision.

@ben-craig ben-craig added needs-revision Paper needs changes before it can proceed SG22 C / C++ liaison labels Jun 28, 2024
@inbal2l
Copy link
Collaborator

inbal2l commented Aug 31, 2024

Related to "P3375: Reproducible floating-point results" (to be published on Sep ML).

@wg21bot
Copy link
Collaborator Author

wg21bot commented Oct 17, 2024

P2746R6 Deprecate and Replace Fenv Rounding Modes (Hans Boehm)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Oct 17, 2024
@wg21bot wg21bot changed the title P2746 R5 Deprecate and Replace Fenv Rounding Modes P2746 R6 Deprecate and Replace Fenv Rounding Modes Oct 17, 2024
@mattkretz mattkretz added this to SG6 Oct 23, 2024
@mattkretz mattkretz moved this to ready for review in SG6 Oct 23, 2024
@mattkretz mattkretz moved this from Wroclaw '24 Friday to Wroclaw '24 in SG6 Nov 1, 2024
@mattkretz
Copy link
Collaborator

After reviewing P3375R1, SG6 determined there's no need to revisit this paper. It's good to go for LEWG.

@mattkretz mattkretz removed this from SG6 Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e C++26 Targeted at C++26 IS Ship vehicle: IS LEWG Library Evolution numerics ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review SG22 C / C++ liaison size - medium paper size estimate
Projects
Development

No branches or pull requests

6 participants