version 1.6, 2003/12/08 07:15:28 |
version 1.13, 2015/08/14 13:51:55 |
|
|
/* |
/* |
* $OpenXM: OpenXM_contrib2/asir2000/include/interval.h,v 1.5 2002/01/08 04:14:38 kondoh Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/include/interval.h,v 1.12 2015/08/06 10:01:52 fujimoto Exp $ |
*/ |
*/ |
#ifndef _INTERVAL_H |
#ifndef _INTERVAL_H |
#define _INTERVAL_H |
#define _INTERVAL_H |
Line 34 static char *Interval_dummy; |
|
Line 34 static char *Interval_dummy; |
|
#include <fpu_control.h> |
#include <fpu_control.h> |
#if 1 |
#if 1 |
#define LINUX_FPU_RC_MASK 0xf3ff |
#define LINUX_FPU_RC_MASK 0xf3ff |
#define LINUX_FPU_SETCW(c) {_FPU_GETCW(__fpu_control);\ |
#define LINUX_FPU_SETCW(c) \ |
_FPU_SETCW(__fpu_control & LINUX_FPU_RC_MASK | c);} |
{fpu_control_t __tmp__; _FPU_GETCW(__fpu_control);\ |
|
__tmp__ = (__fpu_control & LINUX_FPU_RC_MASK | c);\ |
|
_FPU_SETCW(__tmp__);} |
#define FPNEAREST LINUX_FPU_SETCW(_FPU_RC_NEAREST); |
#define FPNEAREST LINUX_FPU_SETCW(_FPU_RC_NEAREST); |
#define FPPLUSINF LINUX_FPU_SETCW(_FPU_RC_UP); |
#define FPPLUSINF LINUX_FPU_SETCW(_FPU_RC_UP); |
#define FPMINUSINF LINUX_FPU_SETCW(_FPU_RC_DOWN); |
#define FPMINUSINF LINUX_FPU_SETCW(_FPU_RC_DOWN); |
Line 66 static char *Interval_dummy; |
|
Line 68 static char *Interval_dummy; |
|
#endif |
#endif |
#endif |
#endif |
|
|
#if defined(__FreeBSD__) |
#if defined(__FreeBSD__) && defined(__GNUC__) |
#include <floatingpoint.h> |
#include <floatingpoint.h> |
#define FPNEAREST fpsetround(FP_RN); |
#define FPNEAREST fpsetround(FP_RN); |
#define FPPLUSINF fpsetround(FP_RP); |
#define FPPLUSINF fpsetround(FP_RP); |
Line 74 static char *Interval_dummy; |
|
Line 76 static char *Interval_dummy; |
|
#define FPTOZERO fpsetround(FP_RZ); |
#define FPTOZERO fpsetround(FP_RZ); |
#endif |
#endif |
|
|
#if defined(VISUAL) |
#if defined(VISUAL) || defined(__MINGW32__) |
#include <float.h> |
#include <float.h> |
#define FPNEAREST _controlfp(_RC_NEAR,_MCW_RC); |
#define FPNEAREST _controlfp(_RC_NEAR,_MCW_RC); |
#define FPPLUSINF _controlfp(_RC_UP,_MCW_RC); |
#define FPPLUSINF _controlfp(_RC_UP,_MCW_RC); |
Line 99 static char *Interval_dummy; |
|
Line 101 static char *Interval_dummy; |
|
|
|
#define MID_PRINTF_G 2 |
#define MID_PRINTF_G 2 |
#define MID_PRINTF_E 3 |
#define MID_PRINTF_E 3 |
|
|
#undef N_C |
|
#undef N_M |
|
#undef N_LM |
|
#undef N_GF2N |
|
#undef N_GFPN |
|
#undef N_GFS |
|
#undef N_GFSN |
|
#define N_NEXT_B (N_B+1) |
|
#define N_Quad (N_NEXT_B) |
|
#define N_IP (N_NEXT_B+1) |
|
#define N_IntervalDouble (N_NEXT_B+2) |
|
#define N_IntervalQuad (N_NEXT_B+3) |
|
#define N_IntervalBigFloat (N_NEXT_B+4) |
|
#define N_PRE_C N_IntervalBigFloat |
|
#define N_C (N_NEXT_B+5) |
|
#define N_M (N_NEXT_B+6) |
|
#define N_LM (N_NEXT_B+7) |
|
#define N_GF2N (N_NEXT_B+8) |
|
#define N_GFPN (N_NEXT_B+9) |
|
#define N_GFS (N_NEXT_B+10) |
|
#define N_GFSN (N_NEXT_B+11) |
|
|
|
/* data structures */ |
/* data structures */ |
struct oItv { |
struct oItv { |