MCPcopy Create free account
hub / github.com/numpy/numpy / initumath

Function initumath

numpy/core/src/umath/umathmodule.c:251–361  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

249/* Setup the umath part of the module */
250
251int initumath(PyObject *m)
252{
253 PyObject *d, *s, *s2;
254 int UFUNC_FLOATING_POINT_SUPPORT = 1;
255
256#ifdef NO_UFUNC_FLOATING_POINT_SUPPORT
257 UFUNC_FLOATING_POINT_SUPPORT = 0;
258#endif
259
260 /* Add some symbolic constants to the module */
261 d = PyModule_GetDict(m);
262
263 if (InitOperators(d) < 0) {
264 return -1;
265 }
266
267 PyDict_SetItemString(d, "pi", s = PyFloat_FromDouble(NPY_PI));
268 Py_DECREF(s);
269 PyDict_SetItemString(d, "e", s = PyFloat_FromDouble(NPY_E));
270 Py_DECREF(s);
271 PyDict_SetItemString(d, "euler_gamma", s = PyFloat_FromDouble(NPY_EULER));
272 Py_DECREF(s);
273
274#define ADDCONST(str) PyModule_AddIntConstant(m, #str, UFUNC_##str)
275#define ADDSCONST(str) PyModule_AddStringConstant(m, "UFUNC_" #str, UFUNC_##str)
276
277 ADDCONST(ERR_IGNORE);
278 ADDCONST(ERR_WARN);
279 ADDCONST(ERR_CALL);
280 ADDCONST(ERR_RAISE);
281 ADDCONST(ERR_PRINT);
282 ADDCONST(ERR_LOG);
283 ADDCONST(ERR_DEFAULT);
284
285 ADDCONST(SHIFT_DIVIDEBYZERO);
286 ADDCONST(SHIFT_OVERFLOW);
287 ADDCONST(SHIFT_UNDERFLOW);
288 ADDCONST(SHIFT_INVALID);
289
290 ADDCONST(FPE_DIVIDEBYZERO);
291 ADDCONST(FPE_OVERFLOW);
292 ADDCONST(FPE_UNDERFLOW);
293 ADDCONST(FPE_INVALID);
294
295 ADDCONST(FLOATING_POINT_SUPPORT);
296
297 ADDSCONST(PYVALS_NAME);
298
299#undef ADDCONST
300#undef ADDSCONST
301 PyModule_AddIntConstant(m, "UFUNC_BUFSIZE_DEFAULT", (long)NPY_BUFSIZE);
302
303 PyModule_AddObject(m, "PINF", PyFloat_FromDouble(NPY_INFINITY));
304 PyModule_AddObject(m, "NINF", PyFloat_FromDouble(-NPY_INFINITY));
305 PyModule_AddObject(m, "PZERO", PyFloat_FromDouble(NPY_PZERO));
306 PyModule_AddObject(m, "NZERO", PyFloat_FromDouble(NPY_NZERO));
307 PyModule_AddObject(m, "NAN", PyFloat_FromDouble(NPY_NAN));
308

Callers 1

PyInit__multiarray_umathFunction · 0.85

Calls 4

_PyArray_SetNumericOpsFunction · 0.85
init_string_ufuncsFunction · 0.85
intern_stringsFunction · 0.70

Tested by

no test coverage detected