Commit | Line | Data |
---|---|---|
59f0d218 FF |
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; |