[Python-Dev] PEP 485 isclose() implementation review requested
Christian Heimes
christian at python.org
Mon May 18 01:16:13 CEST 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
On 2015-05-18 01:02, Chris Barker wrote:
> * Is there a better way to create a False or True than::
>
> PyBool_FromLong(0) and PyBool_FromLong(1)
You can use the macros Py_RETURN_TRUE and Py_RETURN_FALSE instead of
return PyBool_FromLong(0).
> * Style question: should I put brackets in an if clause that has
> only one line?::
>
> if (some_check) { just_this_one_expression }
I prefer the extra brackets because they make the code more explicit.
It's really a matter of taste.
> * I can't find docs for PyDoc_STRVAR: but it looks like it should
> use it -- how?
PyDoc_STRVAR(functionname_doc,
"isclose(foo) -> bool\n\
\n\
long doc string.");
> * I'm getting a warning in my PyMethodDef clause::
>
> static PyMethodDef IsCloseMethods[] = { {"isclose", isclose_c,
> METH_VARARGS | METH_KEYWORDS, "determine if two floating point
> numbers are close"}, {NULL, NULL, 0, NULL} /* Sentinel */
> };
You have to type cast the function pointer to a PyCFunction here:
(PyCFunction)isclose_c
The type cast is required for KEYWORD functions and NOARGS functions.
Christian
More information about the Python-Dev
mailing list