File tree Expand file tree Collapse file tree 1 file changed +4
-14
lines changed Expand file tree Collapse file tree 1 file changed +4
-14
lines changed Original file line number Diff line number Diff line change @@ -255,19 +255,9 @@ class MPFRNumber {
255
255
mpfr_cospi (result.value , value, mpfr_rounding);
256
256
return result;
257
257
#else
258
- MPFRNumber value_frac (*this );
259
- mpfr_frac (value_frac.value , value, MPFR_RNDN);
260
-
261
- if (mpfr_cmp_si (value_frac.value , 0.0 ) == 0 ) {
262
- mpz_t integer_part;
263
- mpz_init (integer_part);
264
- mpfr_get_z (integer_part, value, MPFR_RNDN);
265
-
266
- if (mpz_tstbit (integer_part, 0 )) {
267
- mpfr_set_si (result.value , -1.0 , MPFR_RNDN); // odd
268
- } else {
269
- mpfr_set_si (result.value , 1.0 , MPFR_RNDN); // even
270
- }
258
+ if (mpfr_integer_p (value)) {
259
+ auto d = mpfr_get_si (value, mpfr_rounding);
260
+ mpfr_set_si (result.value , (d & 1 ) ? -1 : 1 , mpfr_rounding);
271
261
return result;
272
262
}
273
263
@@ -277,7 +267,7 @@ class MPFRNumber {
277
267
mpfr_cos (result.value , value_pi.value , mpfr_rounding);
278
268
279
269
return result;
280
- #endif
270
+ // #endif
281
271
}
282
272
283
273
MPFRNumber erf () const {
You can’t perform that action at this time.
0 commit comments