On Thu, Dec 20, 2018 at 12:38 PM mike via Boost
1) What exactly is mean by "Standard Library Support Requirements"?
That phrase is copied from: https://www.boost.org/doc/libs/1_69_0/libs/math/doc/html/math_toolkit/real_c... Those functions listed (fabs(), abs(), ceil(), ...) in that section of the code are requirements for satisfying Boost's "Conceptual Requirements for Real Number Types".
Do my types have to work with the actual Standard library functions (e.g. via implicit conversion to double) or does there have to be a function with the same name that can be found via ADL?
ADL should be sufficient. An update was made to the code today to make better use of ADL; in fact an example and test was just added using boost::multiprecision::cpp_dec_float_100. It's the second example on the current README.md: https://github.com/pulver/autodiff
2) Any plan to support types, where the result of a math operation might not be the same as the operands?
This is supported now, using the same mechanism of type-promotion as given
in
#include
3) Regarding the language standard: Don't use c++17 just for the sake of it, or because it simplifies a few lines of code.
But if (contrary to Peter Dimov's statement) it actually lets you avoid lots of template machinery It probably also reduces compile times and I for one would be very happy to see a library that prioritizes implementation simplicity and compile times over support for outdated standards and compilers.
A member of the mailing list Kedar B. is looking into making it C++11/14 compatible. Back when I wrote the first version in C++11, it was among my first forays into SFINAE coding and there was probably quite a bit of room for improvement. Matt