History log of /haiku/headers/posix/math.h
Revision Date Author Comments
# fcd82d3d 07-Apr-2023 Augustin Cavalier <waddlesplash@gmail.com>

math.h: Change definition of FP_ILOGB0 to match the specification.

See #18351 for details on the specifications.

This is the same thing NetBSD does. BeOS R5 defined these values
differently than we did even before this commit, and it does not
seem to have caused problems then, so this should be fine.

While technically an ABI break, in practice these values are not
always differentiated on other platforms, and it appears musl's
code triggers divide-by-zero exceptions on purpose before it
returns this value, anyway.

Fixes #18351.


# dda1013c 04-Jan-2020 Augustin Cavalier <waddlesplash@gmail.com>

posix/math: Use the GCC built-ins when possible for isnan(), etc.

glibc does the same. Technically, some of these builtins did
not exist / did not work before GCC 4.4, but the source tree
cannot be compiled with a version that old anyway.

x86_64 and _x86 need to keep the old functions for now, of
course; but all other architectures can probably feel free
to drop the s_isnan, etc. functions from their glibc.

This will make upcoming patches easier...

Change-Id: Ifb76ea74076553228c9741a8ee3ecb0e1cf736a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2076
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# b236c48e 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add missing definitions to math.h

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 173f54f1 19-Jul-2012 Matt Madia <mattmadia@gmail.com>

Updated copyright in headers. No functional change.


# 86216323 10-Dec-2011 Jérôme Duval <jerome.duval@gmail.com>

Fixed math.h part of #2696

* added lgammal_r wrapper
* removed gamma_r and gammaf_r functions from math.h


# 02c3d9f5 31-Oct-2011 François Revol <revol@free.fr>

Rename some parameters to avoid "declaration of 'foo' shadows global declaration" warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43048 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f9cef36 26-Nov-2010 Jérôme Duval <korli@users.berlios.de>

added missing prototypes and moved some around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39659 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93ca791b 24-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* added math.h missing prototypes like log2f. This fixes #6802.
* whitespace cleanup and renamed log2() to radeon_log2 (conflicts with log2 in math.h)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7aff60b7 05-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Paul Davey with minor style changes by myself: For gcc 4 (and clang)
define the HUGE_VAL and friends macros to the respective __builtin_*()
functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39307 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fae8733 03-Nov-2010 Scott McCreary <scottmc2@gmail.com>

Updated posix headers to remove commas from copyright line, to match the preferred coding guidelines.
Cleaned up some header style violations, making sure there are two blank lines after the header guards.
This fixes the posix header part of #2191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe692043 13-Dec-2009 Jérôme Duval <korli@users.berlios.de>

added more missing prototypes in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0270440a 13-Dec-2009 Jérôme Duval <korli@users.berlios.de>

added missing prototypes for fmin, fma, fmax functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 15f18c09 03-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added missing posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c9dcb41 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

* corrected tab/space confusion of my last change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e0d60f5 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

adding POSIX-functions llround*(), which Maxime reported missing
* copied implementations for llround(), llroundf() and llroundl() from
glibc-2.3.2
* added corresponding declarations to math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f5bbbdc 26-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59d67522 02-Jun-2009 Jérôme Duval <korli@users.berlios.de>

added lrint and llrint functions to math.h
added generic implementations for ppc and m68k


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53e8a878 11-Sep-2008 Jérôme Duval <korli@users.berlios.de>

isnan and isfinite are macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27424 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 645fa87a 11-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added lsearch and lfind
remove unknown infnanf and strtcopy functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27423 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab2b993d 06-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added nexttoward()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27349 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb971482 06-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added more posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27348 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2eb280d3 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added a few more math functions, rearranged some functions in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c91170f 01-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added fpclassifyl


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b9320128 10-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber:
Replaced single-line comments by multi-line comments for ANSI C
compliance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cfb40d0 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Define HUGE_VAL in <math.h> conditionally. That's what gcc's fixincludes
hack math_huge_val_ifndef does, anyway. We do it ourselves and remove
the therefore superfluous gcc math.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24412 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaa10d60 18-Nov-2007 Ryan Leavengood <leavengood@gmail.com>

Added trunc to the math headers. I need this for JavaScriptCore. It is already
defined in libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22949 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f8d0be0 08-Aug-2007 Stephan Aßmus <superstippi@gmx.de>

* fix ticket #1365, isinf(x) -> isinf(value)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2a76f74 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

The lround() and lroundf() functions are now also found in our math.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17400 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4e766dd4 13-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* header cleanup, but there is still a lot more to do...
* added round(), roundf(), and roundl() implementations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14891 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 190c52aa 13-Mar-2004 Axel Dörfler <axeld@pinc-software.de>

A BeOS compatible math.h rewritten from scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6963 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79362df9 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

added macros PI and PI2, and fixed previous (invalid) references to these


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1711 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55f572b3 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

moved math.h from headers/private/kernel to headers/posix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b236c48e095d7f08dd582fc53b01fa230673d336 01-Dec-2012 Sam Toyer <sam@qxcv.net>

Add missing definitions to math.h

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 173f54f1473bd6a6511c5fc6dc899c91fb8dd667 19-Jul-2012 Matt Madia <mattmadia@gmail.com>

Updated copyright in headers. No functional change.


# 86216323af536f1d324798a01a58e39b05cbb5d8 10-Dec-2011 Jérôme Duval <jerome.duval@gmail.com>

Fixed math.h part of #2696

* added lgammal_r wrapper
* removed gamma_r and gammaf_r functions from math.h


