Boost logo

Boost :

Subject: Re: [boost] New library proposal: Autodiff
From: Matt Pulver (mpulver_at_[hidden])
Date: 2018-12-21 00:16:44


On Thu, Dec 20, 2018 at 12:38 PM mike via Boost <boost_at_[hidden]>
wrote:

> 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_concepts.html#math_toolkit.real_concepts.standard_library_support_require

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 <boost/math/tools/promotion.hpp>

>
> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk