mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-26 03:08:55 -06:00
Support (small, size = 1) negative integers
This commit is contained in:
@@ -79,11 +79,12 @@ PgfExpr eimplarg(PgfUnmarshaller *this, PgfExpr expr)
|
|||||||
|
|
||||||
PgfLiteral lint(PgfUnmarshaller *this, size_t size, uintmax_t *v)
|
PgfLiteral lint(PgfUnmarshaller *this, size_t size, uintmax_t *v)
|
||||||
{
|
{
|
||||||
|
intmax_t *v0 = (intmax_t *)v;
|
||||||
if (size > 1) {
|
if (size > 1) {
|
||||||
PyErr_SetString(PyExc_NotImplementedError, "multi-part integers not implemented"); // TODO
|
PyErr_SetString(PyExc_NotImplementedError, "multi-part integers not implemented"); // TODO
|
||||||
Py_RETURN_NOTIMPLEMENTED;
|
Py_RETURN_NOTIMPLEMENTED;
|
||||||
}
|
}
|
||||||
PyObject *i = PyLong_FromUnsignedLong(*v);
|
PyObject *i = PyLong_FromLong(*v0);
|
||||||
return (PgfLiteral) i;
|
return (PgfLiteral) i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -136,6 +136,15 @@ def test_readExpr_invalid():
|
|||||||
def test_readExpr_equality_int():
|
def test_readExpr_equality_int():
|
||||||
assert pgf.readExpr("123") == pgf.readExpr("123")
|
assert pgf.readExpr("123") == pgf.readExpr("123")
|
||||||
|
|
||||||
|
def test_readExpr_equality_int_neg():
|
||||||
|
assert pgf.readExpr("-123") == pgf.readExpr("-123")
|
||||||
|
|
||||||
|
# def test_readExpr_equality_int_big():
|
||||||
|
# assert pgf.readExpr("774763251095801167872") == pgf.readExpr("774763251095801167872")
|
||||||
|
|
||||||
|
# def test_readExpr_equality_int_big_neg():
|
||||||
|
# assert pgf.readExpr("-774763251095801167872") == pgf.readExpr("-774763251095801167872")
|
||||||
|
|
||||||
def test_readExpr_inequality_int():
|
def test_readExpr_inequality_int():
|
||||||
assert pgf.readExpr("123") != pgf.readExpr("456")
|
assert pgf.readExpr("123") != pgf.readExpr("456")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user