94 lines · 3.0 KB · C
RawDownload
#ifndef __FLOAT#define __FLOAT/* IEEE, default rounding */ #define FLT_ROUNDS	1#define FLT_RADIX	2 #define FLT_DIG		6#define FLT_EPSILON	1.19209290e-07#define FLT_MANT_DIG	24#define FLT_MAX		3.40282347e+38#define FLT_MAX_10_EXP	38#define FLT_MAX_EXP	128#define FLT_MIN		1.17549435e-38#define FLT_MIN_10_EXP	-37#define FLT_MIN_EXP	-125 #define DBL_DIG		15#define DBL_EPSILON	2.2204460492503131e-16#define DBL_MANT_DIG	53#define DBL_MAX		1.797693134862315708145e+308#define DBL_MAX_10_EXP	308#define DBL_MAX_EXP	1024#define DBL_MIN		2.225073858507201383090233e-308#define DBL_MIN_10_EXP	-307#define DBL_MIN_EXP	-1021#define LDBL_MANT_DIG	DBL_MANT_DIG#define LDBL_EPSILON	DBL_EPSILON#define LDBL_DIG	DBL_DIG#define LDBL_MIN_EXP	DBL_MIN_EXP#define LDBL_MIN	DBL_MIN#define LDBL_MIN_10_EXP	DBL_MIN_10_EXP#define LDBL_MAX_EXP	DBL_MAX_EXP#define LDBL_MAX	DBL_MAX#define LDBL_MAX_10_EXP	DBL_MAX_10_EXP typedef 	union FPdbleword FPdbleword;union FPdbleword{	double	x;	struct {	/* big endian */		long hi;		long lo;	};}; #ifdef _RESEARCH_SOURCE/* define stuff needed for floating conversion */#define IEEE_MC68k	1#define Sudden_Underflow 1#endif#ifdef _PLAN9_SOURCE/* FPSCR */#define	FPSFX	(1<<31)	/* exception summary (sticky) */#define	FPSEX	(1<<30)	/* enabled exception summary */#define	FPSVX	(1<<29)	/* invalid operation exception summary */#define	FPSOX	(1<<28)	/* overflow exception OX (sticky) */#define	FPSUX	(1<<27)	/* underflow exception UX (sticky) */#define	FPSZX	(1<<26)	/* zero divide exception ZX (sticky) */#define	FPSXX	(1<<25)	/* inexact exception XX (sticky) */#define	FPSVXSNAN (1<<24)	/* invalid operation exception for SNaN (sticky) */#define	FPSVXISI (1<<23)	/* invalid operation exception for ∞-∞ (sticky) */#define	FPSVXIDI (1<<22)	/* invalid operation exception for ∞/∞ (sticky) */#define	FPSVXZDZ (1<<21)	/* invalid operation exception for 0/0 (sticky) */#define	FPSVXIMZ (1<<20)	/* invalid operation exception for ∞*0 (sticky) */#define	FPSVXVC	(1<<19)	/* invalid operation exception for invalid compare (sticky) */#define	FPSFR	(1<<18)	/* fraction rounded */#define	FPSFI	(1<<17)	/* fraction inexact */#define	FPSFPRF	(1<<16)	/* floating point result class */#define	FPSFPCC	(0xF<<12)	/* <, >, =, unordered */#define	FPVXCVI	(1<<8)	/* enable exception for invalid integer convert (sticky) */#define	FPVE	(1<<7)	/* invalid operation exception enable */#define	FPOVFL	(1<<6)	/* enable overflow exceptions */#define	FPUNFL	(1<<5)	/* enable underflow */#define	FPZDIV	(1<<4)	/* enable zero divide */#define	FPINEX	(1<<3)	/* enable inexact exceptions */#define	FPRMASK	(3<<0)	/* rounding mode */#define	FPRNR	(0<<0)#define	FPRZ	(1<<0)#define	FPRPINF	(2<<0)#define	FPRNINF	(3<<0)#define	FPPEXT	0#define	FPPSGL	0#define	FPPDBL	0#define	FPPMASK	0#define	FPINVAL	FPVE #define	FPAOVFL	FPSOX#define	FPAINEX	FPSXX#define	FPAUNFL	FPSUX#define	FPAZDIV	FPSZX#define	FPAINVAL	FPSVX#endif#endif /* __FLOAT */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t