summaryrefslogtreecommitdiff
path: root/numpy/core/src/scalarmathmodule.c.src
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2013-09-03 06:41:28 -0600
committerCharles Harris <charlesr.harris@gmail.com>2013-09-03 06:41:28 -0600
commitb35728d7858a4c4d46eefd936c33a0ffa6593082 (patch)
treec502e4e034e9fda220000ebf291019246befcdc4 /numpy/core/src/scalarmathmodule.c.src
parent294dd26004fa923a06e0898c2b72350dd44a97dd (diff)
downloadnumpy-b35728d7858a4c4d46eefd936c33a0ffa6593082.tar.gz
Revert "Merge pull request #3567 from arinkverma/avoid_conversion"
This reverts commit de9f1c92d3ca0920bce915438f0406f587aa98db, reversing changes made to d958dec676beeac218a118fac084fa8b14bc9171. There is a change of behavior in conversion of signed to unsigned PyLong that shows up on my machine. For some reason this did not show up in the travisbot tests. This reverts the merge that led to this problem until it can be sorted out. Error shows up as numpy/core/arrayprint.py", line 653, in __call__ if _MININT < x < _MAXINT: OverflowError: can't convert negative int to unsigned
Diffstat (limited to 'numpy/core/src/scalarmathmodule.c.src')
-rw-r--r--numpy/core/src/scalarmathmodule.c.src226
1 files changed, 12 insertions, 214 deletions
diff --git a/numpy/core/src/scalarmathmodule.c.src b/numpy/core/src/scalarmathmodule.c.src
index 7c0846ff7..d789a3dd4 100644
--- a/numpy/core/src/scalarmathmodule.c.src
+++ b/numpy/core/src/scalarmathmodule.c.src
@@ -661,13 +661,21 @@ static void
*/
/**begin repeat
- * #name = half, float, longdouble,
+ * #name = byte, ubyte, short, ushort, int, uint,
+ * long, ulong, longlong, ulonglong,
+ * half, float, longdouble,
* cfloat, cdouble, clongdouble#
- * #type = npy_half, npy_float, npy_longdouble,
+ * #type = npy_byte, npy_ubyte, npy_short, npy_ushort, npy_int, npy_uint,
+ * npy_long, npy_ulong, npy_longlong, npy_ulonglong,
+ * npy_half, npy_float, npy_longdouble,
* npy_cfloat, npy_cdouble, npy_clongdouble#
- * #Name = Half, Float, LongDouble,
+ * #Name = Byte, UByte, Short, UShort, Int, UInt,
+ * Long, ULong, LongLong, ULongLong,
+ * Half, Float, LongDouble,
* CFloat, CDouble, CLongDouble#
- * #TYPE = NPY_HALF, NPY_FLOAT, NPY_LONGDOUBLE,
+ * #TYPE = NPY_BYTE, NPY_UBYTE, NPY_SHORT, NPY_USHORT, NPY_INT, NPY_UINT,
+ * NPY_LONG, NPY_ULONG, NPY_LONGLONG, NPY_ULONGLONG,
+ * NPY_HALF, NPY_FLOAT, NPY_LONGDOUBLE,
* NPY_CFLOAT, NPY_CDOUBLE, NPY_CLONGDOUBLE#
*/
@@ -770,216 +778,6 @@ _@name@_convert_to_ctype(PyObject *a, @type@ *arg1)
/**begin repeat
- * #name = ubyte, ushort, uint, ulong#
- * #type = npy_ubyte, npy_ushort, npy_uint, npy_ulong#
- * #Name = UByte, UShort, UInt, ULong#
- * #TYPE = NPY_UBYTE, NPY_USHORT, NPY_UINT, NPY_ULONG#
- */
-
-static int
-_@name@_convert_to_ctype(PyObject *a, @type@ *arg1)
-{
- PyObject *temp;
-
-#if PY_VERSION_HEX < 0x03000000
- if (PyInt_CheckExact(a)) {
- *arg1 = PyInt_AsLong(a);
- if (*arg1 == -1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-#endif
-
- if(PyLong_CheckExact(a)) {
- *arg1 = PyLong_AsUnsignedLong(a);
- if (*arg1 == (unsigned long)-1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-
- if (PyArray_IsScalar(a, @Name@)) {
- *arg1 = PyArrayScalar_VAL(a, @Name@);
- return 0;
- }
- else if (PyArray_IsScalar(a, Generic)) {
- PyArray_Descr *descr1;
-
- if (!PyArray_IsScalar(a, Number)) {
- return -1;
- }
- descr1 = PyArray_DescrFromTypeObject((PyObject *)Py_TYPE(a));
- if (PyArray_CanCastSafely(descr1->type_num, @TYPE@)) {
- PyArray_CastScalarDirect(a, descr1, arg1, @TYPE@);
- Py_DECREF(descr1);
- return 0;
- }
- else {
- Py_DECREF(descr1);
- return -1;
- }
- }
- else if (PyArray_GetPriority(a, NPY_PRIORITY) > NPY_PRIORITY) {
- return -2;
- }
- else if ((temp = PyArray_ScalarFromObject(a)) != NULL) {
- int retval = _@name@_convert_to_ctype(temp, arg1);
-
- Py_DECREF(temp);
- return retval;
- }
- return -2;
-}
-
-/**end repeat**/
-
-
-/**begin repeat
- * #name = byte, short, int, long#
- * #type = npy_byte, npy_short, npy_int, npy_long#
- * #Name = Byte, Short, Int, Long#
- * #TYPE = NPY_BYTE, NPY_SHORT, NPY_INT, NPY_LONG#
- */
-
-static int
-_@name@_convert_to_ctype(PyObject *a, @type@ *arg1)
-{
- PyObject *temp;
-
-#if PY_VERSION_HEX < 0x03000000
- if (PyInt_CheckExact(a)) {
- *arg1 = PyInt_AsLong(a);
- if (*arg1 == -1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-#endif
-
- if(PyLong_CheckExact(a)) {
- *arg1 = PyLong_AsLong(a);
- if (*arg1 == -1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-
- if (PyArray_IsScalar(a, @Name@)) {
- *arg1 = PyArrayScalar_VAL(a, @Name@);
- return 0;
- }
- else if (PyArray_IsScalar(a, Generic)) {
- PyArray_Descr *descr1;
-
- if (!PyArray_IsScalar(a, Number)) {
- return -1;
- }
- descr1 = PyArray_DescrFromTypeObject((PyObject *)Py_TYPE(a));
- if (PyArray_CanCastSafely(descr1->type_num, @TYPE@)) {
- PyArray_CastScalarDirect(a, descr1, arg1, @TYPE@);
- Py_DECREF(descr1);
- return 0;
- }
- else {
- Py_DECREF(descr1);
- return -1;
- }
- }
- else if (PyArray_GetPriority(a, NPY_PRIORITY) > NPY_PRIORITY) {
- return -2;
- }
- else if ((temp = PyArray_ScalarFromObject(a)) != NULL) {
- int retval = _@name@_convert_to_ctype(temp, arg1);
-
- Py_DECREF(temp);
- return retval;
- }
- return -2;
-}
-
-/**end repeat**/
-
-
-/**begin repeat
- * #name = longlong, ulonglong#
- * #type = npy_longlong, npy_ulonglong#
- * #Name = LongLong, ULongLong#
- * #TYPE = NPY_LONGLONG, NPY_ULONGLONG#
- */#PYEXTRACTCTYPE = PyLong_AsLongLong, PyLong_AsUnsignedLongLong#
-
-static int
-_@name@_convert_to_ctype(PyObject *a, @type@ *arg1)
-{
- PyObject *temp;
-
-#if PY_VERSION_HEX < 0x03000000
- if (PyInt_CheckExact(a)) {
- *arg1 = PyInt_AsLong(a);
- if (*arg1 == -1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-#endif
-
- if (PyLong_CheckExact(a)) {
- *arg1 = @PYEXTRACTCTYPE@(a);
- if (*arg1 == (@type@)-1 && PyErr_Occurred()) {
- return -1;
- }
- else {
- return 0;
- }
- }
-
- if (PyArray_IsScalar(a, @Name@)) {
- *arg1 = PyArrayScalar_VAL(a, @Name@);
- return 0;
- }
- else if (PyArray_IsScalar(a, Generic)) {
- PyArray_Descr *descr1;
-
- if (!PyArray_IsScalar(a, Number)) {
- return -1;
- }
- descr1 = PyArray_DescrFromTypeObject((PyObject *)Py_TYPE(a));
- if (PyArray_CanCastSafely(descr1->type_num, @TYPE@)) {
- PyArray_CastScalarDirect(a, descr1, arg1, @TYPE@);
- Py_DECREF(descr1);
- return 0;
- }
- else {
- Py_DECREF(descr1);
- return -1;
- }
- }
- else if (PyArray_GetPriority(a, NPY_PRIORITY) > NPY_PRIORITY) {
- return -2;
- }
- else if ((temp = PyArray_ScalarFromObject(a)) != NULL) {
- int retval = _@name@_convert_to_ctype(temp, arg1);
-
- Py_DECREF(temp);
- return retval;
- }
- return -2;
-}
-
-/**end repeat**/
-
-
-/**begin repeat
* #name = byte, ubyte, short, ushort, int, uint,
* long, ulong, longlong, ulonglong,
* half, float, double, cfloat, cdouble#