class cl_N; // We want to include cln.h only in numeric.cpp in order to
// avoid namespace pollution and keep compile-time low.
+#ifndef NO_GINAC_NAMESPACE
namespace GiNaC {
+#endif // ndef NO_GINAC_NAMESPACE
#define HASHVALUE_NUMERIC 0x80000001U
friend numeric asinh(numeric const & x);
friend numeric acosh(numeric const & x);
friend numeric atanh(numeric const & x);
+ friend numeric bernoulli(numeric const & n);
friend numeric abs(numeric const & x);
friend numeric mod(numeric const & a, numeric const & b);
friend numeric smod(numeric const & a, numeric const & b);
numeric power_dyn(numeric const & other) const { return power(other); }
*/
numeric inverse(void) const;
+ int csgn(void) const;
int compare(numeric const & other) const;
bool is_equal(numeric const & other) const;
bool is_zero(void) const;
numeric asinh(numeric const & x);
numeric acosh(numeric const & x);
numeric atanh(numeric const & x);
+numeric zeta(numeric const & x);
numeric gamma(numeric const & x);
+numeric psi(numeric const & x);
+numeric psi(numeric const & n, numeric const & x);
numeric factorial(numeric const & n);
numeric doublefactorial(numeric const & n);
numeric binomial(numeric const & n, numeric const & k);
+numeric bernoulli(numeric const & n);
numeric abs(numeric const & x);
numeric mod(numeric const & a, numeric const & b);
inline numeric inverse(numeric const & x)
{ return x.inverse(); }
+inline bool csgn(numeric const & x)
+{ return x.csgn(); }
+
inline bool is_zero(numeric const & x)
{ return x.is_zero(); }
inline numeric denom(numeric const & x)
{ return x.denom(); }
-/* do we need this any more? */
-//inline numeric factorial(int n)
-//{ return factorial(numeric(n)); }
-
-/* do we need this any more? */
-//inline numeric binomial(int n, int k)
-//{ return binomial(numeric(n), numeric(k)); }
+// numeric evaluation functions for class constant objects:
-ex IEvalf(void);
ex PiEvalf(void);
ex EulerGammaEvalf(void);
ex CatalanEvalf(void);
return static_cast<const numeric &>(*e.bp);
}
+#ifndef NO_GINAC_NAMESPACE
} // namespace GiNaC
+#endif // ndef NO_GINAC_NAMESPACE
#endif // ndef __GINAC_NUMERIC_H__