bug: get_precedence() is not working
    Pearu Peterson 
    pearu at cens.ioc.ee
       
    Sat May 19 02:05:40 CEST 2001
    
    
  
On Fri, 18 May 2001, Christian Bauer wrote:
> Hi!
> 
> On Thu, May 17, 2001 at 11:22:21PM +0200, Pearu Peterson wrote:
> > seems that simplest solution is inserting the following line 
> > 	public: unsigned get_precedence(void) const {return precedence;}
> > to the macro GNAC_DECLARE_REGISTERED_CLASS
> 
> This seems to work.
Sorry to bother again but it does not. Namely, some classes, such as
symbol, does not use GNAC_DECLARE_REGISTERED_CLASS, and as a consequence
one cannot use symbol::get_precedence() (which is silly, of cource). 
As a fix (to the latest CVS version), there are two possibilities:
1) put basic::get_precedence() back again --- this will work if it is
**absolutely sure** that classes with no storage will not define their own
precedence (not now and not in future).
2) insert 
  public: unsigned get_precedence(void) const {return precedence;}
to macro
  GINAC_DECLARE_REGISTERED_CLASS_NO_CTORS
so that all GiNaC classes will have their own get_precedence() method.
I think this is safest solution.
Regards,
	Pearu
    
    
More information about the GiNaC-devel
mailing list