[GiNaC-list] let_op() and index

mdias at ift.unesp.br mdias at ift.unesp.br
Thu Feb 24 14:37:54 CET 2005

Thanks Chris, I modified and compiled ok. but subs() make nothing. I have to
delare a new subs() function? Is there in source a example?

Thanks a lot


class covdiff : public indexed{

	idx index;
        ex arg;
  ex new_index;<--------I added this
  covdiff(const ex, idx) ;
 ex &  let_op(size_t i);
 size_t nops() const;
  ex op(size_t i) const;}

ex & covdiff::let_op(size_t i)
{new_index= index;<--- Get index value
 switch (i){
  case 0:
    return arg;
     case 1:
    return new_index;<--- modified
    throw std::range_error("covdiff::op(): no such operand");

Quoting Chris Dams <C.Dams at science.ru.nl>:

> Dear Marco,
> On Thu, 24 Feb 2005 mdias at ift.unesp.br wrote:
> > test.cpp:88: error: invalid initialization of reference of type
> 'GiNaC::ex&'
> >    from expression of type 'GiNaC::idx'
> It is better to make covdiff::index into an ex. What if somebody is going
> to initialize a covdiff from a varidx? The varidx will get stripped into
> an idx. I don't think that is what you want.
> Best wishes,
> Chris
> _______________________________________________
> GiNaC-list mailing list
> GiNaC-list at ginac.de
> http://thep.physik.uni-mainz.de/mailman/listinfo/ginac-list

This mail sent through IMP: http://horde.org/imp/

More information about the GiNaC-list mailing list