Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Musl
提交
94a3d13a
T
Third Party Musl
项目概览
OpenHarmony
/
Third Party Musl
1 年多 前同步成功
通知
37
Star
125
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Musl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
94a3d13a
编写于
9月 04, 2013
作者:
S
Szabolcs Nagy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
math: remove old longdbl.h
上级
aa0c4a20
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
0 addition
and
113 deletion
+0
-113
src/internal/libm.h
src/internal/libm.h
+0
-2
src/internal/longdbl.h
src/internal/longdbl.h
+0
-111
未找到文件。
src/internal/libm.h
浏览文件 @
94a3d13a
...
...
@@ -19,8 +19,6 @@
#include <complex.h>
#include <endian.h>
#include "longdbl.h"
#include "libc.h"
union
fshape
{
...
...
src/internal/longdbl.h
已删除
100644 → 0
浏览文件 @
aa0c4a20
#ifndef _LDHACK_H
#define _LDHACK_H
#include <float.h>
#include <stdint.h>
// FIXME: hacks to make freebsd+openbsd long double code happy
// union and macros for freebsd
#if LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
union
IEEEl2bits
{
long
double
e
;
struct
{
uint32_t
manl
:
32
;
uint32_t
manh
:
32
;
uint32_t
exp
:
15
;
uint32_t
sign
:
1
;
uint32_t
pad
:
16
;
}
bits
;
struct
{
uint64_t
man
:
64
;
uint32_t
expsign
:
16
;
uint32_t
pad
:
16
;
}
xbits
;
};
#define LDBL_MANL_SIZE 32
#define LDBL_MANH_SIZE 32
#define LDBL_NBIT (1ull << LDBL_MANH_SIZE-1)
#undef LDBL_IMPLICIT_NBIT
#define mask_nbit_l(u) ((u).bits.manh &= ~LDBL_NBIT)
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
/*
// ld128 float.h
//#define LDBL_MAX 1.189731495357231765085759326628007016E+4932L
#define LDBL_MAX 0x1.ffffffffffffffffffffffffffffp+16383
#define LDBL_MAX_EXP 16384
#define LDBL_HAS_INFINITY 1
//#define LDBL_MIN 3.362103143112093506262677817321752603E-4932L
#define LDBL_MIN 0x1p-16382
#define LDBL_HAS_QUIET_NAN 1
#define LDBL_HAS_DENORM 1
//#define LDBL_EPSILON 1.925929944387235853055977942584927319E-34L
#define LDBL_EPSILON 0x1p-112
#define LDBL_MANT_DIG 113
#define LDBL_MIN_EXP (-16381)
#define LDBL_MAX_10_EXP 4932
#define LDBL_DENORM_MIN 0x0.0000000000000000000000000001p-16381
#define LDBL_MIN_10_EXP (-4931)
#define LDBL_DIG 33
*/
union
IEEEl2bits
{
long
double
e
;
struct
{
uint64_t
manl
:
64
;
uint64_t
manh
:
48
;
uint32_t
exp
:
15
;
uint32_t
sign
:
1
;
}
bits
;
struct
{
uint64_t
unused0
:
64
;
uint64_t
unused1
:
48
;
uint32_t
expsign
:
16
;
}
xbits
;
};
#define LDBL_MANL_SIZE 64
#define LDBL_MANH_SIZE 48
#define LDBL_NBIT (1ull << LDBL_MANH_SIZE)
#define LDBL_IMPLICIT_NBIT 1
#define mask_nbit_l(u)
#endif
// macros for openbsd
#define GET_LDOUBLE_WORDS(se,mh,ml, f) do{ \
union IEEEl2bits u; \
u.e = (f); \
(se) = u.xbits.expsign; \
(mh) = u.bits.manh; \
(ml) = u.bits.manl; \
}while(0)
#define SET_LDOUBLE_WORDS(f, se,mh,ml) do{ \
union IEEEl2bits u; \
u.xbits.expsign = (se); \
u.bits.manh = (mh); \
u.bits.manl = (ml); \
(f) = u.e; \
}while(0)
#define GET_LDOUBLE_EXP(se, f) do{ \
union IEEEl2bits u; \
u.e = (f); \
(se) = u.xbits.expsign; \
}while(0)
#define SET_LDOUBLE_EXP(f, se) do{ \
union IEEEl2bits u; \
u.e = (f); \
u.xbits.expsign = (se); \
(f) = u.e; \
}while(0)
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录