Classes | Enumerations | Variables
ibis::math Namespace Reference

A namespace for arithmetic expressions. More...

Classes

class  barrel
 A barrel to hold a list of variables. More...
 
class  bediener
 An operator. Bediener is German for operator. More...
 
class  customFunction1
 One-argument custom functions. More...
 
class  formatUnixTime
 Format unix time stamps as strings through the function strftime and then output the leading portion as a floating-point number. More...
 
class  fromUnixTime
 Functor for converting a unix time stamp into date-time format throught strftime. More...
 
class  func1
 Pure virtual base function for 1-argument functions. More...
 
class  literal
 A string literal. More...
 
class  number
 A number. More...
 
class  sfunc1
 Pure virtual base function for 1-argument functions. More...
 
class  stdFunction1
 One-argument standard functions. More...
 
class  stdFunction2
 Two-argument standard functions. More...
 
class  stringFunction1
 One-argument string functions. More...
 
class  term
 The abstract base class for arithmetic terms. More...
 
class  toUnixTime
 Functor to convert ISO 8601 style date time value to a unix time stamp. More...
 
class  variable
 A variable. More...
 

Enumerations

enum  OPERADOR {
  UNKNOWN =0, BITOR, BITAND, PLUS,
  MINUS, MULTIPLY, DIVIDE, REMAINDER,
  NEGATE, POWER
}
 All supported arithmetic operators. More...
 
enum  STDFUN1 {
  ACOS =0, ASIN, ATAN, CEIL,
  COS, COSH, EXP, FABS,
  FLOOR, FREXP, LOG10, LOG,
  MODF, ROUND, SIN, SINH,
  SQRT, TAN, TANH, TRUNC,
  IS_ZERO, IS_NONZERO
}
 Standard 1-argument functions.
 
enum  STDFUN2 {
  ATAN2 =0, FMOD, LDEXP, ROUND2,
  POW, IS_EQL, IS_GTE, IS_LTE
}
 Standard 2-argument functions.
 
enum  TERM_TYPE {
  UNDEF_TERM, VARIABLE, NUMBER, STRING,
  OPERATOR, STDFUNCTION1, STDFUNCTION2, CUSTOMFUNCTION1,
  CUSTOMFUNCTION2, STRINGFUNCTION1, STRINGFUNCTION2
}
 Types of terms allowed in the mathematical expressions.
 

Variables

const char * operator_name []
 String form of the operators. More...
 
bool preserveInputExpressions = false
 Whether to keep arithmetic expression as user inputed them. More...
 
const char * stdfun1_name []
 String form of the one-argument standard functions. More...
 
const char * stdfun2_name []
 String form of the two-argument standard functions. More...
 

Detailed Description

A namespace for arithmetic expressions.

Enumeration Type Documentation

All supported arithmetic operators.

The word operador is Spainish for operator.

Variable Documentation

const char * ibis::math::operator_name
Initial value:
=
{"?", "|", "&", "+", "-", "*", "/", "%", "-", "**"}

String form of the operators.

Referenced by ibis::math::bediener::print().

bool ibis::math::preserveInputExpressions = false

Whether to keep arithmetic expression as user inputed them.

  • If it is true, FastBit will not consolidate constant expressions nor perform other simple optimizations.
  • If it is false, the software will attempt to minimize the number of operations needed to apply them on data records.
Note
Keep the arithmetic expressions unaltered will preserve its round-off properties and produce exactly the same numeric results as one might expect. However, this is normally not the most important consideration as the differences are typically quite small. Therefore, the default value of this variable is false.

Referenced by ibis::qExpr::simplify(), ibis::selectClause::verify(), and ibis::selectClause::verifySome().

const char * ibis::math::stdfun1_name
Initial value:
=
{"acos", "asin", "atan", "ceil", "cos", "cosh", "exp", "fabs", "floor",
"frexp", "log10", "log", "modf", "round", "sin", "sinh", "sqrt", "tan",
"tanh", "is_zero", "is_nonzero"}

String form of the one-argument standard functions.

Referenced by ibis::math::stdFunction1::print().

const char * ibis::math::stdfun2_name
Initial value:
=
{"atan2", "fmod", "ldexp", "round", "pow",
"is_eql", "is_gte", "is_lte"}

String form of the two-argument standard functions.

Referenced by ibis::math::stdFunction2::print().

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