[GiNaC-devel] What good are evalf(level) and normal(level)?

Richard B. Kreckel kreckel at in.terlu.de
Wed Jan 6 23:50:41 CET 2016


Hi!

Three weeks ago I've removed the 'level' argument of the eval()
functions (on the C++11 branch). After all, if an object derived from
basic is evaluated, it must evaluate its own structure, but not the one
of expressions it contains - these are already evaluated. (This had
become possible after elusive bugs in the automatic evaluation were fixed.)

Now I wonder what the 'level' argument of evalf() and normal() are good
for. The situation is slightly less clear than with eval(): After all,
it *might* be useful to evalf/normal the expression's top level only
without recursing down the directed acyclic graph.

The question is: *Is* it a realistic use case to evalf/normal the
expression to some level only? I do not see it.

If anyone cares for the 'level' argument of evalf and/or normal, please
respond and explain what it is used for. Otherwise, the 'level' argument
will be removed by the end of this month. (Fact: This removal does not
affect any of the regression tests.)

All my best,
   -richy.
-- 
Richard B. Kreckel
<http://in.terlu.de/~kreckel/>


More information about the GiNaC-devel mailing list