Public Member Functions | List of all members
ibis::math::stdFunction1 Class Reference

One-argument standard functions. More...

#include <qExpr.h>

Inheritance diagram for ibis::math::stdFunction1:
ibis::math::term ibis::qExpr

Public Member Functions

virtual stdFunction1dup () const
 Make a duplicate copy of the term.
 
virtual double eval () const
 Evaluate one-argument standard functions from math.h. More...
 
virtual void print (std::ostream &out) const
 Print a human readable version of the expression.
 
virtual void printFull (std::ostream &out) const
 Same as print.
 
virtual termreduce ()
 Shorten the expression by evaluating the constants. More...
 
 stdFunction1 (const char *name)
 
 stdFunction1 (const STDFUN1 ft)
 
virtual TERM_TYPE termType () const
 
- Public Member Functions inherited from ibis::math::term
virtual bool isTrue () const
 Should the value be treated as true? This implementation captures the normal case, where an arithmetic expression is treated as 'true' if it is not zero. More...
 
- Public Member Functions inherited from ibis::qExpr
bool directEval () const
 Can the expression be directly evaluated?
 
void extractDeprecatedJoins (std::vector< const deprecatedJoin * > &) const
 Extract conjunctive terms of the deprecated joins.
 
qRangefindRange (const char *vname)
 Find the first range condition involving the named variable.
 
void getConjunctiveTerms (termTableList &) const
 Extract the top-level conjunctive terms. More...
 
qExpr *& getLeft ()
 Return a pointer to the left child. More...
 
const qExprgetLeft () const
 Return a const pointer to the left child.
 
qExpr *& getRight ()
 Return a pointer to the right child. More...
 
const qExprgetRight () const
 Return a const pointer to the right child.
 
virtual void getTableNames (std::set< std::string > &plist) const
 Identify the data partitions involved in the query expression. More...
 
TYPE getType () const
 Return the node type.
 
virtual bool isConstant () const
 Is this expression a constant? A constant remains the same not matter which row it is applied to. More...
 
virtual bool isSimple () const
 Is the expression simple? A simple expression contains only range conditions connected with logical operators. More...
 
bool isTerminal () const
 Is this expression a terminal node of an expression tree?
 
virtual uint32_t nItems () const
 Count the number of items in the query expression.
 
qExproperator= (const qExpr &rhs)
 Assignment operator.
 
 qExpr ()
 Default constructor. It generates a node of undefined type.
 
 qExpr (TYPE op)
 Construct a node of specified type. Not for implicit type conversion.
 
 qExpr (TYPE op, qExpr *qe1, qExpr *qe2)
 Construct a full specified node. More...
 
 qExpr (const qExpr &qe)
 Copy Constructor. Deep copy.
 
double reorder (const weight &)
 After reordering, the lightest weight is one the left side of a group of commutable operators. More...
 
int separateSimple (ibis::qExpr *&simple, ibis::qExpr *&tail) const
 Separate an expression tree into two connected with an AND operator. More...
 
void setLeft (qExpr *expr)
 Change the left child. More...
 
void setRight (qExpr *expr)
 Change the right child. More...
 
void swap (qExpr &rhs)
 Swap the content. No exception expected.
 
virtual ~qExpr ()
 Destructor. More...
 

Additional Inherited Members

- Public Types inherited from ibis::qExpr
enum  COMPARE {
  OP_UNDEFINED, OP_LT, OP_GT, OP_LE,
  OP_GE, OP_EQ
}
 Comparison operator supported in RANGE.
 
typedef std::vector< TTNtermTableList
 
enum  TYPE {
  LOGICAL_UNDEFINED, LOGICAL_NOT, LOGICAL_AND, LOGICAL_OR,
  LOGICAL_XOR, LOGICAL_MINUS, RANGE, DRANGE,
  STRING, ANYSTRING, KEYWORD, ALLWORDS,
  COMPRANGE, MATHTERM, DEPRECATEDJOIN, TOPK,
  EXISTS, ANYANY, LIKE, INTHOD,
  UINTHOD
}
 Definition of node types. More...
 
- Static Public Member Functions inherited from ibis::qExpr
static std::string extractTableName (const char *)
 Extract the data partition name from the column name cn. More...
 
static void simplify (ibis::qExpr *&)
 Attempt to simplify the query expressions. More...
 
static void splitColumnName (const char *, std::string &, std::string &)
 Split the incoming name into data partition name and column name. More...
 
- Protected Member Functions inherited from ibis::math::term
 term (const term &rhs)
 
- Protected Member Functions inherited from ibis::qExpr
void adjust ()
 Adjust the tree to favor the sequential evaluation order. More...
 
- Protected Attributes inherited from ibis::qExpr
qExprleft
 The left child.
 
qExprright
 The right child.
 
TYPE type
 The type of node. More...
 

Detailed Description

One-argument standard functions.

Member Function Documentation

double ibis::math::stdFunction1::eval ( ) const
virtual

Evaluate one-argument standard functions from math.h.

The functions modf and frexp take two argument, but only one is an input argument, only the return value of these functions are returned.

Implements ibis::math::term.

ibis::math::term * ibis::math::stdFunction1::reduce ( )
virtual

Shorten the expression by evaluating the constants.

Return a new pointer if the expression is changed, otherwise Returnn the pointer this.

Reimplemented from ibis::math::term.

References ibis::math::term::eval(), ibis::qExpr::getLeft(), and ibis::math::term::reduce().


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

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive