Polaris: InfinityExpr Class Reference

InfinityExpr Class Reference

An expression that represents a infinite value. More...

#include <InfinityExpr.h>

Inheritance diagram for InfinityExpr:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 InfinityExpr (int s=1)
 InfinityExpr (const InfinityExpr &e)
virtual ~InfinityExpr ()
 InfinityExpr code:.
InfinityExproperator= (const InfinityExpr &e)
virtual int sign () const
 Return the sign of the infinite value, (+1 means +Infinity and -1 means -Infinity.).
virtual void sign (int s)
 Set the sign of the infinite value.
virtual Expressionclone () const
 Return a copy of myself.
virtual int structures_OK () const
 Return 1 if my structures are in a valid state.
virtual void convert (BinRep &exprSet, Symtab &symtab)
 Read in the values of my fields and my subexpressions from the given BinRep object.
virtual void print_debug (ostream &o, Boolean debug) const
 debug indicates whether it should contain extra fields
virtual const ExprSignatureupdate_signature ()
virtual int node_compare (const Expression &ex) const
 See Expression.h.
virtual int exchange_expr (VDL &vdl)
 Create a node in the "expression" member and return the index.

Detailed Description

An expression that represents a infinite value.

Polaris Expression

See also:
Expression/InfinityExpr.h

Expression/InfinityExpr.h

Expression/Expression.h

Description

An infinity expression represents a positive or negative infinite integer value.

Definition at line 29 of file InfinityExpr.h.


Constructor & Destructor Documentation

InfinityExpr::InfinityExpr int  s = 1  )  [inline]
 

Referenced by clone().

InfinityExpr::InfinityExpr const InfinityExpr e  )  [inline]
 

Definition at line 70 of file InfinityExpr.h.

References e, Expression::sign(), and sign().

InfinityExpr::~InfinityExpr  )  [virtual]
 

InfinityExpr code:.

... Nothing to do

Definition at line 5061 of file Expression.cc.


Member Function Documentation

InfinityExpr & InfinityExpr::operator= const InfinityExpr e  ) 
 

Definition at line 5073 of file Expression.cc.

References _sign.

int InfinityExpr::sign  )  const [virtual]
 

Return the sign of the infinite value, (+1 means +Infinity and -1 means -Infinity.).

Reimplemented from Expression.

Definition at line 5086 of file Expression.cc.

Referenced by InfinityExpr(), node_compare(), and update_signature().

void InfinityExpr::sign int  s  )  [virtual]
 

Set the sign of the infinite value.

Reimplemented from Expression.

Definition at line 5080 of file Expression.cc.

Expression * InfinityExpr::clone  )  const [virtual]
 

Return a copy of myself.

Implements Expression.

Definition at line 5067 of file Expression.cc.

References InfinityExpr().

int InfinityExpr::structures_OK  )  const [virtual]
 

Return 1 if my structures are in a valid state.

Implements Expression.

Definition at line 5092 of file Expression.cc.

References False, INTEGER_TYPE, True, and Expression::type().

virtual void InfinityExpr::convert BinRep exprSet,
Symtab symtab
[virtual]
 

Read in the values of my fields and my subexpressions from the given BinRep object.

Convert(BinRep) expects the BinRep to be referencing an expression set of the same type as the expression. On return, all data from the expression set has been inserted into the appropriate fields in the expression object. NOTE that this converts the expression to an intermediate form which may contain TableExpr objects.

Implements Expression.

virtual void InfinityExpr::print_debug ostream &  o,
Boolean  debug
const [virtual]
 

debug indicates whether it should contain extra fields

Implements Expression.

const ExprSignature & InfinityExpr::update_signature  )  [virtual]
 

... _signature_live().merge( (int) type().data_type() ); ... _signature_live().merge( type().size() );

Reimplemented from Expression.

Definition at line 7294 of file Expression.cc.

References Expression::_signature_live(), ExprSignature::clear(), ExprSignature::merge(), Expression::op(), sign(), and Expression::signature().

int InfinityExpr::node_compare const Expression ex  )  const [virtual]
 

See Expression.h.

Reimplemented from Expression.

Definition at line 7354 of file Expression.cc.

References sign().

int InfinityExpr::exchange_expr VDL vdl  )  [virtual]
 

Create a node in the "expression" member and return the index.

Reimplemented from Expression.

Definition at line 5108 of file Expression.cc.

References Expression::exchange_expr(), BinRep::find_ref(), Set< T >::ins(), List< T >::ins_last(), and BinRep::to_tuple().


The documentation for this class was generated from the following files:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:32 2005