chiark / gitweb /
Initial push
[termux-packages] / packages / python / mathmodule.c.patch
1 The math module uses function pointers to math functions, which breaks
2 using the system libm on ARM since we compile with -mhard-float.
3
4 diff -u -r ../Python-3.4.3/Modules/mathmodule.c ./Modules/mathmodule.c
5 --- ../Python-3.4.3/Modules/mathmodule.c        2015-02-25 06:27:46.000000000 -0500
6 +++ ./Modules/mathmodule.c      2015-04-29 16:50:52.895371496 -0400
7 @@ -727,7 +727,7 @@
8  */
9  
10  static PyObject *
11 -math_1_to_whatever(PyObject *arg, double (*func) (double),
12 +math_1_to_whatever(PyObject *arg, __NDK_FPABI_MATH__ double (*func) (double),
13                     PyObject *(*from_double_func) (double),
14                     int can_overflow)
15  {
16 @@ -765,7 +765,7 @@
17     errno = ERANGE for overflow). */
18  
19  static PyObject *
20 -math_1a(PyObject *arg, double (*func) (double))
21 +math_1a(PyObject *arg, __NDK_FPABI_MATH__ double (*func) (double))
22  {
23      double x, r;
24      x = PyFloat_AsDouble(arg);
25 @@ -808,19 +808,19 @@
26  */
27  
28  static PyObject *
29 -math_1(PyObject *arg, double (*func) (double), int can_overflow)
30 +math_1(PyObject *arg, __NDK_FPABI_MATH__ double (*func) (double), int can_overflow)
31  {
32      return math_1_to_whatever(arg, func, PyFloat_FromDouble, can_overflow);
33  }
34  
35  static PyObject *
36 -math_1_to_int(PyObject *arg, double (*func) (double), int can_overflow)
37 +math_1_to_int(PyObject *arg, __NDK_FPABI_MATH__ double (*func) (double), int can_overflow)
38  {
39      return math_1_to_whatever(arg, func, PyLong_FromDouble, can_overflow);
40  }
41  
42  static PyObject *
43 -math_2(PyObject *args, double (*func) (double, double), char *funcname)
44 +math_2(PyObject *args, __NDK_FPABI_MATH__ double (*func) (double, double), char *funcname)
45  {
46      PyObject *ox, *oy;
47      double x, y, r;