Skip to content

Conversation

seiko2plus
Copy link
Member

@seiko2plus seiko2plus commented Sep 6, 2025

note: It will be re-based later after merges #1.

Added precomputed constants and lookup tables for sine/cosine functions generated with Sollya.
These tables include:

  • Pi constants with different precision levels for float and double types
  • Sine approximation tables for fast trigonometric calculations
  • Angle reduction constants
  • KPi/16 inline constants for range reduction

The data was generated using the 'spin sollya' tool and separated into multiple header files
to reduce code size and improve organization.

Files added:

  • npsr/trig/data/approx.h: Sine approximation tables

  • npsr/trig/data/constants.h: Pi and other trigonometric constants

  • npsr/trig/data/data.h: Main data header

  • npsr/trig/data/kpi16-inl.h: KPi/16 inline constants

  • npsr/trig/data/reduction.h: Angle reduction constants

Added precomputed constants and lookup tables for sine/cosine functions generated with Sollya.
These tables include:
- Pi constants with different precision levels for float and double types
- Sine approximation tables for fast trigonometric calculations
- Angle reduction constants
- KPi/16 inline constants for range reduction

The data was generated using the 'spin sollya' tool and separated into multiple header files
to reduce code size and improve organization.

Files added:

- npsr/trig/data/approx.h: Sine approximation tables

- npsr/trig/data/constants.h: Pi and other trigonometric constants

- npsr/trig/data/data.h: Main data header

- npsr/trig/data/kpi16-inl.h: KPi/16 inline constants

- npsr/trig/data/reduction.h: Angle reduction constants
@Mousius Mousius merged commit 1acd145 into numpy:main Oct 7, 2025
@Mousius
Copy link
Member

Mousius commented Oct 7, 2025

Thanks @seiko2plus, this should probably have gone in with the first PR so it worked so I'm happy to get this in and then look at the more interesting generator 😸

@seiko2plus
Copy link
Member Author

Thank you @Mousius, now I can re-base numpy/numpy#29699 and make it ready for review. The generator is lives now in #5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants