Lines Matching refs:op
25 /* Set iop to the integral part of op and fop to its fractional part */
27 mpfr_modf (mpfr_ptr iop, mpfr_ptr fop, mpfr_srcptr op, mpfr_rnd_t rnd_mode)
34 (("op[%Pu]=%.*Rg rnd=%d",
35 mpfr_get_prec (op), mpfr_log_prec, op, rnd_mode),
42 if ( MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)) )
44 if (MPFR_IS_NAN (op))
50 MPFR_SET_SAME_SIGN (iop, op);
51 MPFR_SET_SAME_SIGN (fop, op);
52 if (MPFR_IS_INF (op))
58 else /* op is zero */
60 MPFR_ASSERTD (MPFR_IS_ZERO (op));
67 ope = MPFR_GET_EXP (op);
68 opq = MPFR_PREC (op);
70 if (ope <= 0) /* 0 < |op| < 1 */
72 inexf = (fop != op) ? mpfr_set (fop, op, rnd_mode) : 0;
73 MPFR_SET_SAME_SIGN (iop, op);
77 else if (ope >= opq) /* op has no fractional part */
79 inexi = (iop != op) ? mpfr_set (iop, op, rnd_mode) : 0;
80 MPFR_SET_SAME_SIGN (fop, op);
84 else /* op has both integral and fractional parts */
86 if (iop != op)
88 inexi = mpfr_rint_trunc (iop, op, rnd_mode);
89 inexf = mpfr_frac (fop, op, rnd_mode);
93 MPFR_ASSERTN (fop != op);
94 inexf = mpfr_frac (fop, op, rnd_mode);
95 inexi = mpfr_rint_trunc (iop, op, rnd_mode);