[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