Skip to content

Breaking changes: Go 1.25.0 and later required for upgrade of dependency package golang.org/x/net#2270

Merged
xuri merged 2 commits into
qax-os:masterfrom
tvso:fix-calc-formula-intel
Mar 7, 2026
Merged

Breaking changes: Go 1.25.0 and later required for upgrade of dependency package golang.org/x/net#2270
xuri merged 2 commits into
qax-os:masterfrom
tvso:fix-calc-formula-intel

Conversation

@tvso
Copy link
Copy Markdown
Contributor

@tvso tvso commented Mar 1, 2026

PR Details

  • Breaking changes: Go 1.25.0 and later required for upgrade of dependency package golang.org/x/net
  • Fix NEGBINOM.DIST formula function result not consistent between multiple platform
  • Update GitHub Action config, test on macOS 26 with Apple Silicon arch
  • Update dependencies modules

Description

On ARM64 (Apple Silicon), Go's compiler automatically fuses multiply-add operations into hardware FMA (fused multiply-add) instructions, which round only once instead of twice. On Intel/AMD64, these remain as separate multiply + add operations with two roundings. This causes ~1 ULP (Unit of Least Precision) differences that accumulate over the iterative continued fraction loop.

Related Issue

N/A

Motivation and Context

  • Breaking changes: Go 1.25.0 and later required for upgrade of dependency package golang.org/x/net
  • Fix NEGBINOM.DIST formula function result not consistent between multiple platform
  • Update GitHub Action config, test on macOS 26 with Apple Silicon arch
  • Update dependencies modules

How Has This Been Tested

Test locally

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

…ncy package `golang.org/x/net`

- Fix NEGBINOM.DIST formula function result not consistent between multiple platform
- Update GitHub Action config, test on macOS 26 with Apple Silicon arch
- Update dependencies modules
@xuri xuri added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Mar 1, 2026
@xuri xuri moved this to BugFix in Excelize v2.11.0 Mar 1, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.56%. Comparing base (3e9bc14) to head (66b6eaf).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2270      +/-   ##
==========================================
- Coverage   99.56%   99.56%   -0.01%     
==========================================
  Files          32       32              
  Lines       26303    26299       -4     
==========================================
- Hits        26188    26184       -4     
  Misses         60       60              
  Partials       55       55              
Flag Coverage Δ
unittests 99.56% <100.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…consistency between ARM64 (Apple Silicon) and Intel
Copy link
Copy Markdown
Member

@xuri xuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for your contribution.

@xuri xuri merged commit 4c59bad into qax-os:master Mar 7, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

Status: BugFix

Development

Successfully merging this pull request may close these issues.

2 participants