|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object scale.score.dependence.omega.omegaLib.DNF
public final class DNF
DNF.
$Id: DNF.java,v 1.14 2005-02-07 21:28:39 burrill Exp $
Copyright 2008 by the
Scale Compiler Group,
Department of Computer Science
University of Massachusetts,
Amherst MA. 01003, USA
All Rights Reserved.
This version of the Omega Libray is a translation from C++ to Java of the Omega Library developed at the University of Maryland.
Copyright (C) 1994-1996 by the Omega ProjectAll rights reserved.
NOTICE: This software is provided ``as is'', without any warranty, including any implied warranty for merchantability or fitness for a particular purpose. Under no circumstances shall the Omega Project or its agents be liable for any use of, misuse of, or inability to use this software, including incidental and consequential damages.
License is hereby given to use, modify, and redistribute this software, in whole or in part, for any purpose, commercial or non-commercial, provided that the user agrees to the terms of this copyright notice, including disclaimer of warranty, and provided that this copyright notice, including disclaimer of warranty, is preserved in the source code and documentation of anything derived from this software. Any redistributor of this software or anything derived from this software assumes responsibility for ensuring that any parties to whom such a redistribution is made are fully aware of the terms of this license and disclaimer.
The Omega project can be contacted at omega@cs.umd.edu or http://www.cs.umd.edu/projects/omega
Field Summary | |
---|---|
int |
id
|
Constructor Summary | |
---|---|
DNF(OmegaLib omegaLib)
|
Method Summary | |
---|---|
void |
addConjunct(Conjunct conj)
|
void |
after(RelBody r,
int preserved_positions)
|
void |
appendClausesToList(Vector<Relation> l,
int depth,
RelBody rel)
|
void |
assertLeadingInfo()
|
void |
clear()
|
DNF |
conjAndNotDnf(Conjunct positive_conjunct,
boolean weak)
Compute C0 and not (C1 or C2 or ... |
void |
convertEQstoGEQs()
|
DNF |
copy(OmegaLib omegaLib,
RelBody rel_body)
|
void |
countLeadingZeros()
|
static int |
created()
|
void |
delete()
|
void |
deltas()
|
void |
dimensions(RelBody r,
int[] dims)
|
DNF |
DNFandDNF(DNF dnf2)
DNF1 & DNF2 => DNF. |
void |
DNFizeH(Vector<VarDecl> myLocals)
|
void |
DNFtoFormula(Formula root)
Convert DNF to Formula and add it root. |
void |
domain(RelBody r,
int a)
|
void |
farkas()
|
HashSet<VarDecl> |
fastTightHull()
|
Vector<Conjunct> |
getConjList()
|
Conjunct |
getSingleConjunct()
|
DNF |
gistSingleConjunct(Conjunct known,
RelBody r1,
int effort)
|
boolean |
hasSingleConjunct()
|
void |
interpretUnknownAsTrue()
|
boolean |
isDefinitelyFalse()
|
boolean |
isDefinitelyTrue()
|
boolean |
isExact()
|
boolean |
isLowerBoundSatisfiable()
Check if there exist any exact conjuncts in the solution. |
void |
join_conjAndNotDnf(DNF pdnf,
DNF neg_conjs)
|
void |
joinDNF(DNF dnf)
|
int |
length()
|
int |
localStatus()
|
void |
makeLevelCarriedTo(int level)
Add level-carried DNF form out to level "level". |
static int |
maxSize()
|
int |
minNumEQs()
|
void |
prefixPrint()
|
void |
prefixPrint(boolean debug,
boolean parent_names_setup)
|
void |
print()
|
java.lang.String |
printToString()
|
boolean |
queryDifference(VarDecl v1,
VarDecl v2,
int[] bounds)
|
int |
queryGuaranteedLeadingZeros(int what_to_return_for_empty_dnf)
Return x such that for all conjuncts c, c has >= x leading 0s. |
int |
queryLeadingDir()
|
int |
queryPossibleLeadingZeros(int numberInputput_and_output)
Return x such that for all conjuncts c, c has <= x leading 0s. |
void |
queryVariableBounds(VarDecl v,
int[] bounds)
|
void |
range(RelBody r,
int a)
|
DNF |
realNegConjs()
|
boolean |
redSimplifyProblem(DNF dnf2)
|
void |
remap()
|
void |
remapDNFVars(RelBody ref_rel)
|
void |
removeConjunct(Conjunct c)
|
Conjunct |
removeFirstConjunct()
|
void |
removeInexactConjunct()
|
void |
reorderAndSimplify(RelBody r,
boolean strides_allowed)
|
void |
reverseLeadingDirInfo()
|
void |
rmRedundantConjs(int effort)
Remove redundant conjuncts from given DNF. |
void |
rmRedundantInexactConjs()
Remove inexact conjuncts from given DNF if it contains UNKNOWN conjunct. |
void |
setParentRel(RelBody rel)
|
void |
setupNames()
|
void |
simplify(int sRdtConstraints)
Simplify all conjuncts in a DNF |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public int id
Constructor Detail |
---|
public DNF(OmegaLib omegaLib)
Method Detail |
---|
public static int created()
public static int maxSize()
public DNF copy(OmegaLib omegaLib, RelBody rel_body)
public void delete()
public java.lang.String toString()
toString
in class java.lang.Object
public void print()
public java.lang.String printToString()
public void prefixPrint()
public void prefixPrint(boolean debug, boolean parent_names_setup)
public boolean isDefinitelyFalse()
public boolean isDefinitelyTrue()
public int length()
public Vector<Conjunct> getConjList()
public Conjunct getSingleConjunct()
public boolean hasSingleConjunct()
public Conjunct removeFirstConjunct()
public void clear()
public int queryGuaranteedLeadingZeros(int what_to_return_for_empty_dnf)
>= x
leading 0s.
If it is a set, always returns -1. The argument specifies if it is a set or relation.
public int queryPossibleLeadingZeros(int numberInputput_and_output)
<= x
leading 0s.
If no conjuncts, return the argument.
public int queryLeadingDir()
public void simplify(int sRdtConstraints)
public void makeLevelCarriedTo(int level)
public void countLeadingZeros()
public void addConjunct(Conjunct conj)
public void joinDNF(DNF dnf)
public void removeConjunct(Conjunct c)
public void rmRedundantConjs(int effort)
public void rmRedundantInexactConjs()
public void DNFtoFormula(Formula root)
public void remap()
public void setupNames()
public void removeInexactConjunct()
public DNF DNFandDNF(DNF dnf2)
public DNF conjAndNotDnf(Conjunct positive_conjunct, boolean weak)
public void dimensions(RelBody r, int[] dims)
public void reverseLeadingDirInfo()
public void interpretUnknownAsTrue()
public void setParentRel(RelBody rel)
public boolean isLowerBoundSatisfiable()
public boolean queryDifference(VarDecl v1, VarDecl v2, int[] bounds)
public void queryVariableBounds(VarDecl v, int[] bounds)
public void assertLeadingInfo()
public void domain(RelBody r, int a)
public void range(RelBody r, int a)
public void reorderAndSimplify(RelBody r, boolean strides_allowed)
public boolean redSimplifyProblem(DNF dnf2)
public HashSet<VarDecl> fastTightHull()
public void deltas()
public void farkas()
public void appendClausesToList(Vector<Relation> l, int depth, RelBody rel)
public void convertEQstoGEQs()
public int minNumEQs()
public void DNFizeH(Vector<VarDecl> myLocals)
public DNF realNegConjs()
public void join_conjAndNotDnf(DNF pdnf, DNF neg_conjs)
public void remapDNFVars(RelBody ref_rel)
public DNF gistSingleConjunct(Conjunct known, RelBody r1, int effort)
public void after(RelBody r, int preserved_positions)
public boolean isExact()
public int localStatus()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |