[GiNaC-devel] release 1.3.6

Richard B. Kreckel kreckel at ginac.de
Tue Dec 12 21:34:57 CET 2006


Sheplyakov Alexei wrote:

>+class lanczos_coeffs
>+{
>+       public:
>+               lanczos_coeffs();
>+               bool sufficiently_accurate(int digits);
>+               int get_order() const { return current_vector->size(); }
>+               numeric calc_lanczos_A(const numeric &) const;
>+       private:
>+               static std::vector<numeric> coeffs_12; // Use in case Digits <= 20
>+               static std::vector<numeric> coeffs_30; // Use in case Digits <= 50
>+               static std::vector<numeric> coeffs_60; // Use in case Digits <= 100
>+               static std::vector<numeric> coeffs_120; // Use in case Digits <= 200
>
>With such a code one need to break ABI (add extra class members) in
>order to increase the precision. May be replacing all these with
>static std::vector<std::vector<numeric> >  would be better solution?
>  
>

But if the extra class members are of a class that is not intended to be 
used by any user of the library and cannot be used (at least without 
messing around), then it is okay. Chris was careful enough to add the 
class to file numeric.cpp, not to any of our header files. So it is not 
something anybody can use when linking his/her apps. Hence, there isn't 
anything that can break when the library is later upgraded underneath 
applications using it.

Regards
   -richy.

-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>




More information about the GiNaC-devel mailing list