ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
affineInequality Class Reference

#include <affineInequality.h>

Inheritance diagram for affineInequality:
Collaboration diagram for affineInequality:

Public Types

enum  signs {
  unknownSgn,
  eqZero,
  posZero,
  negZero
}
 

Public Member Functions

 affineInequality ()
 
 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
 
- Public Member Functions inherited from printable
virtual ~printable ()
 

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
 

Friends

class varAffineInequality
 

Detailed Description

Definition at line 22 of file affineInequality.h.

Member Enumeration Documentation

Enumerator
unknownSgn 
eqZero 
posZero 
negZero 

Definition at line 28 of file affineInequality.h.

Constructor & Destructor Documentation

affineInequality::affineInequality ( )
affineInequality::affineInequality ( const affineInequality that)
affineInequality::affineInequality ( int  a,
int  b,
int  c,
bool  xZero,
bool  yZero,
signs  xSign,
signs  ySign 
)
affineInequality::affineInequality ( const affineInequality xz,
const affineInequality zy 
)

Member Function Documentation

void affineInequality::operator= ( const affineInequality that)
bool affineInequality::operator== ( const affineInequality that) const
bool affineInequality::operator!= ( const affineInequality that) const
bool affineInequality::operator< ( const affineInequality that) const
bool affineInequality::semLessThan ( const affineInequality that,
bool  xEqZero,
bool  yEqZero 
) const
bool affineInequality::semLessThan ( const affineInequality that,
const affineInequality xZero,
const affineInequality zeroX,
const affineInequality yZero,
const affineInequality zeroY,
std::string  indent = "" 
) const
bool affineInequality::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 affineInequality::semLessThanNeg ( const affineInequality that,
bool  xEqZero,
bool  yEqZero 
) const
bool affineInequality::set ( const affineInequality that)
bool affineInequality::set ( int  a,
int  b,
int  c 
)
bool affineInequality::set ( int  a,
int  b,
int  c,
bool  xZero,
bool  yZero,
signs  xSign,
signs  ySign 
)
bool affineInequality::setA ( int  a)
bool affineInequality::setB ( int  b)
bool affineInequality::setC ( int  c)
bool affineInequality::setToBottom ( )
bool affineInequality::setToTop ( )
int affineInequality::getA ( ) const
int affineInequality::getB ( ) const
int affineInequality::getC ( ) const
short affineInequality::getLevel ( ) const
bool affineInequality::isXZero ( ) const
bool affineInequality::isYZero ( ) const
signs affineInequality::getXSign ( ) const
signs affineInequality::getYSign ( ) const
bool affineInequality::normalize ( )
protected
void affineInequality::operator*= ( const affineInequality that)
bool affineInequality::intersectUpd ( const affineInequality that)
void affineInequality::operator+= ( const affineInequality that)
bool affineInequality::unionUpd ( const affineInequality that)
static bool affineInequality::mayConsistent ( const affineInequality constrXY,
const affineInequality constrYX 
)
static
static std::string affineInequality::signToString ( signs  sign)
static
std::string affineInequality::str ( std::string  indent = "")
virtual

Implements printable.

std::string affineInequality::str ( std::string  indent = "") const
std::string affineInequality::str ( varID  x,
varID  y,
std::string  indent = "" 
) const
std::string affineInequality::strNeg ( varID  x,
varID  y,
std::string  indent 
) const

Friends And Related Function Documentation

friend class varAffineInequality
friend

Definition at line 24 of file affineInequality.h.

Member Data Documentation

int affineInequality::a
protected

Definition at line 40 of file affineInequality.h.

int affineInequality::b
protected

Definition at line 41 of file affineInequality.h.

int affineInequality::c
protected

Definition at line 42 of file affineInequality.h.

bool affineInequality::xZero
protected

Definition at line 45 of file affineInequality.h.

bool affineInequality::yZero
protected

Definition at line 46 of file affineInequality.h.

signs affineInequality::xSign
protected

Definition at line 49 of file affineInequality.h.

signs affineInequality::ySign
protected

Definition at line 50 of file affineInequality.h.

const short affineInequality::top =3
static

Definition at line 60 of file affineInequality.h.

const short affineInequality::constrKnown =2
static

Definition at line 62 of file affineInequality.h.

const short affineInequality::bottom =0
static

Definition at line 67 of file affineInequality.h.

short affineInequality::level
protected

Definition at line 71 of file affineInequality.h.


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