Backport bff16086f03b and bcaaaa00425b.

This commit is contained in:
Stefan Krah 2013-05-29 19:14:17 +02:00
parent 6edda14b29
commit 891ca9e06a
2 changed files with 18 additions and 5 deletions

View file

@ -5373,6 +5373,19 @@ def test_from_tuple(self):
x = (1, (0, 1), "N")
self.assertEqual(str(Decimal(x)), '-sNaN1')
def test_sizeof(self):
Decimal = C.Decimal
HAVE_CONFIG_64 = (C.MAX_PREC > 425000000)
self.assertGreater(Decimal(0).__sizeof__(), 0)
if HAVE_CONFIG_64:
x = Decimal(10**(19*24)).__sizeof__()
y = Decimal(10**(19*25)).__sizeof__()
self.assertEqual(y, x+8)
else:
x = Decimal(10**(9*24)).__sizeof__()
y = Decimal(10**(9*25)).__sizeof__()
self.assertEqual(y, x+4)
all_tests = [
CExplicitConstructionTest, PyExplicitConstructionTest,

View file

@ -4469,10 +4469,10 @@ _dec_hash(PyDecObject *v)
goto malloc_error;
}
else {
PyErr_SetString(PyExc_RuntimeError,
"dec_hash: internal error: please report");
PyErr_SetString(PyExc_RuntimeError, /* GCOV_NOT_REACHED */
"dec_hash: internal error: please report"); /* GCOV_NOT_REACHED */
}
result = -1;
result = -1; /* GCOV_NOT_REACHED */
}
@ -5623,7 +5623,7 @@ PyInit__decimal(void)
}
if (base == NULL) {
goto error;
goto error; /* GCOV_NOT_REACHED */
}
ASSIGN_PTR(cm->ex, PyErr_NewException((char *)cm->fqname, base, NULL));
@ -5655,7 +5655,7 @@ PyInit__decimal(void)
base = PyTuple_Pack(1, signal_map[0].ex);
}
if (base == NULL) {
goto error;
goto error; /* GCOV_NOT_REACHED */
}
ASSIGN_PTR(cm->ex, PyErr_NewException((char *)cm->fqname, base, NULL));