Skip to content

Commit 07e84a7

Browse files
authored
Correct the documentation for fmaf
The documentation states that this function is correctly rounded, but empirically, that is not true, so here we remove that incorrect information from the documentation. For example, this would be the correct answer, but it is not the answer that is given by this function. fmaf(-1.9369631e13f, 2.1513551e-7f, -1.7354427e-24f) == -4.16709575e6
1 parent d5b0737 commit 07e84a7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

docs/c-runtime-library/reference/fma-fmaf-fmal.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "fma, fmaf, fmal"
3-
description: "API reference for fma, fmaf, and fmal; which multiplies two values together, adds a third value, and then rounds the result, without losing any precision due to intermediary rounding."
3+
description: "API reference for fma, fmaf, and fmal; which multiplies two values together, adds a third value, and then rounds the result, while only losing a small amount of precision due to intermediary rounding."
44
ms.date: "9/1/2020"
55
api_name: ["fma", "fmaf", "fmal", "_o_fma", "_o_fmaf", "_o_fmal"]
66
api_location: ["msvcrt.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr100_clr0400.dll", "msvcr110.dll", "msvcr110_clr0400.dll", "msvcr120.dll", "msvcr120_clr0400.dll", "ucrtbase.dll", "api-ms-win-crt-math-l1-1-0.dll", "api-ms-win-crt-private-l1-1-0.dll"]
@@ -12,7 +12,7 @@ ms.assetid: 584a6037-da1e-4e86-9f0c-97aae86de0c0
1212
---
1313
# fma, fmaf, fmal
1414

15-
Multiplies two values together, adds a third value, and then rounds the result, without losing any precision due to intermediary rounding.
15+
Multiplies two values together, adds a third value, and then rounds the result, while only losing a small amount of precision due to intermediary rounding.
1616

1717
## Syntax
1818

@@ -63,7 +63,7 @@ The value to add.
6363
6464
## Return Value
6565
66-
Returns `(x * y) + z`. The return value is then rounded using the current rounding format.
66+
Returns approximately `(x * y) + z`. The return value is then rounded using the current rounding format, although in many cases, it returns incorrectly rounded results and thus the value may be inexact by up to half an ulp from the correct value.
6767
6868
Otherwise, may return one of the following values:
6969

0 commit comments

Comments
 (0)