Tidy up SMALL_INT optimisations and CPython compatibility.

This commit is contained in:
Damien
2013-10-12 16:16:56 +01:00
parent 3a205179ea
commit 0efb3a1b66
3 changed files with 32 additions and 11 deletions

View File

@@ -228,7 +228,7 @@ static void push_result_token(parser_t *parser, const py_lexer_t *lex) {
}
if (dec) {
pn = py_parse_node_new_leaf(PY_PARSE_NODE_DECIMAL, qstr_from_strn_copy(str, len));
} else if (small_int && -0x800000 <= int_val && int_val <= 0x7fffff) { // XXX check this range formula!
} else if (small_int && PY_FIT_SMALL_INT(int_val)) {
pn = py_parse_node_new_leaf(PY_PARSE_NODE_SMALL_INT, int_val);
} else {
pn = py_parse_node_new_leaf(PY_PARSE_NODE_INTEGER, qstr_from_strn_copy(str, len));