@@ -1254,37 +1254,35 @@ static PyMethodDef cmath_methods[] = {
1254
1254
{NULL , NULL } /* sentinel */
1255
1255
};
1256
1256
1257
-
1258
- static struct PyModuleDef cmathmodule = {
1259
- PyModuleDef_HEAD_INIT ,
1260
- "cmath" ,
1261
- module_doc ,
1262
- -1 ,
1263
- cmath_methods ,
1264
- NULL ,
1265
- NULL ,
1266
- NULL ,
1267
- NULL
1268
- };
1269
-
1270
- PyMODINIT_FUNC
1271
- PyInit_cmath (void )
1257
+ static int
1258
+ cmath_exec (PyObject * mod )
1272
1259
{
1273
- PyObject * m ;
1274
-
1275
- m = PyModule_Create (& cmathmodule );
1276
- if (m == NULL )
1277
- return NULL ;
1278
-
1279
- PyModule_AddObject (m , "pi" ,
1280
- PyFloat_FromDouble (Py_MATH_PI ));
1281
- PyModule_AddObject (m , "e" , PyFloat_FromDouble (Py_MATH_E ));
1282
- PyModule_AddObject (m , "tau" , PyFloat_FromDouble (Py_MATH_TAU )); /* 2pi */
1283
- PyModule_AddObject (m , "inf" , PyFloat_FromDouble (m_inf ()));
1284
- PyModule_AddObject (m , "infj" , PyComplex_FromCComplex (c_infj ()));
1260
+ if (PyModule_AddObject (mod , "pi" , PyFloat_FromDouble (Py_MATH_PI )) < 0 ) {
1261
+ return -1 ;
1262
+ }
1263
+ if (PyModule_AddObject (mod , "e" , PyFloat_FromDouble (Py_MATH_E )) < 0 ) {
1264
+ return -1 ;
1265
+ }
1266
+ // 2pi
1267
+ if (PyModule_AddObject (mod , "tau" , PyFloat_FromDouble (Py_MATH_TAU )) < 0 ) {
1268
+ return -1 ;
1269
+ }
1270
+ if (PyModule_AddObject (mod , "inf" , PyFloat_FromDouble (m_inf ())) < 0 ) {
1271
+ return -1 ;
1272
+ }
1273
+
1274
+ if (PyModule_AddObject (mod , "infj" ,
1275
+ PyComplex_FromCComplex (c_infj ())) < 0 ) {
1276
+ return -1 ;
1277
+ }
1285
1278
#if !defined(PY_NO_SHORT_FLOAT_REPR ) || defined(Py_NAN )
1286
- PyModule_AddObject (m , "nan" , PyFloat_FromDouble (m_nan ()));
1287
- PyModule_AddObject (m , "nanj" , PyComplex_FromCComplex (c_nanj ()));
1279
+ if (PyModule_AddObject (mod , "nan" , PyFloat_FromDouble (m_nan ())) < 0 ) {
1280
+ return -1 ;
1281
+ }
1282
+ if (PyModule_AddObject (mod , "nanj" ,
1283
+ PyComplex_FromCComplex (c_nanj ())) < 0 ) {
1284
+ return -1 ;
1285
+ }
1288
1286
#endif
1289
1287
1290
1288
/* initialize special value tables */
@@ -1401,5 +1399,25 @@ PyInit_cmath(void)
1401
1399
C (INF ,N ) C (U ,U ) C (INF ,-0. ) C (INF ,0. ) C (U ,U ) C (INF ,N ) C (INF ,N )
1402
1400
C (N ,N ) C (N ,N ) C (N ,0. ) C (N ,0. ) C (N ,N ) C (N ,N ) C (N ,N )
1403
1401
})
1404
- return m ;
1402
+ return 0 ;
1405
1403
}
1404
+
1405
+ static PyModuleDef_Slot cmath_slots [] = {
1406
+ {Py_mod_exec , cmath_exec },
1407
+ {0 , NULL }
1408
+ };
1409
+
1410
+ static struct PyModuleDef cmathmodule = {
1411
+ PyModuleDef_HEAD_INIT ,
1412
+ .m_name = "cmath" ,
1413
+ .m_doc = module_doc ,
1414
+ .m_size = 0 ,
1415
+ .m_methods = cmath_methods ,
1416
+ .m_slots = cmath_slots
1417
+ };
1418
+
1419
+ PyMODINIT_FUNC
1420
+ PyInit_cmath (void )
1421
+ {
1422
+ return PyModuleDef_Init (& cmathmodule );
1423
+ }
0 commit comments