# 02c3d9f5e6e7dbd7e6de9a6fd959cf5e934b583b 31-Oct-2011 François Revol <revol@free.fr>

Rename some parameters to avoid "declaration of 'foo' shadows global declaration" warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43048 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f9cef36d1557da4d013a3956f6d52e8e12cc157 26-Nov-2010 Jérôme Duval <korli@users.berlios.de>

added missing prototypes and moved some around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39659 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93ca791b706b2a2af8faf5cf8f80abea5e01da3f 24-Nov-2010 Jérôme Duval <korli@users.berlios.de>

* added math.h missing prototypes like log2f. This fixes #6802.
* whitespace cleanup and renamed log2() to radeon_log2 (conflicts with log2 in math.h)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39620 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7aff60b7dec6768237dbb125631edee78a872c4f 05-Nov-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Paul Davey with minor style changes by myself: For gcc 4 (and clang)
define the HUGE_VAL and friends macros to the respective __builtin_*()
functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39307 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0fae873352b02792db93f721c1a2ff6b240c8ecc 03-Nov-2010 Scott McCreary <scottmc2@gmail.com>

Updated posix headers to remove commas from copyright line, to match the preferred coding guidelines.
Cleaned up some header style violations, making sure there are two blank lines after the header guards.
This fixes the posix header part of #2191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39288 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe6920431511d7a674af603f56df002bc72912d1 13-Dec-2009 Jérôme Duval <korli@users.berlios.de>

added more missing prototypes in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0270440a9733aac66e56c635f73cc5c528109bad 13-Dec-2009 Jérôme Duval <korli@users.berlios.de>

added missing prototypes for fmin, fma, fmax functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 15f18c0947abcb48b372b357fdcbf71535dea2ee 03-Nov-2009 Jérôme Duval <korli@users.berlios.de>

added missing posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33867 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3c9dcb418e00dac3a27b3df12c346cb3a123b8e9 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

* corrected tab/space confusion of my last change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33864 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e0d60f5b744ede799f5570f332a53983d1cdc33 02-Nov-2009 Oliver Tappe <zooey@hirschkaefer.de>

adding POSIX-functions llround*(), which Maxime reported missing
* copied implementations for llround(), llroundf() and llroundl() from
glibc-2.3.2
* added corresponding declarations to math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f5bbbdc56fa18cfc94ea649e9f1337301906e19 26-Jun-2009 Axel Dörfler <axeld@pinc-software.de>

* Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 59d67522eabb778c773077a1645623c303751d2c 02-Jun-2009 Jérôme Duval <korli@users.berlios.de>

added lrint and llrint functions to math.h
added generic implementations for ppc and m68k


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30945 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 53e8a878e6335555f93b3c91d442774c0b213284 11-Sep-2008 Jérôme Duval <korli@users.berlios.de>

isnan and isfinite are macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27424 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 645fa87a214857d8cd19912161929abf8c0faad4 11-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added lsearch and lfind
remove unknown infnanf and strtcopy functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27423 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ab2b993da90d47e29d4b52de3f3abf9477b4c93c 06-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added nexttoward()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27349 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bb97148298fa3b2b22efc9584ba048fc0de05495 06-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added more posix functions


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27348 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2eb280d3a88b29ef7c8b4037a7845dfb9ae130d2 05-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added a few more math functions, rearranged some functions in math.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9c91170f95fa4a764af2586fc4f12906744dda2d 01-Sep-2008 Jérôme Duval <korli@users.berlios.de>

added fpclassifyl


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27272 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b93201281504cee31f4186f7c6548815940c576e 10-May-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Patch by Andreas Faerber:
Replaced single-line comments by multi-line comments for ANSI C
compliance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25433 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cfb40d0dcd55eb94ca791a025d663ed98c0e9bc 16-Mar-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

Define HUGE_VAL in <math.h> conditionally. That's what gcc's fixincludes
hack math_huge_val_ifndef does, anyway. We do it ourselves and remove
the therefore superfluous gcc math.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24412 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aaa10d6056f376d9b759206345f50f224d35a3a6 18-Nov-2007 Ryan Leavengood <leavengood@gmail.com>

Added trunc to the math headers. I need this for JavaScriptCore. It is already
defined in libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22949 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7f8d0be06f7a03917b69b601a3703ca63208f0a9 08-Aug-2007 Stephan Aßmus <superstippi@gmx.de>

* fix ticket #1365, isinf(x) -> isinf(value)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2a76f740688496c11f4cf9c12680ea2c034c249 09-May-2006 Axel Dörfler <axeld@pinc-software.de>

The lround() and lroundf() functions are now also found in our math.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17400 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4e766dd482a90c7c7c1d15cf2736706dfba669c7 13-Nov-2005 Axel Dörfler <axeld@pinc-software.de>

* header cleanup, but there is still a lot more to do...
* added round(), roundf(), and roundl() implementations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14891 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 190c52aac5a1e3b1378ba9c81d78203103c458fb 13-Mar-2004 Axel Dörfler <axeld@pinc-software.de>

A BeOS compatible math.h rewritten from scratch.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6963 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 79362df9f75d9dbadb1c832592db00e043c9c991 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

added macros PI and PI2, and fixed previous (invalid) references to these


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1711 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 55f572b3110516aa70f8edb5a6975337e3449730 26-Oct-2002 Daniel Reinhold <danielre@nowhere.fake>

moved math.h from headers/private/kernel to headers/posix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1697 a95241bf-73f2-0310-859d-f6bbb57e9c96