コード例 #1
0
ファイル: test_rbigint.py プロジェクト: truewangk/pypy
 def test_from_numberstring_parser_no_implicit_octal(self):
     from rpython.rlib.rstring import NumberStringParser, ParseStringError
     s = "077777777777777777777777777777"
     parser = NumberStringParser(s, s, 0, "long", no_implicit_octal=True)
     with pytest.raises(ParseStringError):
         rbigint._from_numberstring_parser(parser)
     parser = NumberStringParser("000",
                                 "000",
                                 0,
                                 "long",
                                 no_implicit_octal=True)
     assert rbigint._from_numberstring_parser(parser).tolong() == 0
コード例 #2
0
ファイル: intobject.py プロジェクト: sota/pypy-old
def _retry_to_w_long(space, parser, w_source):
    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError as e:
        raise wrap_parsestringerror(space, e, w_source)
    return space.newlong_from_rbigint(bigint)
コード例 #3
0
ファイル: intobject.py プロジェクト: timfel/thesis-data
def _retry_to_w_long(space, parser, w_source):
    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError as e:
        raise wrap_parsestringerror(space, e, w_source)
    return space.newlong_from_rbigint(bigint)
コード例 #4
0
ファイル: inttype.py プロジェクト: charred/pypy
def retry_to_w_long(space, parser):
    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError, e:
        raise OperationError(space.w_ValueError,
                             space.wrap(e.msg))
コード例 #5
0
def _retry_to_w_long(space, parser, w_inttype, w_source):
    from pypy.objspace.std.longobject import newbigint
    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError as e:
        raise wrap_parsestringerror(space, e, w_source)
    return newbigint(space, w_inttype, bigint)
コード例 #6
0
def parse_integer(string, base=10):
    if base > 36:
        raise ValueError("Not enough digits to base")
    if base < 0:
        raise ValueError("Negative base")
    literal = string
    parser = NumberStringParser(string, literal, base, 'long')
    return Integer(rbigint._from_numberstring_parser(parser))
コード例 #7
0
ファイル: intobject.py プロジェクト: Qointum/pypy
def _retry_to_w_long(space, parser, w_inttype, w_source):
    from pypy.objspace.std.longobject import newbigint

    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError as e:
        raise wrap_parsestringerror(space, e, w_source)
    return newbigint(space, w_inttype, bigint)
コード例 #8
0
 def test_from_numberstring_parser(self):
     from rpython.rlib.rstring import NumberStringParser
     parser = NumberStringParser("1231231241", "1231231241", 10, "long")
     assert rbigint._from_numberstring_parser(parser).tolong() == 1231231241
コード例 #9
0
def retry_to_w_long(space, parser):
    parser.rewind()
    try:
        bigint = rbigint._from_numberstring_parser(parser)
    except ParseStringError, e:
        raise OperationError(space.w_ValueError, space.wrap(e.msg))