IronLanguages / IronLanguages/ironpython3

math.cos/math.tan precision near pi/2 does not match CPython on .NET Framework

Open
#1,550 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

.NET Framework CPython compatibility wontfix
Dominant language
C#
Stars
2.8k
Forks
316
Avg merge
1d 9h
Merged PRs (30d)
1

Description

Specifically, the test tan0064 (from cmath_testcases.txt in 3.6 which is run by test_math) is failing. It checks the value of math.tan(1.5707963267948961) and expects it be be 1978937966095219.0, but .NET Framework is giving me 1978945885716843.0.

Similarly, math.cos(1.5707963267948961) does not return the expected 5.053215498074303e-16 but instead gives 5.0531952754118148e-16.

I don't think this is worth addressing since .NET Core produces the same values as CPython and so I will skip the failing case on .NET Framework.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The failing case is tan0064 from cmath_testcases.txt in 3.6 and is run by test_math. Start there and compare the .NET Framework results with the stated CPython and .NET Core values. The issue proposes skipping this platform-specific case rather than changing the math implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.