mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -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)
|
||||
{
|
||||
intmax_t *v0 = (intmax_t *)v;
|
||||
if (size > 1) {
|
||||
PyErr_SetString(PyExc_NotImplementedError, "multi-part integers not implemented"); // TODO
|
||||
Py_RETURN_NOTIMPLEMENTED;
|
||||
}
|
||||
PyObject *i = PyLong_FromUnsignedLong(*v);
|
||||
PyObject *i = PyLong_FromLong(*v0);
|
||||
return (PgfLiteral) i;
|
||||
}
|
||||
|
||||
|
||||
@@ -136,6 +136,15 @@ def test_readExpr_invalid():
|
||||
def test_readExpr_equality_int():
|
||||
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():
|
||||
assert pgf.readExpr("123") != pgf.readExpr("456")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user