예제 #1
0
파일: numbers.py 프로젝트: foodhype/pixie
def _sub(a, b):
    assert isinstance(a, Ratio) and isinstance(b, Ratio)
    return rt._div(rt._add(rt.wrap(-1 * b.numerator() * a.denominator()),
                           rt.wrap(a.numerator() * b.denominator())),
                   rt.wrap(a.denominator() * b.denominator()))
예제 #2
0
def gensym2(prefix):
    rt.reset_BANG_(gensym_id, rt._add(rt.deref(gensym_id), rt.wrap(1)))
    i = rt.deref(gensym_id)

    return rt.symbol(rt.str(prefix, i))
예제 #3
0
def gensym2(prefix):
    rt.reset_BANG_(gensym_id, rt._add(rt.deref(gensym_id), rt.wrap(1)))
    i = rt.deref(gensym_id)

    return rt.symbol(rt.str(prefix, i))
예제 #4
0
파일: compiler.py 프로젝트: codeape2/pixie
def gensym():
    rt.reset_BANG_(gensym_id, rt._add(rt.deref(gensym_id), rt.wrap(1)))
    i = rt.deref(gensym_id)

    return rt.symbol(rt.str(rt.wrap(u"gensym_"), i))
예제 #5
0
파일: string.py 프로젝트: delonnewman/pixie
def _add(a, b):
    assert isinstance(a, Character) and isinstance(b, Integer)
    return rt._add(rt.wrap(a.char_val()), b)
예제 #6
0
def _add(a, b):
    assert isinstance(a, Character) and isinstance(b, Integer)
    return rt._add(rt.wrap(a.char_val()), b)
예제 #7
0
def _sub(a, b):
    assert isinstance(a, Ratio) and isinstance(b, Ratio)
    return rt._div(
        rt._add(rt.wrap(-1 * b.numerator() * a.denominator()),
                rt.wrap(a.numerator() * b.denominator())),
        rt.wrap(a.denominator() * b.denominator()))