Ejemplo n.º 1
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()))
Ejemplo n.º 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))
Ejemplo n.º 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))
Ejemplo n.º 4
0
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))
Ejemplo n.º 5
0
def _add(a, b):
    assert isinstance(a, Character) and isinstance(b, Integer)
    return rt._add(rt.wrap(a.char_val()), b)
Ejemplo n.º 6
0
def _add(a, b):
    assert isinstance(a, Character) and isinstance(b, Integer)
    return rt._add(rt.wrap(a.char_val()), b)
Ejemplo n.º 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()))