Skip to content

High accuracy math.hypot() #85685

@rhettinger

Description

@rhettinger
BPO 41513
Nosy @tim-one, @rhettinger, @terryjreedy, @mdickinson, @vstinner, @serhiy-storchaka
PRs
  • bpo-41513: Improve speed and accuracy of math.hypot() #21803
  • bpo-41513: More accurate hypot() #21916
  • bpo-41513: Save unnecessary steps in the hypot() calculation #21994
  • Further improve accuracy of math.hypot() #22013
  • bpo-41513: Improve hypot() accuracy with three separate accumulators #22032
  • bpo-41513: Expand comments #22123
  • bpo-41513: Add docs and tests for hypot() #22238
  • bpo-41513: Remove broken tests that fail on Gentoo #22249
  • bpo-41513: Make steps after the loop consistent with the loop body #22315
  • bpo-41513: Second attempt to add accuracy tests for math.hypot() #22327
  • bpo-41513: Improve order of adding fractional values. Improve variable names. #22368
  • Files
  • test_hypot.py: Script for measuring accuracy
  • test_hypot_accuracy.py: Cross version accuracy tester
  • hypot_flow.pdf: Data flow visualization
  • hypot.png: Updated data flow visualization
  • test_hypot_commutativity.py: Test commutativity
  • best_frac.py: Measure accuracy of hypot() variants
  • 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 = <Date 2020-09-15.00:15:26.344>
    created_at = <Date 2020-08-10.01:14:14.750>
    labels = ['type-feature', 'library', '3.10']
    title = 'High accuracy math.hypot()'
    updated_at = <Date 2020-10-02.00:19:15.829>
    user = 'https://github.com/rhettinger'

    bugs.python.org fields:

    activity = <Date 2020-10-02.00:19:15.829>
    actor = 'rhettinger'
    assignee = 'none'
    closed = True
    closed_date = <Date 2020-09-15.00:15:26.344>
    closer = 'rhettinger'
    components = ['Library (Lib)']
    creation = <Date 2020-08-10.01:14:14.750>
    creator = 'rhettinger'
    dependencies = []
    files = ['49380', '49399', '49424', '49439', '49448', '49484']
    hgrepos = []
    issue_num = 41513
    keywords = ['patch']
    message_count = 39.0
    messages = ['375089', '375096', '375166', '375437', '375440', '375442', '375447', '375448', '375483', '375489', '375498', '375500', '375501', '375591', '375600', '375623', '375634', '375635', '375651', '375685', '375721', '375762', '375763', '375770', '375829', '375865', '375866', '375867', '375868', '375896', '376068', '376098', '376470', '376869', '376910', '376919', '376920', '377242', '377354']
    nosy_count = 6.0
    nosy_names = ['tim.peters', 'rhettinger', 'terry.reedy', 'mark.dickinson', 'vstinner', 'serhiy.storchaka']
    pr_nums = ['21803', '21916', '21994', '22013', '22032', '22123', '22238', '22249', '22315', '22327', '22368']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue41513'
    versions = ['Python 3.10']

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.10only security fixesstdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

      Projects

      No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions