=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/include/interval.h,v retrieving revision 1.5 retrieving revision 1.9 diff -u -p -r1.5 -r1.9 --- OpenXM_contrib2/asir2000/include/interval.h 2002/01/08 04:14:38 1.5 +++ OpenXM_contrib2/asir2000/include/interval.h 2005/02/08 16:42:40 1.9 @@ -1,5 +1,5 @@ /* - * $OpenXM: OpenXM_contrib2/asir2000/include/interval.h,v 1.4 2002/01/04 17:01:40 saito Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/include/interval.h,v 1.8 2004/12/10 07:36:34 noro Exp $ */ #ifndef _INTERVAL_H #define _INTERVAL_H @@ -66,7 +66,7 @@ static char *Interval_dummy; #endif #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) && defined(__GNUC__) #include #define FPNEAREST fpsetround(FP_RN); #define FPPLUSINF fpsetround(FP_RP); @@ -74,6 +74,14 @@ static char *Interval_dummy; #define FPTOZERO fpsetround(FP_RZ); #endif +#if defined(VISUAL) +#include +#define FPNEAREST _controlfp(_RC_NEAR,_MCW_RC); +#define FPPLUSINF _controlfp(_RC_UP,_MCW_RC); +#define FPMINUSINF _controlfp(_RC_DOWN,_MCW_RC); +#define FPTOZERO _controlfp(_RC_CHOP,_MCW_RC); +#endif + /* no control function of floating point rounding */ #ifndef FPNEAREST #define FPNEAREST fprintf(stderr, "Fpu control FPNEAREST is not supported in this machine yet.\n"); @@ -99,6 +107,7 @@ static char *Interval_dummy; #undef N_GFPN #undef N_GFS #undef N_GFSN +#undef N_DA #define N_NEXT_B (N_B+1) #define N_Quad (N_NEXT_B) #define N_IP (N_NEXT_B+1) @@ -113,6 +122,7 @@ static char *Interval_dummy; #define N_GFPN (N_NEXT_B+9) #define N_GFS (N_NEXT_B+10) #define N_GFSN (N_NEXT_B+11) +#define N_DA (N_NEXT_B+12) /* data structures */ struct oItv {