You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft/_sources/design_topics/accuracy.rst.txt
+17-1Lines changed: 17 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -23,11 +23,20 @@ including the corresponding element-wise array APIs defined in this standard
23
23
- multiply
24
24
- divide
25
25
26
-
for floating-point operands must return the nearest representable value according to IEEE 754-2019 and a supported rounding mode. By default, the rounding mode should be ``roundTiesToEven`` (i.e., round to nearest with ties rounded toward the nearest value with an even least significant bit).
26
+
for real-valued floating-point operands must return a correctly rounded value according to IEEE 754-2019 and a supported rounding mode. By default, the rounding mode should be ``roundTiesToEven`` (i.e., round to nearest with ties rounded toward the nearest value with an even least significant bit).
27
+
28
+
IEEE 754-2019 requires support for subnormal (a.k.a., denormal) numbers, which are useful for supporting gradual underflow. However, hardware support for subnormal numbers is not universal, and many platforms (e.g., accelerators) and compilers support toggling denormals-are-zero (DAZ) and/or flush-to-zero (FTZ) behavior to increase performance and to guard against timing attacks. Accordingly, conforming implementations may vary in their support for subnormal numbers.
27
29
28
30
Mathematical Functions
29
31
----------------------
30
32
33
+
The results of the following functions
34
+
35
+
- reciprocal
36
+
- sqrt
37
+
38
+
for real-valued floating-point operands must return a correctly rounded value according to IEEE 754-2019 and a supported rounding mode.
39
+
31
40
This specification does **not** precisely define the behavior of the following functions
32
41
33
42
- acos
@@ -41,10 +50,12 @@ This specification does **not** precisely define the behavior of the following f
41
50
- cosh
42
51
- exp
43
52
- expm1
53
+
- hypot
44
54
- log
45
55
- log1p
46
56
- log2
47
57
- log10
58
+
- logaddexp
48
59
- pow
49
60
- sin
50
61
- sinh
@@ -75,3 +86,8 @@ Linear Algebra
75
86
--------------
76
87
77
88
This specification does not specify accuracy requirements for linear algebra functions; however, this specification does expect that a conforming implementation of the array API standard will make a best-effort attempt to ensure that its implementations are theoretically sound and numerically robust.
89
+
90
+
Operations Involving Complex Numbers
91
+
------------------------------------
92
+
93
+
This specification does not specify accuracy requirements for arithmetic or functional operations involving complex-valued floating-point operands; however, this specification does expect that a conforming implementation of the array API standard will make a best-effort attempt to ensure that its implementations are theoretically sound and numerically robust.
<p>for floating-point operands must return the nearest representable value according to IEEE 754-2019 and a supported rounding mode. By default, the rounding mode should be <codeclass="docutils literal notranslate"><spanclass="pre">roundTiesToEven</span></code> (i.e., round to nearest with ties rounded toward the nearest value with an even least significant bit).</p>
453
+
<p>for real-valued floating-point operands must return a correctly rounded value according to IEEE 754-2019 and a supported rounding mode. By default, the rounding mode should be <codeclass="docutils literal notranslate"><spanclass="pre">roundTiesToEven</span></code> (i.e., round to nearest with ties rounded toward the nearest value with an even least significant bit).</p>
454
+
<p>IEEE 754-2019 requires support for subnormal (a.k.a., denormal) numbers, which are useful for supporting gradual underflow. However, hardware support for subnormal numbers is not universal, and many platforms (e.g., accelerators) and compilers support toggling denormals-are-zero (DAZ) and/or flush-to-zero (FTZ) behavior to increase performance and to guard against timing attacks. Accordingly, conforming implementations may vary in their support for subnormal numbers.</p>
450
455
</section>
451
456
<sectionid="mathematical-functions">
452
457
<h2id="mathematical-functions">Mathematical Functions<aclass="headerlink" href="#mathematical-functions" title="Link to this heading">¶</a></h2>
458
+
<p>The results of the following functions</p>
459
+
<ulclass="simple">
460
+
<li><p>reciprocal</p></li>
461
+
<li><p>sqrt</p></li>
462
+
</ul>
463
+
<p>for real-valued floating-point operands must return a correctly rounded value according to IEEE 754-2019 and a supported rounding mode.</p>
453
464
<p>This specification does <strong>not</strong> precisely define the behavior of the following functions</p>
<h2id="linear-algebra">Linear Algebra<aclass="headerlink" href="#linear-algebra" title="Link to this heading">¶</a></h2>
498
511
<p>This specification does not specify accuracy requirements for linear algebra functions; however, this specification does expect that a conforming implementation of the array API standard will make a best-effort attempt to ensure that its implementations are theoretically sound and numerically robust.</p>
<h2id="operations-involving-complex-numbers">Operations Involving Complex Numbers<aclass="headerlink" href="#operations-involving-complex-numbers" title="Link to this heading">¶</a></h2>
515
+
<p>This specification does not specify accuracy requirements for arithmetic or functional operations involving complex-valued floating-point operands; however, this specification does expect that a conforming implementation of the array API standard will make a best-effort attempt to ensure that its implementations are theoretically sound and numerically robust.</p>
0 commit comments