return (new add(vp,overall_coeff))->setflag(status_flags::expanded | status_flags::dynallocated);
}
-//////////
-// new virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
-//////////
-// non-virtual functions in this class
-//////////
-
-// none
-
//////////
// static member variables
//////////
unsigned add::precedence = 40;
-//////////
-// global constants
-//////////
-
-const add some_add;
-const std::type_info & typeid_add = typeid(some_add);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned precedence;
};
-// global constants
-
-extern const add some_add;
-extern const std::type_info & typeid_add;
-
// utility functions
inline const add &ex_to_add(const ex &e)
{
unsigned basic::precedence = 70;
unsigned basic::delta_indent = 4;
-//////////
-// global constants
-//////////
-
-const basic some_basic;
-const std::type_info & typeid_basic = typeid(some_basic);
-
//////////
// global variables
//////////
unsigned refcount;
};
-// global constants
-
-extern const basic some_basic;
-extern const std::type_info & typeid_basic;
-
// global variables
extern int max_recursion_level;
return simplified_ncmul(v);
}
-//////////
-// virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
-//////////
-// non-virtual functions in this class
-//////////
-
-// none
-
-//////////
-// static member variables
-//////////
-
-// none
-
//////////
// friend functions
//////////
return clifford("gamma", mu);
}
-//////////
-// global constants
-//////////
-
-const clifford some_clifford;
-const std::type_info & typeid_clifford = typeid(some_clifford);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
// none
};
-// global constants
-
-extern const clifford some_clifford;
-extern const std::type_info & typeid_clifford;
-
// global functions
inline const clifford &ex_to_clifford(const ex &e)
{
return true;
}
-//////////
-// virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
-//////////
-// non-virtual functions in this class
-//////////
-
-//////////
-// static member variables
-//////////
-
-// none
-
-//////////
-// global constants
-//////////
-
-const color some_color;
-const std::type_info & typeid_color = typeid(some_color);
-
//////////
// friend functions
//////////
unsigned representation_label; /**< Representation label to distiguish independent color matrices coming from separated fermion lines */
};
-// global constants
-
-extern const color some_color;
-extern const std::type_info & typeid_color;
-
// global functions
inline const color &ex_to_color(const ex &e)
{
return idx::info(inf);
}
-//////////
-// new virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
-//////////
-// non-virtual functions in this class
-//////////
-
-// none
-
-//////////
-// static member variables
-//////////
-
-// none
-
-//////////
-// global constants
-//////////
-
-const coloridx some_coloridx;
-const std::type_info & typeid_coloridx = typeid(some_coloridx);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
// none
};
-// global constants
-
-extern const coloridx some_coloridx;
-extern const std::type_info & typeid_coloridx;
-
// utility functions
inline const coloridx &ex_to_coloridx(const ex &e)
{
// global constants
//////////
-const constant some_constant;
-const std::type_info & typeid_constant = typeid(some_constant);
-
/** Pi. (3.14159...) Diverts straight into CLN for evalf(). */
const constant Pi("Pi", PiEvalf);
+
/** Euler's constant. (0.57721...) Sometimes called Euler-Mascheroni constant.
* Diverts straight into CLN for evalf(). */
const constant Euler("Euler", EulerEvalf);
+
/** Catalan's constant. (0.91597...) Diverts straight into CLN for evalf(). */
const constant Catalan("Catalan", CatalanEvalf);
static unsigned next_serial;
};
-// global constants
-
-extern const constant some_constant;
-extern const std::type_info & typeid_constant;
-
extern const constant Pi;
extern const constant Catalan;
extern const constant Euler;
unsigned expairseq::hashtabfactor=1;
#endif // def EXPAIRSEQ_USE_HASHTAB
-//////////
-// global constants
-//////////
-
-const expairseq some_expairseq;
-const std::type_info & typeid_expairseq = typeid(some_expairseq);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
#endif // def EXPAIRSEQ_USE_HASHTAB
};
-// global constants
-
-extern const expairseq some_expairseq;
-extern const std::type_info & typeid_expairseq;
-
// utility functions
inline const expairseq &ex_to_expairseq(const ex &e)
{
if (call_parent) inherited::destroy(call_parent);
}
-
-//////////
-// other constructors
-//////////
-
-// none
-
//////////
// archiving
//////////
return 0;
}
-//////////
-// new virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
-//////////
-// non-virtual functions in this class
-//////////
-
-// none
-
-//////////
-// static member variables
-//////////
-
-// none
-
-//////////
-// global constants
-//////////
-
-const fail some_fail;
-const std::type_info & typeid_fail = typeid(some_fail);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
// none
};
-// global constants
-
-extern const fail some_fail;
-extern const std::type_info & typeid_fail;
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
unsigned idx::next_serial=0;
-//////////
-// global constants
-//////////
-
-const idx some_idx;
-const std::type_info & typeid_idx = typeid(some_idx);
-
//////////
// other functions
//////////
bool covariant; /**< x_mu, default is contravariant: x~mu */
};
-// global constants
-
-extern const idx some_idx;
-extern const std::type_info & typeid_idx;
-
// utility functions
inline const idx &ex_to_idx(const ex &e)
{
return true;
}
-//////////
-// static member variables
-//////////
-
-// none
-
-//////////
-// global constants
-//////////
-
-const indexed some_indexed;
-const std::type_info & typeid_indexed = typeid(some_indexed);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
// none
};
-// global constants
-
-extern const indexed some_indexed;
-extern const std::type_info & typeid_indexed;
-
// utility functions
inline const indexed &ex_to_indexed(const ex &e)
{
unsigned isospin::next_serial=0;
-//////////
-// global constants
-//////////
-
-const isospin some_isospin;
-const std::type_info & typeid_isospin = typeid(some_isospin);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned next_serial;
};
-// global constants
-
-extern const isospin some_isospin;
-extern const std::type_info & typeid_isospin;
-
// utility functions
inline const isospin &ex_to_isospin(const ex &e)
{
return inherited::info(inf);
}
-//////////
-// new virtual functions which can be overridden by derived classes
-//////////
-
-// none
-
//////////
// non-virtual functions in this class
//////////
return i_copy;
}
-//////////
-// static member variables
-//////////
-
-// none
-
//////////
// global functions
//////////
return *d;
}
-//////////
-// global constants
-//////////
-
-const lorentzidx some_lorentzidx;
-const std::type_info & typeid_lorentzidx = typeid(some_lorentzidx);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
unsigned dim_parallel_space; /**< Dimension of parallel space */
};
-// global constants
-
-extern const lorentzidx some_lorentzidx;
-extern const std::type_info & typeid_lorentzidx;
-
// utility functions
inline const lorentzidx &ex_to_lorentzidx(const ex &e)
{
return e_expanded;
}
-//////////
-// global constants
-//////////
-
-const lortensor some_lortensor;
-const std::type_info & typeid_lortensor = typeid(some_lortensor);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned next_serial;
};
-// global constants
-
-extern const lortensor some_lortensor;
-extern const std::type_info & typeid_lortensor;
-
// utility functions
inline const lortensor & ex_to_lortensor(const ex &e)
return m;
}
-//////////
-// global constants
-//////////
-
-const matrix some_matrix;
-const std::type_info & typeid_matrix = typeid(some_matrix);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
};
-// global constants
-extern const matrix some_matrix;
-extern const std::type_info & typeid_matrix;
-
-
// wrapper functions around member functions
inline unsigned nops(const matrix & m)
unsigned mul::precedence = 50;
-
-//////////
-// global constants
-//////////
-
-const mul some_mul;
-const std::type_info & typeid_mul = typeid(some_mul);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned precedence;
};
-// global constants
-
-extern const mul some_mul;
-extern const std::type_info & typeid_mul;
-
// utility functions
inline const mul &ex_to_mul(const ex &e)
{
unsigned ncmul::precedence=50;
-
-//////////
-// global constants
-//////////
-
-const ncmul some_ncmul;
-const std::type_info & typeid_ncmul = typeid(some_ncmul);
-
//////////
// friend functions
//////////
static unsigned precedence;
};
-// global constants
-
-extern const ncmul some_ncmul;
-extern const std::type_info & typeid_ncmul;
-
// friend funtions
ex nonsimplified_ncmul(const exvector & v);
// global constants
//////////
-const numeric some_numeric;
-const std::type_info & typeid_numeric = typeid(some_numeric);
/** Imaginary unit. This is not a constant but a numeric since we are
* natively handing complex numbers anyways. */
const numeric I = numeric(cln::complex(cln::cl_I(0),cln::cl_I(1)));
// global constants
-extern const numeric some_numeric;
extern const numeric I;
-extern const std::type_info & typeid_numeric;
extern _numeric_digits Digits;
//#define is_a_numeric_hash(x) ((x)==HASHVALUE_NUMERIC)
unsigned power::precedence = 60;
-//////////
-// global constants
-//////////
-
-const power some_power;
-const std::type_info & typeid_power=typeid(some_power);
-
// helper function
ex sqrt(const ex & a)
static unsigned precedence;
};
-// global constants
-
-extern const power some_power;
-extern const std::type_info & typeid_power;
-
// utility functions
inline const power &ex_to_power(const ex &e)
{
unsigned pseries::precedence = 38; // for clarity just below add::precedence
-//////////
-// global constants
-//////////
-
-const pseries some_pseries;
-const std::type_info & typeid_pseries = typeid(some_pseries);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned precedence;
};
-// global constants
-extern const pseries some_pseries;
-extern const std::type_info & typeid_pseries;
-
/** Return a reference to the pseries object embedded in an expression.
* The result is undefined if the expression does not contain a pseries
* object at its top level.
unsigned relational::precedence=20;
-//////////
-// global constants
-//////////
-
-const relational some_relational;
-const std::type_info & typeid_relational = typeid(some_relational);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
static unsigned precedence;
};
-// global constants
-
-extern const relational some_relational;
-extern const std::type_info & typeid_relational;
-
// utility functions
inline const relational &ex_to_relational(const ex &e)
{
// none
-//////////
-// global constants
-//////////
-
-const simp_lor some_simp_lor;
-const std::type_info & typeid_simp_lor = typeid(some_simp_lor);
-
//////////
// friend functions
//////////
std::string name;
};
-// global constants
-
-extern const simp_lor some_simp_lor;
-extern const std::type_info & typeid_simp_lor;
-
// utility functions
inline const simp_lor &ex_to_simp_lor(const ex &e)
{
return registered_structures().size()-1;
}
-//////////
-// static member variables
-//////////
-
-// none
-
-//////////
-// global constants
-//////////
-
-const structure some_structure;
-const std::type_info & typeid_structure = typeid(some_structure);
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
};
-// global constants
-
-extern const structure some_structure;
-extern const std::type_info & typeid_structure;
-
#ifndef NO_NAMESPACE_GINAC
} // namespace GiNaC
#endif // ndef NO_NAMESPACE_GINAC
// std::string const symbol::autoname_prefix="symbol";
-//////////
-// global constants
-//////////
-
-const symbol some_symbol;
-const std::type_info & typeid_symbol = typeid(some_symbol);
-
//////////
// subclass assigned_ex_info
//////////
static unsigned next_serial;
};
-// global constants
-
-extern const symbol some_symbol;
-extern const std::type_info & typeid_symbol;
-
// utility functions
inline const symbol &ex_to_symbol(const ex &e)
{