static PyObject * _GMPy_MPC_Atanh(PyObject *x, CTXT_Object *context) { MPC_Object *result; CHECK_CONTEXT(context); if (!(result = GMPy_MPC_New(0, 0, context))) { return NULL; } result->rc = mpc_atanh(result->c, MPC(x), GET_MPC_ROUND(context)); _GMPy_MPC_Cleanup(&result, context); return (PyObject*)result; }
static void bug20091120 (void) { mpc_t x, y; mpc_init2 (x, 53); mpc_init3 (y, 17, 42); mpc_set_ui_ui (x, 1, 1, MPC_RNDNN); mpc_atanh (y, x, MPC_RNDNN); if (mpfr_get_prec (mpc_realref(y)) != 17 || mpfr_get_prec (mpc_imagref(y)) != 42) { printf ("Error, mpc_atanh changed the precisions!!!\n"); exit (1); } mpc_clear (x); mpc_clear (y); }