File: stdlib_sofs_partition_func.txt

package info (click to toggle)
erlang 1%3A27.3.4.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 225,000 kB
  • sloc: erlang: 1,658,966; ansic: 405,769; cpp: 177,850; xml: 82,435; makefile: 15,031; sh: 14,401; lisp: 9,812; java: 8,603; asm: 6,541; perl: 5,836; python: 5,484; sed: 72
file content (39 lines) | stat: -rw-r--r-- 1,509 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

  partition(SetOfSets)

  Returns the partition of the union of the set of sets SetOfSets
  such that two elements are considered equal if they belong to the
  same elements of SetOfSets.

    1> Sets1 = sofs:from_term([[a,b,c],[d,e,f],[g,h,i]]),
    Sets2 = sofs:from_term([[b,c,d],[e,f,g],[h,i,j]]),
    P = sofs:partition(sofs:union(Sets1, Sets2)),
    sofs:to_external(P).
    [[a],[b,c],[d],[e,f],[g],[h,i],[j]]

  partition(SetFun, Set)

  Returns the partition of Set such that two elements are
  considered equal if the results of applying SetFun are equal.

    1> Ss = sofs:from_term([[a],[b],[c,d],[e,f]]),
    SetFun = fun(S) -> sofs:from_term(sofs:no_elements(S)) end,
    P = sofs:partition(SetFun, Ss),
    sofs:to_external(P).
    [[[a],[b]],[[c,d],[e,f]]]

  partition(SetFun, Set1, Set2)

  Returns a pair of sets that, regarded as constituting a set, forms
  a partition of Set1. If the result of applying SetFun to an
  element of Set1 gives an element in Set2, the element belongs
  to Set3, otherwise the element belongs to Set4.

    1> R1 = sofs:relation([{1,a},{2,b},{3,c}]),
    S = sofs:set([2,4,6]),
    {R2,R3} = sofs:partition(1, R1, S),
    {sofs:to_external(R2),sofs:to_external(R3)}.
    {[{2,b}],[{1,a},{3,c}]}

  partition(F, S1, S2) is equivalent to {restriction(F, S1, S2),
  drestriction(F, S1, S2)}.