(c.f. Debian Bug#298400).
return sprod(sprod_s(l, r));
}
-void sprod::print(const print_context & c, unsigned level) const
+template <> void sprod::print(const print_context & c, unsigned level) const
{
const sprod_s & sp = get_struct();
c.s << "<" << sp.left << "|" << sp.right << ">";
}
-ex sprod::eval(int level) const
+template <> ex sprod::eval(int level) const
{
// symmetric scalar product
const sprod_s & sp = get_struct();
print_func<print_tree>(&exprseq::do_print_tree))
/** Specialization of container::info() for exprseq. */
-bool exprseq::info(unsigned inf) const
+template <> bool exprseq::info(unsigned inf) const
{
if (inf == info_flags::exprseq)
return true;
return function(zeta2_SERIAL::serial, ex(p1), ex(p2));
}
class zeta_SERIAL;
-template<> inline bool is_the_function<class zeta_SERIAL>(const ex& x)
+template<> inline bool is_the_function<zeta_SERIAL>(const ex& x)
{
return is_the_function<zeta1_SERIAL>(x) || is_the_function<zeta2_SERIAL>(x);
}
return function(G3_SERIAL::serial, ex(x), ex(s), ex(y));
}
class G_SERIAL;
-template<> inline bool is_the_function<class G_SERIAL>(const ex& x)
+template<> inline bool is_the_function<G_SERIAL>(const ex& x)
{
return is_the_function<G2_SERIAL>(x) || is_the_function<G3_SERIAL>(x);
}
return function(psi2_SERIAL::serial, ex(p1), ex(p2));
}
class psi_SERIAL;
-template<> inline bool is_the_function<class psi_SERIAL>(const ex & x)
+template<> inline bool is_the_function<psi_SERIAL>(const ex & x)
{
return is_the_function<psi1_SERIAL>(x) || is_the_function<psi2_SERIAL>(x);
}
print_func<print_tree>(&lst::do_print_tree))
/** Specialization of container::info() for lst. */
-bool lst::info(unsigned inf) const
+template <> bool lst::info(unsigned inf) const
{
if (inf == info_flags::list)
return true;
#include "ex.h"
#include "ncmul.h"
+#include "numeric.h"
#include "operators.h"
#include "print.h"