X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fnumeric.h;h=51ee5e8f9b6a8c5d67f473962292b74dbafb2b86;hb=a84b7dfa6a621b358527671949cc5d9845b0bcb9;hp=0d2ab166174682fc537df08430ca726077af110e;hpb=5184d67c0ec1056ac039419e08558632793a4e2c;p=ginac.git diff --git a/ginac/numeric.h b/ginac/numeric.h index 0d2ab166..51ee5e8f 100644 --- a/ginac/numeric.h +++ b/ginac/numeric.h @@ -83,6 +83,7 @@ class numeric : public basic friend const numeric atanh(const numeric & x); friend const numeric zeta(const numeric & x); friend const numeric bernoulli(const numeric & n); + friend const numeric fibonacci(const numeric & n); friend numeric abs(const numeric & x); friend numeric mod(const numeric & a, const numeric & b); friend numeric smod(const numeric & a, const numeric & b); @@ -131,6 +132,7 @@ public: ex eval(int level=0) const; ex evalf(int level=0) const; ex normal(lst &sym_lst, lst &repl_lst, int level=0) const; + ex to_rational(lst &repl_lst) const; numeric integer_content(void) const; ex smod(const numeric &xi) const; numeric max_coefficient(void) const; @@ -187,10 +189,10 @@ public: int to_int(void) const; long to_long(void) const; double to_double(void) const; - numeric real(void) const; - numeric imag(void) const; - numeric numer(void) const; - numeric denom(void) const; + const numeric real(void) const; + const numeric imag(void) const; + const numeric numer(void) const; + const numeric denom(void) const; int int_length(void) const; // member variables @@ -231,7 +233,8 @@ const numeric asinh(const numeric & x); const numeric acosh(const numeric & x); const numeric atanh(const numeric & x); const numeric zeta(const numeric & x); -const numeric gamma(const numeric & x); +const numeric lgamma(const numeric & x); +const numeric tgamma(const numeric & x); const numeric psi(const numeric & x); const numeric psi(const numeric & n, const numeric & x); const numeric factorial(const numeric & n); @@ -267,7 +270,7 @@ inline numeric pow(const numeric & x, const numeric & y) inline numeric inverse(const numeric & x) { return x.inverse(); } -inline bool csgn(const numeric & x) +inline int csgn(const numeric & x) { return x.csgn(); } inline bool is_zero(const numeric & x) @@ -306,22 +309,22 @@ inline bool is_cinteger(const numeric & x) inline bool is_crational(const numeric & x) { return x.is_crational(); } -inline numeric real(const numeric & x) +inline const numeric real(const numeric & x) { return x.real(); } -inline numeric imag(const numeric & x) +inline const numeric imag(const numeric & x) { return x.imag(); } -inline numeric numer(const numeric & x) +inline const numeric numer(const numeric & x) { return x.numer(); } -inline numeric denom(const numeric & x) +inline const numeric denom(const numeric & x) { return x.denom(); } // numeric evaluation functions for class constant objects: ex PiEvalf(void); -ex EulerGammaEvalf(void); +ex EulerEvalf(void); ex CatalanEvalf(void);