c_bool BS_equal(BS_Set left, BS_Set right)
| left = right ?
|
c_bool BS_subset(BS_Set left, BS_Set right)
| left <= right ?
|
BS_Set BS_copy(BS_Set dst, BS_Set src)
| copies src to dst
|
BS_Set BS_union(BS_Set dst, BS_Set left, BS_Set right)
| dst = left U right
|
BS_Set BS_minus(BS_Set dst, BS_Set left, BS_Set right)
| dst = left - right
|
BS_Set BS_inter(BS_Set dst, BS_Set left, BS_Set right)
| dst = left & right
|
INT BS_setGE(BS_Set rel, INT SetCard, INT from, INT to)
| adds a vertice, requires initialized rel
|
BS_Set BS_setG(BS_Set rel, INT SetCard, c_bool (*isRel)(INT from, INT to))
| adds vertices, requires initialized rel
|
BS_Set BS_copyR(BS_Set rel, BS_Set set, INT row, c_bool toGraph)
| copies set to rel[row] (toGraph = True), rel[row] to set (toGraph = False)
|
INT BS_findR(BS_Set rel, BS_Set set)
| searches row with rel[row] = set, returns
row = 1 .. ( BS__CARD(rel) / BS__CARD(set) ) oder 0
|
BS_Set BS_trans(BS_Set rel, INT SetCard)
| reverse relation / transponent matrix rel'
|
BS_Set BS_rclosure(BS_Set dst, BS_Set rel, INT SetCard)
| reflexive closure dst = rel U id
|
BS_Set BS_sclosure(BS_Set dst, BS_Set rel, INT SetCard)
| symmetric closure dst = rel U rel'
|
BS_Set BS_iclosure(BS_Set dst, BS_Set rel, INT SetCard)
| (Warshall in N*N-Platz, vgl. Mehlhorn) transitive closure dst = rel+
|
BS_Set BS_closure(BS_Set dst, BS_Set rel, INT SetCard)
| (Warshall) transitive, reflexive closure dst = rel*
|
BS_Set BS_eclosure(BS_Set dst, BS_Set rel, INT SetCard)
| equivalence relation dst = (rel U rel')*
|
BS_Set BS_kern(BS_Set dst, BS_Set rel, INT SetCard)
| kernel dst = rel\square(rel), requires rel = strict order
|