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

#include <sgnAnalysis.h>

Inheritance diagram for SgnLattice:
Collaboration diagram for SgnLattice:

Public Types

enum  sgnLevels {
  uninitialized,
  bottom,
  eqZero,
  sgnKnown,
  top
}
 
enum  sgnStates {
  unknown,
  posZero,
  negZero
}
 

Public Member Functions

 SgnLattice ()
 
 SgnLattice (const SgnLattice &that)
 
 SgnLattice (long val)
 
void initialize ()
 
Latticecopy () const
 
void copy (Lattice *that)
 
bool copyMod (Lattice *that_arg)
 
bool meetUpdate (Lattice *that)
 
bool operator== (Lattice *that)
 
sgnStates getSgnState () const
 
sgnLevels getLevel () const
 
bool setBot ()
 
bool setEqZero ()
 
bool setSgnKnown (sgnStates sgnState)
 
bool set (int val)
 
bool setTop ()
 
bool plus (long increment)
 
bool plus (const SgnLattice &that)
 
bool minus (long increment)
 
bool minus (const SgnLattice &that)
 
bool negate ()
 
bool multdiv (long multiplier)
 
bool multdiv (const SgnLattice &that)
 
bool complexOp (const SgnLattice &that)
 
string str (string indent="")
 
- Public Member Functions inherited from FiniteLattice
bool finiteLattice ()
 Check if this lattice is finite or not. More...
 
- Public Member Functions inherited from Lattice
virtual void remapVars (const std::map< varID, varID > &varNameMap, const Function &newFunc)
 
virtual void incorporateVars (Lattice *that)
 
virtual Latticeproject (SgExpression *expr)
 
virtual bool unProject (SgExpression *expr, Lattice *exprState)
 
bool operator!= (Lattice *that)
 
bool operator== (Lattice &that)
 
bool operator!= (Lattice &that)
 
- Public Member Functions inherited from printable
virtual ~printable ()
 
virtual std::string str (std::string indent="")=0
 

Private Attributes

sgnStates sgnState
 
sgnLevels level
 

Detailed Description

Definition at line 19 of file sgnAnalysis.h.

Member Enumeration Documentation

Enumerator
uninitialized 
bottom 
eqZero 
sgnKnown 
top 

Definition at line 24 of file sgnAnalysis.h.

Enumerator
unknown 
posZero 
negZero 

Definition at line 37 of file sgnAnalysis.h.

Constructor & Destructor Documentation

SgnLattice::SgnLattice ( )
inline

Definition at line 55 of file sgnAnalysis.h.

References level, sgnState, uninitialized, and unknown.

SgnLattice::SgnLattice ( const SgnLattice that)
inline

Definition at line 61 of file sgnAnalysis.h.

References level, and sgnState.

SgnLattice::SgnLattice ( long  val)
inline

Definition at line 67 of file sgnAnalysis.h.

References eqZero, level, negZero, posZero, sgnKnown, and sgnState.

Member Function Documentation

void SgnLattice::initialize ( )
inlinevirtual

Implements Lattice.

Definition at line 79 of file sgnAnalysis.h.

References bottom, level, sgnState, uninitialized, and unknown.

Lattice* SgnLattice::copy ( ) const
virtual

Implements Lattice.

void SgnLattice::copy ( Lattice that)
virtual

Implements Lattice.

bool SgnLattice::copyMod ( Lattice that_arg)
bool SgnLattice::meetUpdate ( Lattice that)
virtual

Implements Lattice.

bool SgnLattice::operator== ( Lattice that)
virtual

Implements Lattice.

sgnStates SgnLattice::getSgnState ( ) const
sgnLevels SgnLattice::getLevel ( ) const
bool SgnLattice::setBot ( )
bool SgnLattice::setEqZero ( )
bool SgnLattice::setSgnKnown ( sgnStates  sgnState)
bool SgnLattice::set ( int  val)
bool SgnLattice::setTop ( )
bool SgnLattice::plus ( long  increment)
bool SgnLattice::plus ( const SgnLattice that)
bool SgnLattice::minus ( long  increment)
bool SgnLattice::minus ( const SgnLattice that)
bool SgnLattice::negate ( )
bool SgnLattice::multdiv ( long  multiplier)
bool SgnLattice::multdiv ( const SgnLattice that)
bool SgnLattice::complexOp ( const SgnLattice that)
string SgnLattice::str ( string  indent = "")

Member Data Documentation

sgnStates SgnLattice::sgnState
private

Definition at line 47 of file sgnAnalysis.h.

Referenced by initialize(), and SgnLattice().

sgnLevels SgnLattice::level
private

Definition at line 51 of file sgnAnalysis.h.

Referenced by initialize(), and SgnLattice().


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