Perform build and magnum tuning

Building o//third_party/python now takes 5 seconds on my PC

This change works towards modifying Python to use runtime dispatching
when appropriate. For example, when loading the magnums in the socket
module, it's a good idea to check if the magnum is zero, because that
means the local system platform doesn't support it.
This commit is contained in:
Justine Tunney 2021-08-10 10:26:13 -07:00
parent ee7e296339
commit d26d7ae0e4
1028 changed files with 6576 additions and 172777 deletions

View file

@ -1,14 +1,14 @@
/* clang-format off */
/* Complex math module */
/* much code borrowed from mathmodule.c */
#include "Python.h"
#include "_math.h"
#include "third_party/python/Include/Python.h"
#include "third_party/python/Modules/_math.h"
/* we need DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MANT_DIG and FLT_RADIX from
float.h. We assume that FLT_RADIX is either 2 or 16. */
#include <float.h>
#include "clinic/cmathmodule.c.h"
#include "third_party/python/Modules/clinic/cmathmodule.inc"
/*[clinic input]
module cmath
[clinic start generated code]*/
@ -46,14 +46,6 @@ else {
#error "Modules/cmathmodule.c expects FLT_RADIX to be 2 or 16"
#endif
#ifndef M_LN2
#define M_LN2 (0.6931471805599453094) /* natural log of 2 */
#endif
#ifndef M_LN10
#define M_LN10 (2.302585092994045684) /* natural log of 10 */
#endif
/*
CM_LARGE_DOUBLE is used to avoid spurious overflow in the sqrt, log,
inverse trig and inverse hyperbolic trig functions. Its log is used in the