* This file was generated automatically from function.hppy.
* Please do not modify it directly, edit function.hppy instead!
*
- * GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2015 Johannes Gutenberg University Mainz, Germany
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
typedef ex (* imag_part_funcp)();
typedef ex (* expand_funcp)();
typedef ex (* derivative_funcp)();
+typedef ex (* expl_derivative_funcp)();
typedef ex (* power_funcp)();
typedef ex (* series_funcp)();
typedef void (* print_funcp)();
+typedef bool (* info_funcp)();
// the following lines have been generated for max. @maxargs@ parameters
+++ for N, args in [ ( N, seq('const ex &', N) ) for N in range(1, maxargs + 1) ]:
typedef ex (* imag_part_funcp_@N@)( @args@ );
typedef ex (* expand_funcp_@N@)( @args@, unsigned );
typedef ex (* derivative_funcp_@N@)( @args@, unsigned );
+typedef ex (* expl_derivative_funcp_@N@)( @args@, const symbol & );
typedef ex (* power_funcp_@N@)( @args@, const ex & );
typedef ex (* series_funcp_@N@)( @args@, const relational &, int, unsigned );
typedef void (* print_funcp_@N@)( @args@, const print_context & );
+typedef bool (* info_funcp_@N@)( @args@, unsigned );
---
// end of generated lines
---
typedef ex (* expand_funcp_exvector)(const exvector &, unsigned);
typedef ex (* derivative_funcp_exvector)(const exvector &, unsigned);
+typedef ex (* expl_derivative_funcp_exvector)(const exvector &, const symbol &);
typedef ex (* power_funcp_exvector)(const exvector &, const ex &);
typedef ex (* series_funcp_exvector)(const exvector &, const relational &, int, unsigned);
typedef void (* print_funcp_exvector)(const exvector &, const print_context &);
+typedef bool (* info_funcp_exvector)(const exvector &, unsigned);
class function_options
unsigned get_nparams() const { return nparams; }
protected:
- bool has_derivative() const { return derivative_f != NULL; }
- bool has_power() const { return power_f != NULL; }
+ bool has_derivative() const { return derivative_f != nullptr; }
+ bool has_power() const { return power_f != nullptr; }
void test_and_set_nparams(unsigned n);
void set_print_func(unsigned id, print_funcp f);
imag_part_funcp imag_part_f;
expand_funcp expand_f;
derivative_funcp derivative_f;
+ expl_derivative_funcp expl_derivative_f;
power_funcp power_f;
series_funcp series_f;
std::vector<print_funcp> print_dispatch_table;
+ info_funcp info_f;
bool evalf_params_first;
bool imag_part_use_exvector_args;
bool expand_use_exvector_args;
bool derivative_use_exvector_args;
+ bool expl_derivative_use_exvector_args;
bool power_use_exvector_args;
bool series_use_exvector_args;
bool print_use_exvector_args;
+ bool info_use_exvector_args;
unsigned functions_with_same_name;
// end of generated lines
function(unsigned ser, const exprseq & es);
function(unsigned ser, const exvector & v, bool discardable = false);
- function(unsigned ser, std::auto_ptr<exvector> vp);
+ function(unsigned ser, exvector && v);
// functions overriding virtual functions from base classes
public:
unsigned calchash() const;
ex series(const relational & r, int order, unsigned options = 0) const;
ex thiscontainer(const exvector & v) const;
- ex thiscontainer(std::auto_ptr<exvector> vp) const;
+ ex thiscontainer(exvector && v) const;
ex conjugate() const;
ex real_part() const;
ex imag_part() const;
void archive(archive_node& n) const;
void read_archive(const archive_node& n, lst& syms);
+ bool info(unsigned inf) const;
protected:
ex derivative(const symbol & s) const;
bool is_equal_same_type(const basic & other) const;
// non-virtual functions in this class
protected:
ex pderivative(unsigned diff_param) const; // partial differentiation
+ ex expl_derivative(const symbol & s) const; // partial differentiation
static std::vector<function_options> & registered_functions();
bool lookup_remember_table(ex & result) const;
void store_remember_table(ex const & result) const;