This commit is contained in:
Benjamin Peterson 2015-03-06 09:09:46 -05:00
commit abda8ddd3e
2 changed files with 7 additions and 0 deletions

View file

@ -6,6 +6,7 @@
import math import math
from math import isinf, isnan, copysign, ldexp from math import isinf, isnan, copysign, ldexp
import operator import operator
import time
import random, fractions import random, fractions
INF = float("inf") INF = float("inf")
@ -129,6 +130,11 @@ def __float__(self):
self.assertRaises(TypeError, float, Foo4(42)) self.assertRaises(TypeError, float, Foo4(42))
self.assertAlmostEqual(float(FooStr('8')), 9.) self.assertAlmostEqual(float(FooStr('8')), 9.)
class Foo5:
def __float__(self):
return ""
self.assertRaises(TypeError, time.sleep, Foo5())
def test_is_integer(self): def test_is_integer(self):
self.assertFalse((1.1).is_integer()) self.assertFalse((1.1).is_integer())
self.assertTrue((1.).is_integer()) self.assertTrue((1.).is_integer())

View file

@ -220,6 +220,7 @@ PyFloat_AsDouble(PyObject *op)
if (fo == NULL) if (fo == NULL)
return -1; return -1;
if (!PyFloat_Check(fo)) { if (!PyFloat_Check(fo)) {
Py_DECREF(fo);
PyErr_SetString(PyExc_TypeError, PyErr_SetString(PyExc_TypeError,
"nb_float should return float object"); "nb_float should return float object");
return -1; return -1;