Skip to content

Document the meaning of values for sys.float_info.rounds #85988

Description

@rhettinger
BPO 41822
Nosy @tim-one, @rhettinger, @mdickinson, @serhiy-storchaka, @eamanu, @rahul-kumi

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = None
created_at = <Date 2020-09-21.00:38:26.708>
labels = ['easy', '3.10', 'docs']
title = 'Document the meaning  of values for sys.float_info.rounds'
updated_at = <Date 2020-10-18.09:13:18.609>
user = 'https://github.com/rhettinger'

bugs.python.org fields:

activity = <Date 2020-10-18.09:13:18.609>
actor = 'rhettinger'
assignee = 'docs@python'
closed = False
closed_date = None
closer = None
components = ['Documentation']
creation = <Date 2020-09-21.00:38:26.708>
creator = 'rhettinger'
dependencies = []
files = []
hgrepos = []
issue_num = 41822
keywords = ['newcomer friendly']
message_count = 5.0
messages = ['377236', '378852', '378853', '378854', '378856']
nosy_count = 7.0
nosy_names = ['tim.peters', 'rhettinger', 'mark.dickinson', 'docs@python', 'serhiy.storchaka', 'eamanu', 'rahul-kumi']
pr_nums = []
priority = 'normal'
resolution = None
stage = None
status = 'open'
superseder = None
type = None
url = 'https://bugs.python.org/issue41822'
versions = ['Python 3.10']

Linked PRs

Activity

  1. rhettinger commented on Sep 21, 2020

    @rhettinger
    ContributorAuthor

    The current docs unnecessarily refer readers to the C99 standard. "integer constant representing the rounding mode used for arithmetic operations. This reflects the value of the system FLT_ROUNDS macro at interpreter startup time. See section 5.2.4.2.2 of the C99 standard for an explanation of the possible values and their meanings."

    The docs should quote the standard, "The rounding mode for floating-point addition is characterized by the implementation defined value of FLT_ROUNDS: -1 indeterminable, 0 toward zero, 1 to nearest, 2 toward positive infinity, 3 toward negative infinity. All other values for FLT_ROUNDS characterize implementation-defined rounding."
    behavior.

  2. changed the title [-]Document the mean of values for sys.float_info.rounds[/-] [+]Document the meaning of values for sys.float_info.rounds[/+] on Sep 25, 2020
  3. changed the title [-]Document the mean of values for sys.float_info.rounds[/-] [+]Document the meaning of values for sys.float_info.rounds[/+] on Sep 25, 2020
  4. rhettinger commented on Oct 18, 2020

    @rhettinger
    ContributorAuthor

    Also, we should document the meaning of the other fields. Several of them are not self explanatory:

    min_10_exp = -307

    does not mean that 2.3e-308 isn't normalized

    does mean that 10**-307 is normalized and 10**-308 isn't

    min_exp = -1021

    does not mean that 2**-1021 is the lowest normalized value

    does mean ldexp(0.5, -1021) == float_info.min

    decimal_dig = 15

    does not mean digits required to specify every unique float

    does mean, "number of decimal digits, q, such that any
    floating-point number with q decimal digits can be rounded
    into a floating-point number with p radix b digits and back
    again without change to the q decimal digits"

  5. serhiy-storchaka commented on Oct 18, 2020

    @serhiy-storchaka
    Member

    Python does not set the meaning and the value of these fields itself. It exposes C constants. Should we just copy definitions from corresponding C or floating-point standards?

  6. serhiy-storchaka commented on Oct 18, 2020

    @serhiy-storchaka
    Member

    Oh, seems it was what Raymond proposed initially.

  7. rhettinger commented on Oct 18, 2020

    @rhettinger
    ContributorAuthor
  8. transferred this issue fromon Apr 10, 2022
  9. tbwolfe commented on Nov 22, 2022

    @tbwolfe
    Contributor

    PR submitted. Please let me know if any changes are required.

  10. added a commit that references this issue on Nov 27, 2022
  11. mdickinson commented on Nov 27, 2022

    @mdickinson
    Member

    Done in #99675. Thanks, @tbwolfe.

  12. added 2 commits that reference this issue on Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.10 (EOL)end of lifedocsDocumentation in the Doc direasy

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions