67 inherited::read_archive(n, sym_lst);
82 inherited::archive(n);
116 c.
s <<
"\\partial_{";
125 c.
s <<
"^{" << order <<
"}";
143 c.
s << std::string(level,
' ') << class_name() <<
" "
145 << std::hex <<
", hash=0x" <<
hashvalue <<
", flags=0x" <<
flags << std::dec
146 <<
", nops=" <<
nops()
152 c.
s << *i << std::endl;
155 c.
s << std::string(level + c.
delta_indent,
' ') <<
"=====" << std::endl;
193 for (
size_t i=0; i<
seq.size(); i++) {
194 ex arg_diff =
seq[i].diff(s);
212 return inherited::compare_same_type(o);
223 return inherited::is_equal_same_type(o);
Archiving of GiNaC expressions.
#define GINAC_ASSERT(X)
Assertion macro for checking invariances.
This class stores all properties needed to record/retrieve the state of one object of class basic (or...
bool find_unsigned(const std::string &name, unsigned &ret, unsigned index=0) const
Retrieve property of type "unsigned" from node.
void add_unsigned(const std::string &name, unsigned value)
Add property of type "unsigned int" to node.
This class is the ABC (abstract base class) of GiNaC's class hierarchy.
unsigned hashvalue
hash value
unsigned flags
of type status_flags
virtual void print(const print_context &c, unsigned level=0) const
Output to stream.
const basic & hold() const
Stop further evaluation.
virtual ex series(const relational &r, int order, unsigned options=0) const
Default implementation of ex::series().
virtual int compare_same_type(const basic &other) const
Returns order relation between two objects of same type.
virtual void printseq(const print_context &c, char openbracket, char delim, char closebracket, unsigned this_precedence, unsigned upper_precedence=0) const
const_iterator end() const
size_t nops() const override
unsigned precedence() const override
Lightweight wrapper for GiNaC's symbolic objects.
This class represents the (abstract) derivative of a symbolic function.
void do_print_latex(const print_context &c, unsigned level) const
const paramset & derivatives() const
Expose this object's derivative structure.
void do_print(const print_context &c, unsigned level) const
ex derivative(const symbol &s) const override
Implementation of ex::diff() for derivatives.
bool match_same_type(const basic &other) const override
Returns true if the attributes of two objects are similar enough for a match.
ex series(const relational &r, int order, unsigned options=0) const override
The series expansion of derivatives falls back to Taylor expansion.
ex thiscontainer(const exvector &v) const override
Similar to duplicate(), but with a preset sequence.
fderivative(unsigned ser, unsigned param, const exvector &args)
Construct derivative with respect to one parameter.
void do_print_tree(const print_tree &c, unsigned level) const
ex eval() const override
Perform automatic non-interruptive term rewriting rules.
bool is_equal_same_type(const basic &other) const override
Returns true if two objects of same type are equal.
paramset parameter_set
Set of parameter numbers with respect to which to take the derivative.
void do_print_csrc(const print_csrc &c, unsigned level) const
void print(const print_context &c, unsigned level=0) const override
Output to stream.
void archive(archive_node &n) const override
Archive the object.
void read_archive(const archive_node &n, lst &syms) override
Load (deserialize) the object from an archive node.
The class function is used to implement builtin functions like sin, cos... and user defined functions...
static std::vector< function_options > & registered_functions()
unsigned precedence() const override
Return relative operator precedence (for parenthezing output).
ex pderivative(unsigned diff_param) const
Base class for print_contexts.
std::ostream & s
stream to output to
Base context for C source output.
Context for tree-like output for debugging.
const unsigned delta_indent
size of indentation step
This class holds a relation consisting of two expressions and a logical relation between them.
Interface to abstract derivatives of functions.
container< std::list > lst
std::multiset< unsigned > paramset
GINAC_IMPLEMENT_REGISTERED_CLASS_OPT_T(lst, basic, print_func< print_context >(&lst::do_print). print_func< print_tree >(&lst::do_print_tree)) template<> bool ls GINAC_BIND_UNARCHIVER)(lst)
Specialization of container::info() for lst.
print_func< print_context >(&varidx::do_print). print_func< print_latex >(&varidx
bool is_a(const basic &obj)
Check if obj is a T, including base classes.
std::vector< ex > exvector
Interface to GiNaC's overloaded operators.
#define GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(classname, supername, options)
Macro for inclusion in the implementation of each registered class.
Interface to several small and furry utilities needed within GiNaC but not of any interest to the use...