]> git.proxmox.com Git - wasi-libc.git/blame - libc-bottom-half/sources/complex-builtins.c
Implement the cimag/creal functions for all types consistently.
[wasi-libc.git] / libc-bottom-half / sources / complex-builtins.c
CommitLineData
7d5074ff
DG
1// Each of the following complex functions can be implemented with a single
2// wasm instruction, so use that implementation rather than the portable
3// one in libm.
4
5#include <complex.h>
6
5ccebd31
DG
7float (crealf)(float _Complex x) {
8 return __builtin_crealf(x);
7d5074ff
DG
9}
10
5ccebd31
DG
11double (creal)(double _Complex x) {
12 return __builtin_creal(x);
7d5074ff
DG
13}
14
5ccebd31
DG
15long double (creall)(long double _Complex x) {
16 return __builtin_creall(x);
7d5074ff
DG
17}
18
5ccebd31
DG
19float (cimagf)(float _Complex x) {
20 return __builtin_cimagf(x);
21}
22
23double (cimag)(double _Complex x) {
24 return __builtin_cimag(x);
25}
26
27long double (cimagl)(long double _Complex x) {
28 return __builtin_cimagl(x);
7d5074ff 29}