[GiNaC-devel] Polynomial arithmetics (Was: please pull from ...)

Jens Vollinga jensv at nikhef.nl
Mon Sep 22 17:12:34 CEST 2008


Hi,

Alexei Sheplyakov schrieb:
> Also I'd like to implement more efficient representation of polynomails
> and rational functions.

please go ahead if you have a good idea! I couldn't come up with one, 
yet, because one usually ends up duplicating a lot of complicated code.

>> At the moment the copyright/GPL headings are missing.
> 
> Do we really have to put legalistic boilerplate into *every* file?

Don't know. Ask the lawyers. Maybe a short reference to some text file 
containing the licences etc. could do the trick.

>> You are using the hpp extension now for some header files. Why?
> 
> AFAIK this is the standard naming convention for C++ headers.

It is not the standard naming convention for GiNaC. It is just creating 
a mess.

>> And why are there files with a tcc extension?
> 
> These files contain 'simple' functions implemented as templates. Whenever
> I need some particular function I #include corresponding tcc file. 'tcc'
> suffix prevents automake from compiling those files on their own.

So, it is like a header?!?

> Also factor.cpp is quite far from being optimal. In particular, univariate
> polynomials and operations on them are implemented in very inefficient way.

I know, thanks, see the email exchange with Richy. UniPoly is going to 
be removed and be replaced by cln stuff. Again, UniPoly is there because 
I didn't understand the necessary algorithms and their demands when I 
started to program the code. I wanted to be flexible, not efficient.

Something like umodpoly will do the job. That was the reason why I asked 
about the future plans of the gcd code because I would then directly use 
umodpoly and would have to add the addional functionality I need into 
upoly.cpp. But if this code is still going to change heavily, then I 
will wait and make a copy-implementation in factor.cpp for the time 
being. I usually have only a few hours per week to work on factor.cpp so 
the progress will be as slow as it was in the past and I can wait for 
the polynomial/* code to mature.

Regards,
Jens


More information about the GiNaC-devel mailing list