Hello,

I would like to start using the Boost multiprecision library in my code. For a series of reasons, I would like to disable the expression template support (I need the return type of a + b to be the type of a or b, and not an expression).

My understanding after briefly venturing into the library code is that there is the concept of a multiply_add() function (e.g., in boost/multiprecision/detail/default_ops.hpp), but that such support is hidden behind the expression template magic and it is not exposed when ET is disabled.

I tried to look into Boost math as well, where there is a fused multiply-add function, but it seems like it is built to support floating-point types and I need support for integral types (for the implementation of algebraic operations on polynomials with integer coefficients).

Is my understanding correct or is there a way to use some kind of a multiply_accumulate function in multiprecision without using ET?

Many thanks,

  Francesco.