ROSE 0.11.145.147
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
 

Member Enumeration Documentation

◆ signs

enum affineInequality::signs

Definition at line 31 of file affineInequality.h.

Member Function Documentation

◆ str()

std::string affineInequality::str ( std::string  indent = "")
virtual

Implements printable.

Member Data Documentation

◆ a

int affineInequality::a
protected

Definition at line 43 of file affineInequality.h.

◆ b

int affineInequality::b
protected

Definition at line 44 of file affineInequality.h.

◆ c

int affineInequality::c
protected

Definition at line 45 of file affineInequality.h.

◆ xZero

bool affineInequality::xZero
protected

Definition at line 48 of file affineInequality.h.

◆ yZero

bool affineInequality::yZero
protected

Definition at line 49 of file affineInequality.h.

◆ xSign

signs affineInequality::xSign
protected

Definition at line 52 of file affineInequality.h.

◆ ySign

signs affineInequality::ySign
protected

Definition at line 53 of file affineInequality.h.

◆ top

const short affineInequality::top =3
static

Definition at line 63 of file affineInequality.h.

◆ constrKnown

const short affineInequality::constrKnown =2
static

Definition at line 65 of file affineInequality.h.

◆ bottom

const short affineInequality::bottom =0
static

Definition at line 70 of file affineInequality.h.

◆ level

short affineInequality::level
protected

Definition at line 74 of file affineInequality.h.


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