canonical ordering
Christian Bauer
cbauer at thep.physik.uni-mainz.de
Mon Mar 11 21:18:25 CET 2002
Hi!
On Sun, Mar 10, 2002 at 12:24:26AM -0800, Garnet Kin-Lic Chan wrote:
> For example, I derived a class from indexed, whose compare_same_type
> simply calls the inherited::compare_same_type, yet the ordering of
> products in my class was different from that of the usual indexed objects.
The ordering is determined by basic::compare() which uses hash keys to speed
up the process. The default hash function basic::calchash() uses the
object's tinfo key for the computation. compare_same_type() only gets called
when the hash and tinfo keys are identical. That's why you're seeing
different orderings on (different) classes with the same compare_same_type()
function.
> What determines and triggers the canonical ordering?
The add and mul classes canonicalize their children at construction time.
Bye,
Christian
--
/ Coding on PowerPC and proud of it
\/ http://www.uni-mainz.de/~bauec002/
More information about the GiNaC-list
mailing list