|
| MathFunction (std::string name_, int argc_, int max_argc_=0, std::string cat_="", std::string title_="", std::string descr_="", bool is_active=true) |
|
| MathFunction (const MathFunction *function) |
|
virtual ExpressionItem * | copy () const =0 |
|
virtual void | set (const ExpressionItem *item) |
|
virtual int | type () const |
|
virtual int | subtype () const |
|
virtual int | id () const |
|
std::string | example (bool raw_format=false, std::string name_string="") const |
|
void | setExample (std::string new_example) |
|
bool | testArgumentCount (int itmp) |
|
virtual MathStructure | calculate (const std::string &eq, const EvaluationOptions &eo=default_evaluation_options) |
|
virtual MathStructure | parse (const std::string &eq, const ParseOptions &po=default_parse_options) |
|
virtual int | parse (MathStructure &mstruct, const std::string &eq, const ParseOptions &po=default_parse_options) |
|
virtual MathStructure | calculate (MathStructure &vargs, const EvaluationOptions &eo=default_evaluation_options) |
|
virtual int | calculate (MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions &eo) |
|
std::string | condition () const |
|
std::string | printCondition () |
|
void | setCondition (std::string expression) |
|
bool | testCondition (const MathStructure &vargs) |
|
int | args () const |
|
int | minargs () const |
|
int | maxargs () const |
|
int | args (const std::string &str, MathStructure &vargs, const ParseOptions &po=default_parse_options) |
|
size_t | lastArgumentDefinitionIndex () const |
|
Argument * | getArgumentDefinition (size_t index) |
|
void | clearArgumentDefinitions () |
|
void | setArgumentDefinition (size_t index, Argument *argdef) |
|
int | stringArgs (const std::string &str, std::vector< std::string > &svargs) |
|
void | setDefaultValue (size_t arg_, std::string value_) |
|
const std::string & | getDefaultValue (size_t arg_) const |
|
void | appendDefaultValues (MathStructure &vargs) |
|
MathStructure | produceVector (const MathStructure &vargs, int begin=-1, int end=-1) |
|
MathStructure | produceArgumentsVector (const MathStructure &vargs, int begin=-1, int end=-1) |
|
virtual bool | representsPositive (const MathStructure &, bool=false) const |
|
virtual bool | representsNegative (const MathStructure &, bool=false) const |
|
virtual bool | representsNonNegative (const MathStructure &, bool=false) const |
|
virtual bool | representsNonPositive (const MathStructure &, bool=false) const |
|
virtual bool | representsInteger (const MathStructure &, bool=false) const |
|
virtual bool | representsNumber (const MathStructure &, bool=false) const |
|
virtual bool | representsRational (const MathStructure &, bool=false) const |
|
virtual bool | representsNonComplex (const MathStructure &, bool=false) const |
|
virtual bool | representsReal (const MathStructure &, bool=false) const |
|
virtual bool | representsComplex (const MathStructure &, bool=false) const |
|
virtual bool | representsNonZero (const MathStructure &, bool=false) const |
|
virtual bool | representsEven (const MathStructure &, bool=false) const |
|
virtual bool | representsOdd (const MathStructure &, bool=false) const |
|
virtual bool | representsUndefined (const MathStructure &) const |
|
virtual bool | representsBoolean (const MathStructure &) const |
|
virtual bool | representsNonMatrix (const MathStructure &) const |
|
virtual bool | representsScalar (const MathStructure &) const |
|
| ExpressionItem (std::string cat_, std::string name_, std::string title_="", std::string descr_="", bool is_local=true, bool is_builtin=false, bool is_active=true) |
|
virtual ExpressionItem * | copy () const =0 |
|
virtual void | set (const ExpressionItem *item) |
|
virtual bool | destroy () |
|
bool | isRegistered () const |
|
void | setRegistered (bool is_registered) |
| For internal use.
|
|
virtual const std::string & | name (bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual const std::string & | referenceName () const |
|
virtual const ExpressionName & | preferredName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual const ExpressionName & | preferredInputName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual const ExpressionName & | preferredDisplayName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual const ExpressionName & | getName (size_t index) const |
|
virtual void | setName (const ExpressionName &ename, size_t index=1, bool force=true) |
|
virtual void | setName (std::string sname, size_t index, bool force=true) |
|
virtual void | addName (const ExpressionName &ename, size_t index=0, bool force=true) |
|
virtual void | addName (std::string sname, size_t index=0, bool force=true) |
|
virtual size_t | countNames () const |
|
virtual void | clearNames () |
|
virtual void | clearNonReferenceNames () |
|
virtual void | removeName (size_t index) |
|
virtual size_t | hasName (const std::string &sname, bool case_sensitive=true) const |
|
virtual size_t | hasNameCaseSensitive (const std::string &sname) const |
|
virtual const ExpressionName & | findName (int abbreviation=-1, int use_unicode=-1, int plural=-1, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual const std::string & | title (bool return_name_if_no_title=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const |
|
virtual void | setTitle (std::string title_) |
|
virtual const std::string & | description () const |
|
virtual void | setDescription (std::string descr_) |
|
virtual const std::string & | category () const |
|
virtual void | setCategory (std::string cat_) |
|
virtual bool | hasChanged () const |
|
virtual void | setChanged (bool has_changed) |
|
virtual bool | isLocal () const |
|
virtual bool | setLocal (bool is_local=true, int will_be_active=-1) |
|
virtual bool | isBuiltin () const |
|
virtual bool | isApproximate () const |
|
virtual void | setApproximate (bool is_approx=true) |
|
virtual int | precision () const |
|
virtual void | setPrecision (int prec) |
|
virtual bool | isActive () const |
|
virtual void | setActive (bool is_active) |
|
virtual bool | isHidden () const |
|
virtual void | setHidden (bool is_hidden) |
|
virtual int | refcount () const |
|
virtual void | ref () |
|
virtual void | unref () |
|
virtual void | ref (ExpressionItem *o) |
|
virtual void | unref (ExpressionItem *o) |
|
virtual ExpressionItem * | getReferencer (size_t index=1) const |
|
virtual bool | changeReference (ExpressionItem *o_from, ExpressionItem *o_to) |
|
virtual int | type () const =0 |
|
virtual int | subtype () const =0 |
|
virtual int | id () const |
|
Abstract base class for mathematical functions.
A mathematical function, subclassed from MathFunction, should at least reimplement calculate(MathStructure&, const MathStructure&, const EvaluationOptions&) and copy(), and preferably also the represents* functions. Argument definitions should be added in the constructor.