Visible to Intel only — GUID: GUID-8BCB3EF3-4113-4511-B25E-F0F77674D2FB
Visible to Intel only — GUID: GUID-8BCB3EF3-4113-4511-B25E-F0F77674D2FB
IMF Device Library Hyperbolic Functions
The IMF Device Library supports the following hyperbolic and inverse hyperbolic functions:
acosh
Description: The acosh(x) function returns the inverse hyperbolic cosine of x.
Special Values:
Argument x | Result acosh(x) |
---|---|
+1 | +0 |
x < +1 | QNAN |
-∞ | QNAN |
+∞ | +∞ |
Useful Identities:
acosh(x) = log( x + sqrt(x^2 - 1) )
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::acosh ( float x ); double sycl::ext::intel::math::acosh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::acosh ( float x ); double sycl::ext::intel::math::ha::acosh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::acosh ( float x ); double sycl::ext::intel::math::la::acosh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::acosh ( float x );
asinh
Description: The asinh(x) function returns the inverse hyperbolic sine of x.
Special Values:
Argument x | Result asinh(x) |
---|---|
+/-0 | +/-0 |
+/-∞ | +/-∞ |
Useful Identities:
asinh(x) = log( x + sqrt(x^2 + 1) )
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::asinh ( float x ); double sycl::ext::intel::math::asinh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::asinh ( float x ); double sycl::ext::intel::math::ha::asinh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::asinh ( float x ); double sycl::ext::intel::math::la::asinh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::asinh ( float x );
atanh
Description: The atanh(x) function returns the inverse hyperbolic tangent of x.
Special Values:
Argument x | Result atanh(x) |
---|---|
+/-1 | +/-∞ |
|x| > 1 | QNAN |
+/-∞ | QNAN |
Useful Identities:
atanh(x) = 0.5 · log( (1 + x)/(1 - x) )
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::atanh ( float x ); double sycl::ext::intel::math::atanh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::atanh ( float x ); double sycl::ext::intel::math::ha::atanh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::atanh ( float x ); double sycl::ext::intel::math::la::atanh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::atanh ( float x );
cosh
Description: The cosh(x) function returns the hyperbolic cosine of x.
Special Values:
Argument x | Result cosh(x) |
---|---|
+/-0 | +1 |
x > +OVFL | +∞ |
x < -OVFL | +∞ |
+/-∞ | +∞ |
Useful Identities:
cosh(x) = ( exp(x) + exp(-x) ) / 2
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::cosh ( float x ); double sycl::ext::intel::math::cosh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::cosh ( float x ); double sycl::ext::intel::math::ha::cosh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::cosh ( float x ); double sycl::ext::intel::math::la::cosh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::cosh ( float x );
sinh
Description: The sinh(x) function returns the hyperbolic sine of x.
Special Values:
Argument x | Result sinh(x) |
---|---|
+/-0 | +/-0 |
x > +OVFL | +∞ |
x < -OVFL | -∞ |
+/-∞ | +/-∞ |
Useful Identities:
sinh(x) = ( exp(x) - exp(-x) ) / 2
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::sinh ( float x ); double sycl::ext::intel::math::sinh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::sinh ( float x ); double sycl::ext::intel::math::ha::sinh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::sinh ( float x ); double sycl::ext::intel::math::la::sinh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::sinh ( float x );
tanh
Description: The tanh(x) function returns the hyperbolic tangent of x.
Special Values:
Argument x | Result tanh(x) |
---|---|
+/-0 | +/-0 |
+/-∞ | +/-1 |
Useful Identities:
tanh(x) = ( exp(x) - exp(-x) ) / ( exp(x) + exp(-x) )
Calling Interfaces:
- Default accuracy:
float sycl::ext::intel::math::tanh ( float x ); double sycl::ext::intel::math::tanh ( double x );
- High accuracy (HA):
float sycl::ext::intel::math::ha::tanh ( float x ); double sycl::ext::intel::math::ha::tanh ( double x );
- Low accuracy (LA):
float sycl::ext::intel::math::la::tanh ( float x ); double sycl::ext::intel::math::la::tanh ( double x );
- Enhanced performance:
float sycl::ext::intel::math::ep::tanh ( float x );