patch for container.h

Chris Dams chrisd at sci.kun.nl
Mon Jul 14 15:24:38 CEST 2003


Hello,

I found out that if the subs() method does a substitution on a lst the
tinfo flag is not set properly. This then gives all kinds of weirdness in
the canonical ordering. The solution is to set the tinfo correctly on two
of the constructors in container.h . Also, it seems that if one of the
expressions in a container is changed by a subs(), still subs_one_level()
is called on that container. I think this is wrong. A patch is attached.

Bye,
Chris Dams
-------------- next part --------------
Index: container.h
===================================================================
RCS file: /home/cvs/GiNaC/ginac/container.h,v
retrieving revision 1.2
diff -r1.2 container.h
88c88
< 	container(STLT const & s, bool discardable = false)
---
> 	container(STLT const & s, bool discardable = false) : inherited(get_tinfo())
96c96
< 	explicit container(STLT * vp)
---
> 	explicit container(STLT * vp) : inherited(get_tinfo())
431c431
< 		return ex_to<basic>(thiscontainer(vp)).subs_one_level(ls, lr, options);
---
> 		return ex_to<basic>(thiscontainer(vp));


More information about the GiNaC-devel mailing list