On Sat, 14 Apr 2001, Richard B. Kreckel wrote:
On Sat, 14 Apr 2001, Richard B. Kreckel got some nervous twitch in his left hand and sent an unfinished email to innocent ginac-devel subscribers:
A couple of hours ago, I wrote: [...]
Btw, I have noticed that you use frequently
for (int n=this->ldegree(s); n<=this->degree(s); n++)
instead of more efficient
for (int n=this->ldegree(s), m=this->degree(s); n<=m; ++n)
that saves repeated calling of the degree() method.
Indeed, it does. But where else besides in basic::collect() do you see occurences of this?
Do grep "for (" *.cpp | grep "()" and there are numerous cases like for (unsigned i=0; i<sym_lst.nops(); i++) { for (unsigned i=0; i<seq.size(); ++i) { for (int p = 1; it!=factors.end(); ++it, ++p) Ok, they are not as bad as above and can be left for fixing them in future (if at all).
No, it does not safe calls. Please look at the assembler output, maybe
That's interesting indeed! It must be a optimization "feature" of a compiler. I guess int m = this->degree(s); for (int n=this->ldegree(s); n<=m; ++n) will do the job. Pearu