⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpi.h

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 H
字号:
typedef long Word;typedef unsigned long Single;typedef struct {	unsigned long l;	unsigned long h;} Double;enum {	FractBits	= 28,	CarryBit	= 0x10000000,	HiddenBit	= 0x08000000,	MsBit		= HiddenBit,	NGuardBits	= 3,	GuardMask	= 0x07,	LsBit		= (1<<NGuardBits),	SingleExpBias	= 127,	SingleExpMax	= 255,	DoubleExpBias	= 1023,	DoubleExpMax	= 2047,	ExpBias		= DoubleExpBias,	ExpInfinity	= DoubleExpMax,};typedef struct {	unsigned char s;	short e;	long l;				/* 0000FFFFFFFFFFFFFFFFFFFFFFFFFGGG */	long h;				/* 0000HFFFFFFFFFFFFFFFFFFFFFFFFFFF */} Internal;#define IsWeird(n)	((n)->e >= ExpInfinity)#define	IsInfinity(n)	(IsWeird(n) && (n)->h == HiddenBit && (n)->l == 0)#define	SetInfinity(n)	((n)->e = ExpInfinity, (n)->h = HiddenBit, (n)->l = 0)#define IsNaN(n)	(IsWeird(n) && (((n)->h & ~HiddenBit) || (n)->l))#define	SetQNaN(n)	((n)->s = 0, (n)->e = ExpInfinity, 		\			 (n)->h = HiddenBit|(LsBit<<1), (n)->l = 0)#define IsZero(n)	((n)->e == 1 && (n)->h == 0 && (n)->l == 0)#define SetZero(n)	((n)->e = 1, (n)->h = 0, (n)->l = 0)/* * fpi.c */extern void fpiround(Internal *);extern void fpiadd(Internal *, Internal *, Internal *);extern void fpisub(Internal *, Internal *, Internal *);extern void fpimul(Internal *, Internal *, Internal *);extern void fpidiv(Internal *, Internal *, Internal *);extern int fpicmp(Internal *, Internal *);extern void fpinormalise(Internal*);/* * fpimem.c */extern void fpis2i(Internal *, void *);extern void fpid2i(Internal *, void *);extern void fpiw2i(Internal *, void *);extern void fpii2s(void *, Internal *);extern void fpii2d(void *, Internal *);extern void fpii2w(Word *, Internal *);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -