Proposal: Add "fma" to the RealFloat class

amindfv at amindfv at
Fri May 1 17:07:35 UTC 2015

+1 for "mulAdd". The "fused" would be a misnomer if there's a default implementation.


El May 1, 2015, a las 12:44, Twan van Laarhoven <twanvl at> escribió:

> I agree that Num is the place to put this function, with a default implementation. In my mind it is a special combination of (+) and (*), which both live in Num as well.
> I dislike the name fma, as that is a three letter acronym with no meaning to people who don't do numeric programming. And by putting the function in Num the name would end up in the Prelude.
> For further bikeshedding: my proposal for a name would mulAdd. But fusedMulAdd or fusedMultiplyAdd would also be fine.
> Twan
> On 2015-04-30 00:19, Ken T Takusagawa wrote:
>> On Wed, 29 Apr 2015, Edward Kmett wrote:
>>> Good point. If we wanted to we could push this all the way up to Num given the operations
>>> involved, and I could see that you could benefit from it there for types that have nothing
>>> to do with floating point, e.g. modular arithmetic could get away with using a single 'mod'.
>> I too advocate this go in Num.  The place I anticipate
>> seeing fma being used is in some polymorphic linear algebra
>> library, and it is not uncommon (having recently done this
>> myself) to do linear algebra on things that aren't
>> RealFloat, e.g., Rational, Complex, or number-theoretic
>> fields.
>> --ken
>> _______________________________________________
>> Libraries mailing list
>> Libraries at
> _______________________________________________
> Libraries mailing list
> Libraries at

More information about the Libraries mailing list