[Scipy-svn] r6713 - trunk/scipy/optimize
scipy-svn at scipy.org
scipy-svn at scipy.org
Sat Sep 11 20:48:16 EDT 2010
Author: ptvirtan
Date: 2010-09-11 19:48:16 -0500 (Sat, 11 Sep 2010)
New Revision: 6713
Modified:
trunk/scipy/optimize/zeros.c
Log:
3K: fix scipy.optimize._zeros wrapper for py3.
Modified: trunk/scipy/optimize/zeros.c
===================================================================
--- trunk/scipy/optimize/zeros.c 2010-09-12 00:48:02 UTC (rev 6712)
+++ trunk/scipy/optimize/zeros.c 2010-09-12 00:48:16 UTC (rev 6713)
@@ -178,15 +178,42 @@
{NULL, NULL}
};
-PyMODINIT_FUNC init_zeros(void)
+static double __compute_relative_precision()
{
- double tol;
+ double tol;
- /* Determine relative precision of doubles, assumes binary */
- for(tol = 1; tol + 1 != 1; tol /= 2);
- scipy_zeros_rtol = 2*tol;
+ /* Determine relative precision of doubles, assumes binary */
+ for(tol = 1; tol + 1 != 1; tol /= 2);
+ return 2*tol;
+}
+#if PY_VERSION_HEX >= 0x03000000
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ "_zeros",
+ NULL,
+ -1,
+ Zerosmethods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyObject *PyInit__zeros(void)
+{
+ PyObject *m, *d, *s;
+
+ m = PyModule_Create(&moduledef);
+
+ scipy_zeros_rtol = __compute_relative_precision();
+
+ return m;
+}
+#else
+PyMODINIT_FUNC init_zeros(void)
+{
Py_InitModule("_zeros", Zerosmethods);
+ scipy_zeros_rtol = __compute_relative_precision();
}
-
-
+#endif
More information about the Scipy-svn
mailing list