patch for function::function

Chris Dams chrisd at sci.kun.nl
Thu Apr 24 16:13:21 CEST 2003


Hello,

I found out that if you use the constructor function::function(unsigned
ser, const exprseq & es) to construct a function, this function does not
get evaluated if the exprseq was already evaluated. The reason is that the
expression sequence is copied with the exprseq::copy function and that
this takes over the status flags of the already-evaluated exprseq.
Therefore I think that the function

function::function(unsigned ser, const exprseq & es) : exprseq(es),
serial(ser)
{
        tinfo_key = TINFO_function;
}

that occurs in the script function.pl should be changed into

function::function(unsigned ser, const exprseq & es) : exprseq(es),
serial(ser)
{
        tinfo_key = TINFO_function;
        flags = flags & ~status_flags::evaluated;
}

All the best,
Chris Dams




More information about the GiNaC-devel mailing list