summaryrefslogtreecommitdiffstats
path: root/libc-bottom-half/sources/complex-builtins.c
blob: 971d57e19b91ca87ee379ebb0091d51848be3f49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Each of the following complex functions can be implemented with a single
// wasm instruction, so use that implementation rather than the portable
// one in libm.

#include <complex.h>

float (crealf)(float _Complex x) {
    return __builtin_crealf(x);
}

double (creal)(double _Complex x) {
    return __builtin_creal(x);
}

long double (creall)(long double _Complex x) {
    return __builtin_creall(x);
}

float (cimagf)(float _Complex x) {
    return __builtin_cimagf(x);
}

double (cimag)(double _Complex x) {
    return __builtin_cimag(x);
}

long double (cimagl)(long double _Complex x) {
    return __builtin_cimagl(x);
}