* Implementation of GiNaC's sums of expressions. */
/*
- * GiNaC Copyright (C) 1999-2005 Johannes Gutenberg University Mainz, Germany
+ * GiNaC Copyright (C) 1999-2006 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
add::add()
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
}
//////////
add::add(const ex & lh, const ex & rh)
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
overall_coeff = _ex0;
construct_from_2_ex(lh,rh);
GINAC_ASSERT(is_canonical());
add::add(const exvector & v)
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
overall_coeff = _ex0;
construct_from_exvector(v);
GINAC_ASSERT(is_canonical());
add::add(const epvector & v)
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
overall_coeff = _ex0;
construct_from_epvector(v);
GINAC_ASSERT(is_canonical());
add::add(const epvector & v, const ex & oc)
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
overall_coeff = oc;
construct_from_epvector(v);
GINAC_ASSERT(is_canonical());
add::add(std::auto_ptr<epvector> vp, const ex & oc)
{
- tinfo_key = TINFO_add;
+ tinfo_key = &add::tinfo_static;
GINAC_ASSERT(vp.get()!=0);
overall_coeff = oc;
construct_from_epvector(*vp);
return seq.begin()->rest.return_type();
}
-unsigned add::return_type_tinfo() const
+const basic* add::return_type_tinfo() const
{
if (seq.empty())
- return tinfo_key;
+ return this;
else
return seq.begin()->rest.return_type_tinfo();
}