[bug #57071] Fix math.h and function names that block 64-bit double · Issue #670 · avrdudes/avr-libc (original) (raw)
Navigation Menu
- Explore
- Pricing
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Description
Thu 17 Oct 2019 09:10:37 AM CEST
Implementation of math.h / libm currently blocks 64-bit double, namely:
- Function names are wrong, e.g. 32-bit implementation of sine is named "sin", not "sinf".
- There are "aliases" in math.h (macros actually) that define the float version (like "sinf") to the double version (like "sin"). Problem is that this:
2a) This is the wrong way round ("sin" should be alias of "sinf").
2b) There are no proper prototypes.
2c) Macros are bad, e.g. in C++ when some class implements a method for which math.h defines a macro, C++ functions / methods are silently renamed.
- math.h is unconditional, i.e. treats double != float just like double = float.
file #47705: math64.diff
file #47711: math64-syms.diff
file #47938: math64-2.diff
file #48029: math64-3.diff
file #48240: math64-addend1.diff
This issue was migrated from https://savannah.nongnu.org/bugs/?57071