ROSE  0.11.145.0
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
affineInequality Class Reference

Description

Definition at line 25 of file affineInequality.h.

Inheritance diagram for affineInequality:
Inheritance graph
[legend]
Collaboration diagram for affineInequality:
Collaboration graph
[legend]

Public Types

enum  signs {
  unknownSgn,
  eqZero,
  posZero,
  negZero
}
 

Public Member Functions

 affineInequality (const affineInequality &that)
 
 affineInequality (int a, int b, int c, bool xZero, bool yZero, signs xSign, signs ySign)
 
 affineInequality (const affineInequality &xz, const affineInequality &zy)
 
void operator= (const affineInequality &that)
 
bool operator== (const affineInequality &that) const
 
bool operator!= (const affineInequality &that) const
 
bool operator< (const affineInequality &that) const
 
bool semLessThan (const affineInequality &that, bool xEqZero, bool yEqZero) const
 
bool semLessThan (const affineInequality &that, const affineInequality *xZero, const affineInequality *zeroX, const affineInequality *yZero, const affineInequality *zeroY, std::string indent="") const
 
bool semLessThanEq (const affineInequality &that, bool xIsZeroVar, const affineInequality *xZero, const affineInequality *zeroX, bool yIsZeroVar, const affineInequality *yZero, const affineInequality *zeroY, std::string indent="") const
 
bool semLessThanNeg (const affineInequality &that, bool xEqZero, bool yEqZero) const
 
bool set (const affineInequality &that)
 
bool set (int a, int b, int c)
 
bool set (int a, int b, int c, bool xZero, bool yZero, signs xSign, signs ySign)
 
bool setA (int a)
 
bool setB (int b)
 
bool setC (int c)
 
bool setToBottom ()
 
bool setToTop ()
 
int getA () const
 
int getB () const
 
int getC () const
 
short getLevel () const
 
bool isXZero () const
 
bool isYZero () const
 
signs getXSign () const
 
signs getYSign () const
 
void operator*= (const affineInequality &that)
 
bool intersectUpd (const affineInequality &that)
 
void operator+= (const affineInequality &that)
 
bool unionUpd (const affineInequality &that)
 
std::string str (std::string indent="")
 
std::string str (std::string indent="") const
 
std::string str (varID x, varID y, std::string indent="") const
 
std::string strNeg (varID x, varID y, std::string indent) const
 

Static Public Member Functions

static bool mayConsistent (const affineInequality &constrXY, const affineInequality &constrYX)
 
static std::string signToString (signs sign)
 

Static Public Attributes

static const short top =3
 
static const short constrKnown =2
 
static const short bottom =0
 

Protected Member Functions

bool normalize ()
 

Protected Attributes

int a
 
int b
 
int c
 
bool xZero
 
bool yZero
 
signs xSign
 
signs ySign
 
short level
 

The documentation for this class was generated from the following file: