mirror of
https://git.planet-casio.com/Lephenixnoir/OpenLibm.git
synced 2024-12-28 20:43:41 +01:00
Get more files to build with clang.
This commit is contained in:
parent
3c7b5cc6f7
commit
9b7ae68a59
10 changed files with 23 additions and 22 deletions
|
@ -23,13 +23,13 @@
|
||||||
#define BIAS (LDBL_MAX_EXP - 1)
|
#define BIAS (LDBL_MAX_EXP - 1)
|
||||||
|
|
||||||
#if LDBL_MANL_SIZE > 32
|
#if LDBL_MANL_SIZE > 32
|
||||||
typedef uint64_t manl_t;
|
typedef u_int64_t manl_t;
|
||||||
#else
|
#else
|
||||||
typedef u_int32_t manl_t;
|
typedef u_int32_t manl_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LDBL_MANH_SIZE > 32
|
#if LDBL_MANH_SIZE > 32
|
||||||
typedef uint64_t manh_t;
|
typedef u_int64_t manh_t;
|
||||||
#else
|
#else
|
||||||
typedef u_int32_t manh_t;
|
typedef u_int32_t manh_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#define MAX_EXP LDBL_MAX_EXP
|
#define MAX_EXP LDBL_MAX_EXP
|
||||||
|
|
||||||
#if LDBL_MANL_SIZE > 32
|
#if LDBL_MANL_SIZE > 32
|
||||||
typedef uint64_t man_t;
|
typedef u_int64_t man_t;
|
||||||
#else
|
#else
|
||||||
typedef u_int32_t man_t;
|
typedef u_int32_t man_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -39,7 +39,7 @@ cbrt(double x)
|
||||||
int32_t hx;
|
int32_t hx;
|
||||||
union {
|
union {
|
||||||
double value;
|
double value;
|
||||||
uint64_t bits;
|
u_int64_t bits;
|
||||||
} u;
|
} u;
|
||||||
double r,s,t=0.0,w;
|
double r,s,t=0.0,w;
|
||||||
u_int32_t sign;
|
u_int32_t sign;
|
||||||
|
|
|
@ -38,7 +38,7 @@ cbrtl(long double x)
|
||||||
double dr, dt, dx;
|
double dr, dt, dx;
|
||||||
float ft, fx;
|
float ft, fx;
|
||||||
u_int32_t hx;
|
u_int32_t hx;
|
||||||
uint16_t expsign;
|
u_int16_t expsign;
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
u.e = x;
|
u.e = x;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
#include <openlibm.h>
|
#include <openlibm.h>
|
||||||
|
#include "math_private.h"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "fpmath.h"
|
#include "fpmath.h"
|
||||||
|
@ -32,7 +33,7 @@
|
||||||
#ifdef LDBL_IMPLICIT_NBIT
|
#ifdef LDBL_IMPLICIT_NBIT
|
||||||
#define MANH_SIZE (LDBL_MANH_SIZE + 1)
|
#define MANH_SIZE (LDBL_MANH_SIZE + 1)
|
||||||
#define INC_MANH(u, c) do { \
|
#define INC_MANH(u, c) do { \
|
||||||
uint64_t o = u.bits.manh; \
|
u_int64_t o = u.bits.manh; \
|
||||||
u.bits.manh += (c); \
|
u.bits.manh += (c); \
|
||||||
if (u.bits.manh < o) \
|
if (u.bits.manh < o) \
|
||||||
u.bits.exp++; \
|
u.bits.exp++; \
|
||||||
|
@ -40,7 +41,7 @@
|
||||||
#else
|
#else
|
||||||
#define MANH_SIZE LDBL_MANH_SIZE
|
#define MANH_SIZE LDBL_MANH_SIZE
|
||||||
#define INC_MANH(u, c) do { \
|
#define INC_MANH(u, c) do { \
|
||||||
uint64_t o = u.bits.manh; \
|
u_int64_t o = u.bits.manh; \
|
||||||
u.bits.manh += (c); \
|
u.bits.manh += (c); \
|
||||||
if (u.bits.manh < o) { \
|
if (u.bits.manh < o) { \
|
||||||
u.bits.exp++; \
|
u.bits.exp++; \
|
||||||
|
@ -64,7 +65,7 @@ ceill(long double x)
|
||||||
(u.bits.manh | u.bits.manl) != 0)
|
(u.bits.manh | u.bits.manl) != 0)
|
||||||
u.e = u.bits.sign ? -0.0 : 1.0;
|
u.e = u.bits.sign ? -0.0 : 1.0;
|
||||||
} else {
|
} else {
|
||||||
uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
u_int64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
||||||
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (!u.bits.sign) {
|
if (!u.bits.sign) {
|
||||||
|
@ -81,14 +82,14 @@ ceill(long double x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (e < LDBL_MANT_DIG - 1) {
|
} else if (e < LDBL_MANT_DIG - 1) {
|
||||||
uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
u_int64_t m = (u_int64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
||||||
if ((u.bits.manl & m) == 0)
|
if ((u.bits.manl & m) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (!u.bits.sign) {
|
if (!u.bits.sign) {
|
||||||
if (e == MANH_SIZE - 1)
|
if (e == MANH_SIZE - 1)
|
||||||
INC_MANH(u, 1);
|
INC_MANH(u, 1);
|
||||||
else {
|
else {
|
||||||
uint64_t o = u.bits.manl;
|
u_int64_t o = u.bits.manl;
|
||||||
u.bits.manl += 1llu << (LDBL_MANT_DIG - e - 1);
|
u.bits.manl += 1llu << (LDBL_MANT_DIG - e - 1);
|
||||||
if (u.bits.manl < o) /* got a carry */
|
if (u.bits.manl < o) /* got a carry */
|
||||||
INC_MANH(u, 1);
|
INC_MANH(u, 1);
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#ifdef LDBL_IMPLICIT_NBIT
|
#ifdef LDBL_IMPLICIT_NBIT
|
||||||
#define MANH_SIZE (LDBL_MANH_SIZE + 1)
|
#define MANH_SIZE (LDBL_MANH_SIZE + 1)
|
||||||
#define INC_MANH(u, c) do { \
|
#define INC_MANH(u, c) do { \
|
||||||
uint64_t o = u.bits.manh; \
|
u_int64_t o = u.bits.manh; \
|
||||||
u.bits.manh += (c); \
|
u.bits.manh += (c); \
|
||||||
if (u.bits.manh < o) \
|
if (u.bits.manh < o) \
|
||||||
u.bits.exp++; \
|
u.bits.exp++; \
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
#else
|
#else
|
||||||
#define MANH_SIZE LDBL_MANH_SIZE
|
#define MANH_SIZE LDBL_MANH_SIZE
|
||||||
#define INC_MANH(u, c) do { \
|
#define INC_MANH(u, c) do { \
|
||||||
uint64_t o = u.bits.manh; \
|
u_int64_t o = u.bits.manh; \
|
||||||
u.bits.manh += (c); \
|
u.bits.manh += (c); \
|
||||||
if (u.bits.manh < o) { \
|
if (u.bits.manh < o) { \
|
||||||
u.bits.exp++; \
|
u.bits.exp++; \
|
||||||
|
@ -64,7 +64,7 @@ floorl(long double x)
|
||||||
(u.bits.manh | u.bits.manl) != 0)
|
(u.bits.manh | u.bits.manl) != 0)
|
||||||
u.e = u.bits.sign ? -1.0 : 0.0;
|
u.e = u.bits.sign ? -1.0 : 0.0;
|
||||||
} else {
|
} else {
|
||||||
uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
u_int64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
||||||
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (u.bits.sign) {
|
if (u.bits.sign) {
|
||||||
|
@ -81,14 +81,14 @@ floorl(long double x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (e < LDBL_MANT_DIG - 1) {
|
} else if (e < LDBL_MANT_DIG - 1) {
|
||||||
uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
u_int64_t m = (u_int64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
||||||
if ((u.bits.manl & m) == 0)
|
if ((u.bits.manl & m) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (u.bits.sign) {
|
if (u.bits.sign) {
|
||||||
if (e == MANH_SIZE - 1)
|
if (e == MANH_SIZE - 1)
|
||||||
INC_MANH(u, 1);
|
INC_MANH(u, 1);
|
||||||
else {
|
else {
|
||||||
uint64_t o = u.bits.manl;
|
u_int64_t o = u.bits.manl;
|
||||||
u.bits.manl += 1llu << (LDBL_MANT_DIG - e - 1);
|
u.bits.manl += 1llu << (LDBL_MANT_DIG - e - 1);
|
||||||
if (u.bits.manl < o) /* got a carry */
|
if (u.bits.manl < o) /* got a carry */
|
||||||
INC_MANH(u, 1);
|
INC_MANH(u, 1);
|
||||||
|
|
|
@ -75,7 +75,7 @@ static inline double
|
||||||
add_adjusted(double a, double b)
|
add_adjusted(double a, double b)
|
||||||
{
|
{
|
||||||
struct dd sum;
|
struct dd sum;
|
||||||
uint64_t hibits, lobits;
|
u_int64_t hibits, lobits;
|
||||||
|
|
||||||
sum = dd_add(a, b);
|
sum = dd_add(a, b);
|
||||||
if (sum.lo != 0) {
|
if (sum.lo != 0) {
|
||||||
|
@ -99,7 +99,7 @@ static inline double
|
||||||
add_and_denormalize(double a, double b, int scale)
|
add_and_denormalize(double a, double b, int scale)
|
||||||
{
|
{
|
||||||
struct dd sum;
|
struct dd sum;
|
||||||
uint64_t hibits, lobits;
|
u_int64_t hibits, lobits;
|
||||||
int bits_lost;
|
int bits_lost;
|
||||||
|
|
||||||
sum = dd_add(a, b);
|
sum = dd_add(a, b);
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
#include "fpmath.h"
|
#include "fpmath.h"
|
||||||
|
|
||||||
#if LDBL_MANL_SIZE > 32
|
#if LDBL_MANL_SIZE > 32
|
||||||
#define MASK ((uint64_t)-1)
|
#define MASK ((u_int64_t)-1)
|
||||||
#else
|
#else
|
||||||
#define MASK ((u_int32_t)-1)
|
#define MASK ((u_int32_t)-1)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -23,13 +23,13 @@
|
||||||
#define BIAS (LDBL_MAX_EXP - 1)
|
#define BIAS (LDBL_MAX_EXP - 1)
|
||||||
|
|
||||||
#if LDBL_MANL_SIZE > 32
|
#if LDBL_MANL_SIZE > 32
|
||||||
typedef uint64_t manl_t;
|
typedef u_int64_t manl_t;
|
||||||
#else
|
#else
|
||||||
typedef u_int32_t manl_t;
|
typedef u_int32_t manl_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LDBL_MANH_SIZE > 32
|
#if LDBL_MANH_SIZE > 32
|
||||||
typedef uint64_t manh_t;
|
typedef u_int64_t manh_t;
|
||||||
#else
|
#else
|
||||||
typedef u_int32_t manh_t;
|
typedef u_int32_t manh_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -49,7 +49,7 @@ truncl(long double x)
|
||||||
if (huge + x > 0.0)
|
if (huge + x > 0.0)
|
||||||
u.e = zero[u.bits.sign];
|
u.e = zero[u.bits.sign];
|
||||||
} else {
|
} else {
|
||||||
uint64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
u_int64_t m = ((1llu << MANH_SIZE) - 1) >> (e + 1);
|
||||||
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
if (((u.bits.manh & m) | u.bits.manl) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (huge + x > 0.0) { /* raise inexact flag */
|
if (huge + x > 0.0) { /* raise inexact flag */
|
||||||
|
@ -58,7 +58,7 @@ truncl(long double x)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (e < LDBL_MANT_DIG - 1) {
|
} else if (e < LDBL_MANT_DIG - 1) {
|
||||||
uint64_t m = (uint64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
u_int64_t m = (u_int64_t)-1 >> (64 - LDBL_MANT_DIG + e + 1);
|
||||||
if ((u.bits.manl & m) == 0)
|
if ((u.bits.manl & m) == 0)
|
||||||
return (x); /* x is integral */
|
return (x); /* x is integral */
|
||||||
if (huge + x > 0.0) /* raise inexact flag */
|
if (huge + x > 0.0) /* raise inexact flag */
|
||||||
|
|
Loading…
Reference in a new issue