static PyObject * GMPy_Number_Minus(PyObject *x, CTXT_Object *context) { if (MPZ_Check(x)) return _GMPy_MPZ_Minus(x, context); if (MPQ_Check(x)) return _GMPy_MPQ_Minus(x, context); if (MPFR_Check(x)) return _GMPy_MPFR_Minus(x, context); if (MPC_Check(x)) return _GMPy_MPC_Minus(x, context); if (IS_INTEGER(x)) return GMPy_Integer_Minus(x, context); if (IS_RATIONAL_ONLY(x)) return GMPy_Rational_Minus(x, context); if (IS_REAL_ONLY(x)) return GMPy_Real_Minus(x, context); if (IS_COMPLEX_ONLY(x)) return GMPy_Complex_Minus(x, context); TYPE_ERROR("minus() argument type not supported"); return NULL; }
static PyObject * GMPy_Number_Sign(PyObject *x, CTXT_Object *context) { if (IS_INTEGER(x)) return GMPy_Integer_Sign(x, context); else if (IS_RATIONAL_ONLY(x)) return GMPy_Rational_Sign(x, context); else if (IS_REAL_ONLY(x)) return GMPy_Real_Sign(x, context); TYPE_ERROR("sign() argument type not supported"); return NULL; }
static PyObject * GMPy_Number_Abs(PyObject *x, CTXT_Object *context) { if (IS_INTEGER(x)) return GMPy_Integer_Abs(x, context); if (IS_RATIONAL_ONLY(x)) return GMPy_Rational_Abs(x, context); if (IS_REAL_ONLY(x)) return GMPy_Real_Abs(x, context); if (IS_COMPLEX_ONLY(x)) return GMPy_Complex_Abs(x, context); TYPE_ERROR("abs() argument type not supported"); return NULL; }