]> www.ginac.de Git - ginac.git/blobdiff - ginac/inifcns.h
- added the beta function to GiNaC
[ginac.git] / ginac / inifcns.h
index 0ccde8de774a9d2900581d905908fc17b82325cc..a5a527000cdbebbf4b69673ef3682ffd0b3373ba 100644 (file)
@@ -26,7 +26,9 @@
 #include <ginac/function.h>
 #include <ginac/ex.h>
 
+#ifndef NO_GINAC_NAMESPACE
 namespace GiNaC {
+#endif // ndef NO_GINAC_NAMESPACE
 
 /** Sine. */
 DECLARE_FUNCTION_1P(sin)
@@ -79,11 +81,28 @@ DECLARE_FUNCTION_1P(Li2)
 /** Trilogarithm. */
 DECLARE_FUNCTION_1P(Li3)
 
-/** Gamma function. */
+/** Riemann's Zeta-function. */
+DECLARE_FUNCTION_1P(zeta)
+//DECLARE_FUNCTION_2P(zeta)
+
+/** Gamma-function. */
 DECLARE_FUNCTION_1P(gamma)
 
-/** Psi function (aka polygamma-function) */
-DECLARE_FUNCTION_2P(psi)
+/** Beta-function. */
+DECLARE_FUNCTION_2P(beta)
+
+/** Psi-function (aka polygamma-function). */
+// overloading @ work: we cannot use the macros
+extern const unsigned function_index_psi1;
+inline function psi(ex const & p1) {
+    return function(function_index_psi1, p1);
+}
+extern const unsigned function_index_psi2;
+inline function psi(ex const & p1, ex const & p2) {
+    return function(function_index_psi2, p1, p2);
+}
+//DECLARE_FUNCTION_1P(psi)
+//DECLARE_FUNCTION_2P(psi)
     
 /** Factorial function. */
 DECLARE_FUNCTION_1P(factorial)
@@ -103,6 +122,8 @@ inline bool is_order_function(ex const & e)
        return is_ex_the_function(e, Order);
 }
 
+#ifndef NO_GINAC_NAMESPACE
 } // namespace GiNaC
+#endif // ndef NO_GINAC_NAMESPACE
 
 #endif // ndef __GINAC_INIFCNS_H__