ieee754dp.h (2d8ad8719591fa803b0d589ed057fa46f49b7155) | ieee754dp.h (cae55066cb1ce3f8572ddddbd3ec3c54b973a89c) |
---|---|
1/* 2 * IEEE754 floating point 3 * double precision internal header file 4 */ 5/* 6 * MIPS floating point support 7 * Copyright (C) 1994-2000 Algorithmics Ltd. 8 * --- 10 unchanged lines hidden (view full) --- 19 * 20 * You should have received a copy of the GNU General Public License along 21 * with this program; if not, write to the Free Software Foundation, Inc., 22 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 23 * 24 * ######################################################################## 25 */ 26 | 1/* 2 * IEEE754 floating point 3 * double precision internal header file 4 */ 5/* 6 * MIPS floating point support 7 * Copyright (C) 1994-2000 Algorithmics Ltd. 8 * --- 10 unchanged lines hidden (view full) --- 19 * 20 * You should have received a copy of the GNU General Public License along 21 * with this program; if not, write to the Free Software Foundation, Inc., 22 * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 23 * 24 * ######################################################################## 25 */ 26 |
27#include <linux/compiler.h> |
|
27 28#include "ieee754int.h" 29 30#define assert(expr) ((void)0) 31 32/* 3bit extended double precision sticky right shift */ 33#define XDPSRS(v,rs) \ 34 ((rs > (DP_MBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0)) --- 22 unchanged lines hidden (view full) --- 57 r.parts.sign = s; 58 r.parts.bexp = bx; 59 r.parts.mant = m; 60 return r; 61} 62 63extern int ieee754dp_isnan(ieee754dp); 64extern int ieee754dp_issnan(ieee754dp); | 28 29#include "ieee754int.h" 30 31#define assert(expr) ((void)0) 32 33/* 3bit extended double precision sticky right shift */ 34#define XDPSRS(v,rs) \ 35 ((rs > (DP_MBITS+3))?1:((v) >> (rs)) | ((v) << (64-(rs)) != 0)) --- 22 unchanged lines hidden (view full) --- 58 r.parts.sign = s; 59 r.parts.bexp = bx; 60 r.parts.mant = m; 61 return r; 62} 63 64extern int ieee754dp_isnan(ieee754dp); 65extern int ieee754dp_issnan(ieee754dp); |
65extern int ieee754si_xcpt(int, const char *, ...); 66extern s64 ieee754di_xcpt(s64, const char *, ...); 67extern ieee754dp ieee754dp_xcpt(ieee754dp, const char *, ...); 68extern ieee754dp ieee754dp_nanxcpt(ieee754dp, const char *, ...); | 66extern int __cold ieee754si_xcpt(int, const char *, ...); 67extern s64 __cold ieee754di_xcpt(s64, const char *, ...); 68extern ieee754dp __cold ieee754dp_xcpt(ieee754dp, const char *, ...); 69extern ieee754dp __cold ieee754dp_nanxcpt(ieee754dp, const char *, ...); |
69extern ieee754dp ieee754dp_bestnan(ieee754dp, ieee754dp); 70extern ieee754dp ieee754dp_format(int, int, u64); 71 72 73#define DPNORMRET2(s, e, m, name, a0, a1) \ 74{ \ 75 ieee754dp V = ieee754dp_format(s, e, m); \ 76 if(TSTX()) \ 77 return ieee754dp_xcpt(V, name, a0, a1); \ 78 else \ 79 return V; \ 80} 81 82#define DPNORMRET1(s, e, m, name, a0) DPNORMRET2(s, e, m, name, a0, a0) | 70extern ieee754dp ieee754dp_bestnan(ieee754dp, ieee754dp); 71extern ieee754dp ieee754dp_format(int, int, u64); 72 73 74#define DPNORMRET2(s, e, m, name, a0, a1) \ 75{ \ 76 ieee754dp V = ieee754dp_format(s, e, m); \ 77 if(TSTX()) \ 78 return ieee754dp_xcpt(V, name, a0, a1); \ 79 else \ 80 return V; \ 81} 82 83#define DPNORMRET1(s, e, m, name, a0) DPNORMRET2(s, e, m, name, a0, a0) |