From dae2a59c7765b459b98f3bceed9e617cbeddce0d Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Sat, 8 May 2021 21:45:45 +0200 Subject: [PATCH] LibC: Add declarations for various C11 math functions --- Userland/Libraries/LibM/math.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Userland/Libraries/LibM/math.h b/Userland/Libraries/LibM/math.h index 199e28eec1..8326d5af87 100644 --- a/Userland/Libraries/LibM/math.h +++ b/Userland/Libraries/LibM/math.h @@ -236,6 +236,11 @@ long lroundl(long double) NOEXCEPT; long long llroundf(float) NOEXCEPT; long long llround(double) NOEXCEPT; long long llroundd(long double) NOEXCEPT; +long long llroundl(long double x) NOEXCEPT; +double nearbyint(double x) NOEXCEPT; +float nearbyintf(float x) NOEXCEPT; +long double nearbyintl(long double x) NOEXCEPT; + float rintf(float) NOEXCEPT; double rint(double) NOEXCEPT; long double rintl(long double) NOEXCEPT; @@ -261,6 +266,7 @@ double scalbn(double, int) NOEXCEPT; long double scalbnl(long double, int) NOEXCEPT; float scalbnlf(float, long) NOEXCEPT; double scalbln(double, long) NOEXCEPT; +float scalblnf(float, long) NOEXCEPT; long double scalblnl(long double, long) NOEXCEPT; int ilogbl(long double) NOEXCEPT; int ilogb(double) NOEXCEPT; @@ -278,4 +284,19 @@ float copysignf(float x, float y) NOEXCEPT; double copysign(double x, double y) NOEXCEPT; long double copysignl(long double x, long double y) NOEXCEPT; +/* positive difference */ +double fdim(double x, double y) NOEXCEPT; +float fdimf(float x, float y) NOEXCEPT; +long double fdiml(long double x, long double y) NOEXCEPT; + +/* floating-point multiply and add */ +double fma(double x, double y, double z) NOEXCEPT; +float fmaf(float x, float y, float z) NOEXCEPT; +long double fmal(long double x, long double y, long double z) NOEXCEPT; + +/* remainder and part of quotient */ +double remquo(double x, double y, int* quo) NOEXCEPT; +float remquof(float x, float y, int* quo) NOEXCEPT; +long double remquol(long double x, long double y, int* quo) NOEXCEPT; + __END_DECLS