|  | 
|  | MathFunction (string name_, int argc_, int max_argc_=0, string cat_="", string title_="", 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 | 
|  | 
| string | example (bool raw_format=false, string name_string="") const | 
|  | 
| void | setExample (string new_example) | 
|  | 
| bool | testArgumentCount (int itmp) | 
|  | 
| virtual MathStructure | calculate (const string &eq, const EvaluationOptions &eo=default_evaluation_options) | 
|  | 
| virtual MathStructure | parse (const string &eq, const ParseOptions &po=default_parse_options) | 
|  | 
| virtual int | parse (MathStructure &mstruct, const 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) | 
|  | 
| string | condition () const | 
|  | 
| string | printCondition () | 
|  | 
| void | setCondition (string expression) | 
|  | 
| bool | testCondition (const MathStructure &vargs) | 
|  | 
| int | args () const | 
|  | 
| int | minargs () const | 
|  | 
| int | maxargs () const | 
|  | 
| int | args (const 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 string &str, vector< string > &svargs) | 
|  | 
| void | setDefaultValue (size_t arg_, string value_) | 
|  | 
| const 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 (string cat_, string name_, string title_="", string descr_="", bool is_local=true, bool is_builtin=false, bool is_active=true) | 
|  | 
| virtual bool | destroy () | 
|  | 
| bool | isRegistered () const | 
|  | 
| void | setRegistered (bool is_registered) | 
|  | For internal use. 
 | 
|  | 
| virtual const 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 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 (string sname, size_t index, bool force=true) | 
|  | 
| virtual void | addName (const ExpressionName &ename, size_t index=0, bool force=true) | 
|  | 
| virtual void | addName (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 string &sname, bool case_sensitive=true) const | 
|  | 
| virtual size_t | hasNameCaseSensitive (const 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 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 (string title_) | 
|  | 
| virtual const string & | description () const | 
|  | 
| virtual void | setDescription (string descr_) | 
|  | 
| virtual const string & | category () const | 
|  | 
| virtual void | setCategory (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) | 
|  | 
Abstract base class for mathematical functions. 
A mathemical 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.