@@ -72,7 +72,9 @@ namespace FPU
7272XRCORE_API void m24 ()
7373{
7474#if defined(WINDOWS)
75+ #ifndef XR_X64
7576 _controlfp (_PC_24, MCW_PC);
77+ #endif
7678 _controlfp (_RC_CHOP, MCW_RC);
7779#elif defined(LINUX)
7880 fpu_control_t fpu_cw;
@@ -85,7 +87,9 @@ XRCORE_API void m24()
8587XRCORE_API void m24r ()
8688{
8789#if defined(WINDOWS)
90+ #ifndef XR_X64
8891 _controlfp (_PC_24, MCW_PC);
92+ #endif
8993 _controlfp (_RC_NEAR, MCW_RC);
9094#elif defined(LINUX)
9195 fpu_control_t fpu_cw;
@@ -98,7 +102,9 @@ XRCORE_API void m24r()
98102XRCORE_API void m53 ()
99103{
100104#if defined(WINDOWS)
105+ #ifndef XR_X64
101106 _controlfp (_PC_53, MCW_PC);
107+ #endif
102108 _controlfp (_RC_CHOP, MCW_RC);
103109#elif defined(LINUX)
104110 fpu_control_t fpu_cw;
@@ -111,7 +117,9 @@ XRCORE_API void m53()
111117XRCORE_API void m53r ()
112118{
113119#if defined(WINDOWS)
120+ #ifndef XR_X64
114121 _controlfp (_PC_53, MCW_PC);
122+ #endif
115123 _controlfp (_RC_NEAR, MCW_RC);
116124#elif defined(LINUX)
117125 fpu_control_t fpu_cw;
@@ -124,7 +132,9 @@ XRCORE_API void m53r()
124132XRCORE_API void m64 ()
125133{
126134#if defined(WINDOWS)
135+ #ifndef XR_X64
127136 _controlfp (_PC_64, MCW_PC);
137+ #endif
128138 _controlfp (_RC_CHOP, MCW_RC);
129139#elif defined(LINUX)
130140 fpu_control_t fpu_cw;
@@ -137,7 +147,9 @@ XRCORE_API void m64()
137147XRCORE_API void m64r ()
138148{
139149#if defined(WINDOWS)
150+ #ifndef XR_X64
140151 _controlfp (_PC_64, MCW_PC);
152+ #endif
141153 _controlfp (_RC_NEAR, MCW_RC);
142154#elif defined(LINUX)
143155 fpu_control_t fpu_cw;
@@ -247,8 +259,10 @@ void Detect()
247259 clk_per_milisec = clk_per_second / 1000 ;
248260 clk_per_microsec = clk_per_milisec / 1000 ;
249261
262+ #ifndef XR_X64
250263 _control87 (_PC_64, MCW_PC);
251- // _control87 ( _RC_CHOP, MCW_RC );
264+ #endif
265+
252266 double a, b;
253267 a = 1 ;
254268 b = double (clk_per_second);
0 commit comments