Compute the complex sine
Synopsis:
#include <complex.h>
double complex csin( double complex z );
float complex csinf( float complex z );
long double complex csinl( long double complex z );
Arguments:
- z
- The complex value that you want to get the complex sine of.
Library:
- libm
- The general-purpose math library.
- libm-sve
- (QNX Neutrino 7.1 or later)
A library that optimizes the code for ARMv8.2 chips that have Scalable Vector Extension hardware.
Your system requirements will determine how you should work with these libraries:
- If you want only selected processes to run with the SVE version, you can include both libraries in your OS image
and use the -l m or -l m-sve option to
qcc
to link explicitly against the appropriate one.
- If you want all processes to use the SVE version, include libm-sve.so in your OS image
and set up a symbolic link from libm.so to libm-sve.so.
Use the -l m option to
qcc
to link against the library.
Note:
Compile your program with the -fno-builtin option to prevent the compiler from using a
built-in version of the function.
Description:
These functions compute the complex sine of z.
The sine is an entire function on the complex plane, and has no branch cuts.
To check for error situations, use
feclearexcept()
and
fetestexcept().
For example:
- Call feclearexcept(FE_ALL_EXCEPT) before calling
csin(), csinf(), or csinl().
- On return, if fetestexcept(FE_ALL_EXCEPT)
is nonzero, then an error has occurred.
Returns:
The complex sine of z.
Errors and special cases are handled as if the operation were implemented as
-i * csinh(i * z).
These functions raise FE_INEXACT if the FPU reports that
the result can't be exactly represented as a floating-point number.
Classification:
C11,
POSIX 1003.1
Safety: |
|
Cancellation point |
No |
Interrupt handler |
Yes |
Signal handler |
Yes |
Thread |
Yes |