KnownVariable Class Reference

A variable with a known value. More...

#include <Variable.h>

Inheritance diagram for KnownVariable:

Variable ExpressionItem DynamicVariable

List of all members.

Public Member Functions

 KnownVariable (string cat_, string name_, const MathStructure &o, string title_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
 KnownVariable (string cat_, string name_, string expression_, string title_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
 KnownVariable ()
 KnownVariable (const KnownVariable *variable)
virtual ExpressionItemcopy () const
virtual void set (const ExpressionItem *item)
bool isKnown () const
virtual bool isExpression () const
virtual string expression () const
int subtype () const
virtual void set (const MathStructure &o)
virtual void set (string expression_)
virtual const MathStructureget ()
virtual bool representsPositive (bool=false)
virtual bool representsNegative (bool=false)
virtual bool representsNonNegative (bool=false)
virtual bool representsNonPositive (bool=false)
virtual bool representsInteger (bool=false)
virtual bool representsNumber (bool=false)
virtual bool representsRational (bool=false)
virtual bool representsReal (bool=false)
virtual bool representsComplex (bool=false)
virtual bool representsNonZero (bool=false)
virtual bool representsEven (bool=false)
virtual bool representsOdd (bool=false)
virtual bool representsUndefined (bool=false, bool=false, bool=false)
virtual bool representsBoolean ()
virtual bool representsNonMatrix ()

Protected Attributes

MathStructuremstruct
bool b_expression
int calculated_precision
string sexpression


Detailed Description

A variable with a known value.

Known variables have an associated value. The value can be a simple number or a full mathematical expression. The known variable class is used both for variable values and constants.

The value can be provided as an expression in the form of a text string or as a mathematical value in the form of an object of the MathStructure class. The text string is parsed when needed, which saves time when loading many variable definitions which might not be used, at least not immediately.


Constructor & Destructor Documentation

KnownVariable::KnownVariable ( string  cat_,
string  name_,
const MathStructure o,
string  title_ = "",
bool  is_local = true,
bool  is_builtin = false,
bool  is_active = true 
)

Create a known variable with a value.

Parameters:
cat_ Category that the variable belongs to.
name_ Initial name of the variable.
o Value.
title_ Descriptive name.
is_local If the variable is local/user-defined or global.
is_builtin If the variable is builtin and not modifiable.
is_active If the variable is active and can be used in expressions.

KnownVariable::KnownVariable ( string  cat_,
string  name_,
string  expression_,
string  title_ = "",
bool  is_local = true,
bool  is_builtin = false,
bool  is_active = true 
)

Create a known variable with an text string expression.

Parameters:
cat_ Category that the variable belongs to.
name_ Initial name of the variable.
expression_ Expression.
title_ Descriptive name.
is_local If the variable is local/user-defined or global.
is_builtin If the variable is builtin and not modifiable.
is_active If the variable is active and can be used in expressions.

KnownVariable::KnownVariable (  ) 

Create an empty known variable. Primarily for internal use.

KnownVariable::KnownVariable ( const KnownVariable variable  ) 

Create a copy of a known variable.

Parameters:
variable Known variable to copy.


Member Function Documentation

bool KnownVariable::isKnown (  )  const [inline, virtual]

Returns if the variable has a known value (as oppossed to assumptions).

Returns:
true if the variable is of class KnownVariable, false if UnknownVariable.

Implements Variable.

virtual bool KnownVariable::isExpression (  )  const [virtual]

Returns if the variable has an text string expression instead of a value.

Returns:
True if the variable has an expression instead of a value.

virtual string KnownVariable::expression (  )  const [virtual]

Returns the variable's string expression or an empty string if it has not got an expression.

Returns:
The variable's expression.

int KnownVariable::subtype (  )  const [inline, virtual]

Returns the subtype of the variable, corresponding to which subsubclass the object belongs to.

Returns:
VariableSubtype.

Reimplemented from Variable.

References SUBTYPE_KNOWN_VARIABLE.

virtual void KnownVariable::set ( const MathStructure o  )  [virtual]

Sets the value of the variable. If expression is set, it is cleared.

Parameters:
o Value.

Reimplemented in DynamicVariable.

virtual void KnownVariable::set ( string  expression_  )  [virtual]

Sets the text string expression of the variable. The value is cleared.

Parameters:
expression_ Expression.

Reimplemented in DynamicVariable.

virtual const MathStructure& KnownVariable::get (  )  [virtual]

Returns the value of the variable. If no value is set or parsed and an expression is set, the expression is parsed and resulting value returned.

Returns:
The value of the variable..

Reimplemented in DynamicVariable.

virtual bool KnownVariable::representsPositive ( bool  = false  )  [virtual]

Returns if the variable represents a positive value.

Reimplemented from Variable.

Reimplemented in DynamicVariable.


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

Generated on Tue Jan 5 08:26:29 2010 for libqalculate-0.9.7 by  doxygen 1.5.5