SymEngine::FunctionWrapper Class Referenceabstract

#include <functions.h>

+ Inheritance diagram for SymEngine::FunctionWrapper:
+ Collaboration diagram for SymEngine::FunctionWrapper:

Public Member Functions

virtual void accept (Visitor &v) const
virtual void accept (EvalRealDoubleVisitorFinal &v) const
 FunctionWrapper (std::string name, const vec_basic &arg)
 FunctionWrapper (std::string name, const RCP< const Basic > &arg)
virtual RCP< const Basiccreate (const vec_basic &v) const =0
 Method to construct classes with canonicalization.
virtual RCP< const Numbereval (long bits) const =0
virtual RCP< const Basicdiff_impl (const RCP< const Symbol > &s) const =0
- Public Member Functions inherited from SymEngine::FunctionSymbol
 FunctionSymbol (std::string name, const vec_basic &arg)
 FunctionSymbol Constructors.
 FunctionSymbol (std::string name, const RCP< const Basic > &arg)
virtual hash_t __hash__ () const
virtual bool __eq__ (const Basic &o) const
virtual int compare (const Basic &o) const
 Structural equality comparator.
const std::stringget_name () const
bool is_canonical (const vec_basic &arg) const
- Public Member Functions inherited from SymEngine::MultiArgFunction
 MultiArgFunction (const vec_basic &arg)
virtual vec_basic get_args () const
 Returns the list of arguments.
const vec_basicget_vec () const
- Public Member Functions inherited from SymEngine::Basic
TypeID get_type_code () const
 Basic ()
 Basic (const Basic &)=delete
 Delete the copy constructor and assignment.
Basicoperator= (const Basic &)=delete
 Assignment operator in continuation with above.
 Basic (Basic &&)=delete
 Delete the move constructor and assignment.
Basicoperator= (Basic &&)=delete
 Assignment operator in continuation with above.
hash_t hash () const
bool __neq__ (const Basic &o) const
 true if this is not equal to o. More...
int __cmp__ (const Basic &o) const
 Comparison operator.
std::string __str__ () const
RCP< const Basicsubs (const map_basic_basic &subs_dict) const
 Substitutes 'subs_dict' into 'self'.
RCP< const Basicxreplace (const map_basic_basic &subs_dict) const
virtual RCP< const Basicexpand_as_exp () const
 expands the special function in terms of exp function
RCP< const Basicdiff (const RCP< const Symbol > &x, bool cache=true) const
- Public Member Functions inherited from SymEngine::EnableRCPFromThis< Basic >
RCP< Basicrcp_from_this ()
 Get RCP<T> pointer to self (it will cast the pointer to T)
RCP< const Basicrcp_from_this () const
 Get RCP<const T> pointer to self (it will cast the pointer to const T)
RCP< const T2 > rcp_from_this_cast () const
 Get RCP<T2> pointer to self (it will cast the pointer to T2)
unsigned int use_count () const

Static Public Attributes

static const TypeID type_code_id = SYMENGINE_FUNCTIONWRAPPER
- Static Public Attributes inherited from SymEngine::FunctionSymbol
static const TypeID type_code_id = SYMENGINE_FUNCTIONSYMBOL
 The f in f(x+y, z) More...

Additional Inherited Members

- Data Fields inherited from SymEngine::Basic
TypeID type_code_
- Protected Attributes inherited from SymEngine::FunctionSymbol
std::string name_

Detailed Description

Use this class to define custom functions by overriding the defaut behaviour for create, eval, diff, eq, compare etc.

Definition at line 671 of file functions.h.

Field Documentation

◆ type_code_id

const TypeID SymEngine::FunctionWrapper::type_code_id = SYMENGINE_FUNCTIONWRAPPER

Type_code_id shared by all instances

Definition at line 674 of file functions.h.

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