soot.relations
Class Relation

java.lang.Object
  extended bysoot.relations.Relation

public class Relation
extends java.lang.Object


Field Summary
static boolean CHECK
           
static boolean PROFILING
           
 
Constructor Summary
Relation(Domain[] domains, PhysicalDomain[] phys)
           
Relation(Domain d1, Domain d2, Domain d3, PhysicalDomain p1, PhysicalDomain p2, PhysicalDomain p3)
           
Relation(Domain d1, Domain d2, PhysicalDomain p1, PhysicalDomain p2)
           
Relation(Domain d1, PhysicalDomain p1)
           
 
Method Summary
 boolean add(Domain d1, Numberable n1)
           
 boolean add(Domain d1, Numberable n1, Domain d2, Numberable n2)
           
 boolean add(Domain d1, Numberable n1, Domain d2, Numberable n2, Domain d3, Numberable n3)
           
 boolean add(Numberable[] tuple)
           
 int bdd()
           
 Relation cloneRelation()
           
 Domain[] domains()
           
 void eq(Relation r)
           
 void eqIntersect(Relation r1, Relation r2)
           
 void eqMinus(Relation r1, Relation r2)
           
 void eqRelprod(Relation r1, Domain[] eq1, Relation r2, Domain[] eq2, Domain[] result, Relation[] base, Domain[] dom)
           
 void eqRelprod(Relation r1, Domain eq11, Domain eq12, Relation r2, Domain eq21, Domain eq22, Domain res1, Relation base1, Domain dom1, Domain res2, Relation base2, Domain dom2)
           
 void eqRelprod(Relation r1, Domain eq1, Relation r2, Domain eq2, Domain res1, Relation base1, Domain dom1, Domain res2, Relation base2, Domain dom2)
           
 void eqRelprod(Relation r1, Domain eq1, Relation r2, Domain eq2, Domain res1, Relation base1, Domain dom1, Domain res2, Relation base2, Domain dom2, Domain res3, Relation base3, Domain dom3)
           
 void eqUnion(Relation r1, Relation r2)
           
 void finalize()
           
 boolean isEmpty()
           
 boolean isFull()
           
 java.util.Iterator iterator()
           
 void makeEmpty()
           
 void makeFull()
           
 PhysicalDomain[] phys()
           
 Relation project(Domain remove)
           
 Relation projectDownTo(Domain remaining)
           
static int relprod(int a, int b, int var)
           
 Relation restrict(Domain d, Numberable value)
           
 Relation sameDomains()
           
 long size()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CHECK

public static final boolean CHECK
See Also:
Constant Field Values

PROFILING

public static final boolean PROFILING
See Also:
Constant Field Values
Constructor Detail

Relation

public Relation(Domain[] domains,
                PhysicalDomain[] phys)

Relation

public Relation(Domain d1,
                PhysicalDomain p1)

Relation

public Relation(Domain d1,
                Domain d2,
                PhysicalDomain p1,
                PhysicalDomain p2)

Relation

public Relation(Domain d1,
                Domain d2,
                Domain d3,
                PhysicalDomain p1,
                PhysicalDomain p2,
                PhysicalDomain p3)
Method Detail

domains

public Domain[] domains()

phys

public PhysicalDomain[] phys()

bdd

public int bdd()

finalize

public void finalize()

add

public boolean add(Numberable[] tuple)

add

public boolean add(Domain d1,
                   Numberable n1)

add

public boolean add(Domain d1,
                   Numberable n1,
                   Domain d2,
                   Numberable n2)

add

public boolean add(Domain d1,
                   Numberable n1,
                   Domain d2,
                   Numberable n2,
                   Domain d3,
                   Numberable n3)

eq

public void eq(Relation r)

eqUnion

public void eqUnion(Relation r1,
                    Relation r2)

eqMinus

public void eqMinus(Relation r1,
                    Relation r2)

eqIntersect

public void eqIntersect(Relation r1,
                        Relation r2)

restrict

public Relation restrict(Domain d,
                         Numberable value)

project

public Relation project(Domain remove)

projectDownTo

public Relation projectDownTo(Domain remaining)

relprod

public static int relprod(int a,
                          int b,
                          int var)

eqRelprod

public void eqRelprod(Relation r1,
                      Domain[] eq1,
                      Relation r2,
                      Domain[] eq2,
                      Domain[] result,
                      Relation[] base,
                      Domain[] dom)

eqRelprod

public void eqRelprod(Relation r1,
                      Domain eq1,
                      Relation r2,
                      Domain eq2,
                      Domain res1,
                      Relation base1,
                      Domain dom1,
                      Domain res2,
                      Relation base2,
                      Domain dom2)

eqRelprod

public void eqRelprod(Relation r1,
                      Domain eq11,
                      Domain eq12,
                      Relation r2,
                      Domain eq21,
                      Domain eq22,
                      Domain res1,
                      Relation base1,
                      Domain dom1,
                      Domain res2,
                      Relation base2,
                      Domain dom2)

eqRelprod

public void eqRelprod(Relation r1,
                      Domain eq1,
                      Relation r2,
                      Domain eq2,
                      Domain res1,
                      Relation base1,
                      Domain dom1,
                      Domain res2,
                      Relation base2,
                      Domain dom2,
                      Domain res3,
                      Relation base3,
                      Domain dom3)

size

public long size()

toString

public java.lang.String toString()

cloneRelation

public Relation cloneRelation()

sameDomains

public Relation sameDomains()

isEmpty

public boolean isEmpty()

iterator

public java.util.Iterator iterator()

makeEmpty

public void makeEmpty()

makeFull

public void makeFull()

isFull

public boolean isFull()