Esempio n. 1
0
def _merge__args(args):
    affirm(len(args) > 0, u"Merge takes at least one arg")
    x = 1
    acc = args[0]
    for x in range(1, len(args)):
        acc = rt._reduce(acc, merge_fn, args[x])
    return acc
Esempio n. 2
0
def _reduce(self, f, init):
    assert isinstance(self, PersistentHashSet)
    return rt._reduce(rt.keys(self._map), f, init)
Esempio n. 3
0
def write_vector(vec, wtr):
    write_tag(VECTOR, wtr)
    write_int_raw(rt.count(vec), wtr)

    rt._reduce(vec, WriteItem(wtr), nil)
Esempio n. 4
0
def write_map(mp, wtr):
    write_tag(MAP, wtr)
    write_int_raw(rt.count(mp), wtr)

    rt._reduce(mp, WriteParirFn(wtr), nil)
Esempio n. 5
0
def _reduce(self, f, init):
    assert isinstance(self, PersistentHashSet)
    return rt._reduce(rt.keys(self._map), f, init)
Esempio n. 6
0
def _merge__args(args):
    affirm(len(args) > 0, u"Merge takes at least one arg")
    acc = args[0]
    for x in range(1, len(args)):
        acc = rt._reduce(args[x], merge_fn, acc)
    return acc
Esempio n. 7
0
def write_vector(vec, wtr):
    write_tag(VECTOR, wtr)
    write_int_raw(rt.count(vec), wtr)

    rt._reduce(vec, WriteItem(wtr), nil)
Esempio n. 8
0
def write_map(mp, wtr):
    write_tag(MAP, wtr)
    write_int_raw(rt.count(mp), wtr)

    rt._reduce(mp, WriteParirFn(wtr), nil)