diff --git a/OpenCL_C.txt b/OpenCL_C.txt index 7a2347faa..e6ddbd907 100644 --- a/OpenCL_C.txt +++ b/OpenCL_C.txt @@ -15997,6 +15997,7 @@ requires>> support for OpenCL C 2.0 or newer. | Derived implementations may implement as *atan*(_y_ / _x_) for _x_ > 0, *atan*(_y_ / _x_) + `M_PI_F` for _x_ < 0 and _y_ > 0, and *atan*(_y_ / _x_) - `M_PI_F` for _x_ < 0 and _y_ < 0. + For non-derived implementations, the error is {leq} 8192 ulp. | *atan2pi*(_y_, _x_) | Derived implementations may implement as *atan2*(_y_, _x_) * `M_1_PI_F`. diff --git a/cxx/numerical_compliance/relative_error_as_ulps.txt b/cxx/numerical_compliance/relative_error_as_ulps.txt index cc4ad9de1..28c4aaf83 100644 --- a/cxx/numerical_compliance/relative_error_as_ulps.txt +++ b/cxx/numerical_compliance/relative_error_as_ulps.txt @@ -630,6 +630,7 @@ The reference value used to compute the ULP value of an arithmetic operation is | atan2(y, x) | Implemented as atan(y/x) for x > 0, atan(y/x) + M_PI_F for x < 0 and y > 0 and atan(y/x) - M_PI_F for x < 0 and y < 0. + For non-derived implementations, the error is \<= 8192 ulp. | atanpi(x) | Implemented as atan(x) * M_1_PI_F. diff --git a/env/numerical_compliance.asciidoc b/env/numerical_compliance.asciidoc index bbb895b73..f70b81c1b 100644 --- a/env/numerical_compliance.asciidoc +++ b/env/numerical_compliance.asciidoc @@ -1454,6 +1454,7 @@ profile. | Derived implementations may implement as *atan*(_y_ / _x_) for _x_ > 0, *atan*(_y_ / _x_) + `M_PI_F` for _x_ < 0 and _y_ > 0, and *atan*(_y_ / _x_) - `M_PI_F` for _x_ < 0 and _y_ < 0. + For non-derived implementations, the error is {leq} 8192 ulp. | *OpExtInst* *atan2pi* | Derived implementations may implement as *atan2*(_y_, _x_) * `M_1_PI_F`.