1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2 * gmpy2_fused.h * 3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4 * Python interface to the GMP or MPIR, MPFR, and MPC multiple precision * 5 * libraries. * 6 * * 7 * Copyright 2000 - 2009 Alex Martelli * 8 * * 9 * Copyright 2008 - 2021 Case Van Horsen * 10 * * 11 * This file is part of GMPY2. * 12 * * 13 * GMPY2 is free software: you can redistribute it and/or modify it under * 14 * the terms of the GNU Lesser General Public License as published by the * 15 * Free Software Foundation, either version 3 of the License, or (at your * 16 * option) any later version. * 17 * * 18 * GMPY2 is distributed in the hope that it will be useful, but WITHOUT * 19 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * 20 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * 21 * License for more details. * 22 * * 23 * You should have received a copy of the GNU Lesser General Public * 24 * License along with GMPY2; if not, see <http://www.gnu.org/licenses/> * 25 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 26 27 #ifndef GMPY_FUSED_H 28 #define GMPY_FUSED_H 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 static PyObject * GMPy_IntegerWithType_FMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 35 static PyObject * GMPy_RationalWithType_FMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 36 static PyObject * GMPy_RealWithType_FMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 37 static PyObject * GMPy_ComplexWithType_FMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 38 static PyObject * GMPy_Number_FMA(PyObject *x, PyObject *y, PyObject *z, CTXT_Object *context); 39 static PyObject * GMPy_Context_FMA(PyObject *self, PyObject *args); 40 41 static PyObject * GMPy_IntegerWithType_FMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 42 static PyObject * GMPy_RationalWithType_FMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 43 static PyObject * GMPy_RealWithType_FMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 44 static PyObject * GMPy_ComplexWithType_FMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, CTXT_Object *context); 45 static PyObject * GMPy_Number_FMS(PyObject *x, PyObject *y, PyObject *z, CTXT_Object *context); 46 static PyObject * GMPy_Context_FMS(PyObject *self, PyObject *args); 47 48 #if MPFR_VERSION_MAJOR > 3 49 static PyObject * GMPy_IntegerWithType_FMMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype, CTXT_Object *context); 50 static PyObject * GMPy_RationalWithType_FMMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype,CTXT_Object *context); 51 static PyObject * GMPy_RealWithType_FMMA(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype,CTXT_Object *context); 52 static PyObject * GMPy_Number_FMMA(PyObject *x, PyObject *y, PyObject *z, PyObject *t, CTXT_Object *context); 53 static PyObject * GMPy_Context_FMMA(PyObject *self, PyObject *args); 54 55 static PyObject * GMPy_IntegerWithType_FMMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype, CTXT_Object *context); 56 static PyObject * GMPy_RationalWithType_FMMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype,CTXT_Object *context); 57 static PyObject * GMPy_RealWithType_FMMS(PyObject *x, int xtype, PyObject *y, int ytype, PyObject *z, int ztype, PyObject *t, int ttype,CTXT_Object *context); 58 static PyObject * GMPy_Number_FMMS(PyObject *x, PyObject *y, PyObject *z, PyObject *t, CTXT_Object *context); 59 static PyObject * GMPy_Context_FMMS(PyObject *self, PyObject *args); 60 #endif 61 62 #ifdef __cplusplus 63 } 64 #endif 65 #endif 66