* Makes the interface to the underlying bignum package available. */
/*
- * GiNaC Copyright (C) 1999-2001 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2003 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
void print(const print_context & c, unsigned level = 0) const;
unsigned precedence(void) const {return 30;}
bool info(unsigned inf) const;
+ int degree(const ex & s) const;
+ int ldegree(const ex & s) const;
+ ex coeff(const ex & s, int n = 1) const;
bool has(const ex &other) const;
ex eval(int level = 0) const;
ex evalf(int level = 0) const;
protected:
/** Implementation of ex::diff for a numeric always returns 0.
* @see ex::diff */
- ex derivative(const symbol &s) const { return _ex0(); }
+ ex derivative(const symbol &s) const { return 0; }
bool is_equal_same_type(const basic &other) const;
unsigned calchash(void) const;
// utility functions
-/** Return the numeric object handled by an ex. Deprecated: use ex_to<numeric>().
- * This is unsafe: you need to check the type first. */
-inline const numeric &ex_to_numeric(const ex &e)
-{
- return static_cast<const numeric &>(*e.bp);
-}
-
/** Specialization of is_exactly_a<numeric>(obj) for numeric objects. */
template<> inline bool is_exactly_a<numeric>(const basic & obj)
{