Skip to content

Commit 51ba10a

Browse files
First commit
0 parents  commit 51ba10a

File tree

3 files changed

+548
-0
lines changed

3 files changed

+548
-0
lines changed

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
all: libfloat128.so
2+
3+
float128.o: float128.c
4+
gcc -O3 -fPIC -c -o float128.o float128.c
5+
6+
libfloat128.so: float128.o
7+
gcc -shared -o libfloat128.so float128.o -lquadmath
8+

float128.c

Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
#include <stdio.h>
2+
#include <stdint.h>
3+
#include <quadmath.h>
4+
5+
6+
typedef union
7+
{
8+
__float128 value;
9+
10+
struct{
11+
uint64_t u0;
12+
uint64_t u1;
13+
} words64;
14+
15+
} myfloat128;
16+
17+
typedef union
18+
{
19+
__complex128 value;
20+
21+
struct{
22+
uint64_t u0;
23+
uint64_t u1;
24+
uint64_t u2;
25+
uint64_t u3;
26+
} words64;
27+
28+
} mycomplex128;
29+
30+
31+
#define F(x) (x.value)
32+
33+
34+
myfloat128 convert_qd(double a) { myfloat128 res; F(res) = a; return res; }
35+
myfloat128 convert_qui(unsigned long a) { myfloat128 res; F(res) = a; return res; }
36+
myfloat128 convert_qsi(long a) { myfloat128 res; F(res) = a; return res; }
37+
38+
double convert_dq(myfloat128 a) { return (double) F(a); }
39+
float convert_fq(myfloat128 a) { return (float) F(a); }
40+
41+
42+
myfloat128 neg_q(myfloat128 a) { myfloat128 res; F(res) =-F(a); return res; }
43+
44+
myfloat128 add_q(myfloat128 a, myfloat128 b) { myfloat128 res; F(res) = F(a)+F(b); return res; }
45+
myfloat128 add_qd(myfloat128 a, double b) { myfloat128 res; F(res) = F(a)+b; return res; }
46+
myfloat128 add_dq(double a, myfloat128 b) { myfloat128 res; F(res) = a+F(b); return res; }
47+
myfloat128 add_uiq(unsigned long a, myfloat128 b) { myfloat128 res; F(res) = a+F(b); return res; }
48+
myfloat128 add_qui(myfloat128 a, unsigned long b) { myfloat128 res; F(res) = F(a)+b; return res; }
49+
myfloat128 add_siq(long a, myfloat128 b) { myfloat128 res; F(res) = a+F(b); return res; }
50+
myfloat128 add_qsi(myfloat128 a, long b) { myfloat128 res; F(res) = F(a)+b; return res; }
51+
52+
myfloat128 sub_q(myfloat128 a, myfloat128 b) { myfloat128 res; F(res) = F(a)-F(b); return res; }
53+
myfloat128 sub_qd(myfloat128 a, double b) { myfloat128 res; F(res) = F(a)-b; return res; }
54+
myfloat128 sub_dq(double a, myfloat128 b) { myfloat128 res; F(res) = a-F(b); return res; }
55+
myfloat128 sub_uiq(unsigned long a, myfloat128 b) { myfloat128 res; F(res) = a-F(b); return res; }
56+
myfloat128 sub_qui(myfloat128 a, unsigned long b) { myfloat128 res; F(res) = F(a)-b; return res; }
57+
myfloat128 sub_siq(long a, myfloat128 b) { myfloat128 res; F(res) = a-F(b); return res; }
58+
myfloat128 sub_qsi(myfloat128 a, long b) { myfloat128 res; F(res) = F(a)-b; return res; }
59+
60+
myfloat128 mul_q(myfloat128 a, myfloat128 b) { myfloat128 res; F(res) = F(a)*F(b); return res; }
61+
myfloat128 mul_qd(myfloat128 a, double b) { myfloat128 res; F(res) = F(a)*b; return res; }
62+
myfloat128 mul_dq(double a, myfloat128 b) { myfloat128 res; F(res) = a*F(b); return res; }
63+
myfloat128 mul_uiq(unsigned long a, myfloat128 b) { myfloat128 res; F(res) = a*F(b); return res; }
64+
myfloat128 mul_qui(myfloat128 a, unsigned long b) { myfloat128 res; F(res) = F(a)*b; return res; }
65+
myfloat128 mul_siq(long a, myfloat128 b) { myfloat128 res; F(res) = a*F(b); return res; }
66+
myfloat128 mul_qsi(myfloat128 a, long b) { myfloat128 res; F(res) = F(a)*b; return res; }
67+
68+
myfloat128 div_q(myfloat128 a, myfloat128 b) { myfloat128 res; F(res) = F(a)/F(b); return res; }
69+
myfloat128 div_qd(myfloat128 a, double b) { myfloat128 res; F(res) = F(a)/b; return res; }
70+
myfloat128 div_dq(double a, myfloat128 b) { myfloat128 res; F(res) = a/F(b); return res; }
71+
myfloat128 div_uiq(unsigned long a, myfloat128 b) { myfloat128 res; F(res) = a/F(b); return res; }
72+
myfloat128 div_qui(myfloat128 a, unsigned long b) { myfloat128 res; F(res) = F(a)/b; return res; }
73+
myfloat128 div_siq(long a, myfloat128 b) { myfloat128 res; F(res) = a/F(b); return res; }
74+
myfloat128 div_qsi(myfloat128 a, long b) { myfloat128 res; F(res) = F(a)/b; return res; }
75+
76+
77+
mycomplex128 cneg_q(mycomplex128 a) { mycomplex128 res; F(res) =-F(a); return res; }
78+
79+
mycomplex128 cadd_q(mycomplex128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)+F(b); return res; }
80+
mycomplex128 cadd_qd(mycomplex128 a, double b) { mycomplex128 res; F(res) = F(a)+b; return res; }
81+
mycomplex128 cadd_dq(double a, mycomplex128 b) { mycomplex128 res; F(res) = a+F(b); return res; }
82+
mycomplex128 cadd_qD(mycomplex128 a, myfloat128 b) { mycomplex128 res; F(res) = F(a)+F(b); return res; }
83+
mycomplex128 cadd_Dq(myfloat128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)+F(b); return res; }
84+
mycomplex128 cadd_uiq(unsigned long a, mycomplex128 b) { mycomplex128 res; F(res) = a+F(b); return res; }
85+
mycomplex128 cadd_qui(mycomplex128 a, unsigned long b) { mycomplex128 res; F(res) = F(a)+b; return res; }
86+
mycomplex128 cadd_siq(long a, mycomplex128 b) { mycomplex128 res; F(res) = a+F(b); return res; }
87+
mycomplex128 cadd_qsi(mycomplex128 a, long b) { mycomplex128 res; F(res) = F(a)+b; return res; }
88+
89+
mycomplex128 csub_q(mycomplex128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)-F(b); return res; }
90+
mycomplex128 csub_qd(mycomplex128 a, double b) { mycomplex128 res; F(res) = F(a)-b; return res; }
91+
mycomplex128 csub_dq(double a, mycomplex128 b) { mycomplex128 res; F(res) = a-F(b); return res; }
92+
mycomplex128 csub_qD(mycomplex128 a, myfloat128 b) { mycomplex128 res; F(res) = F(a)-F(b); return res; }
93+
mycomplex128 csub_Dq(myfloat128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)-F(b); return res; }
94+
mycomplex128 csub_uiq(unsigned long a, mycomplex128 b) { mycomplex128 res; F(res) = a-F(b); return res; }
95+
mycomplex128 csub_qui(mycomplex128 a, unsigned long b) { mycomplex128 res; F(res) = F(a)-b; return res; }
96+
mycomplex128 csub_siq(long a, mycomplex128 b) { mycomplex128 res; F(res) = a-F(b); return res; }
97+
mycomplex128 csub_qsi(mycomplex128 a, long b) { mycomplex128 res; F(res) = F(a)-b; return res; }
98+
99+
mycomplex128 cmul_q(mycomplex128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)*F(b); return res; }
100+
mycomplex128 cmul_qd(mycomplex128 a, double b) { mycomplex128 res; F(res) = F(a)*b; return res; }
101+
mycomplex128 cmul_dq(double a, mycomplex128 b) { mycomplex128 res; F(res) = a*F(b); return res; }
102+
mycomplex128 cmul_qD(mycomplex128 a, myfloat128 b) { mycomplex128 res; F(res) = F(a)*F(b); return res; }
103+
mycomplex128 cmul_Dq(myfloat128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)*F(b); return res; }
104+
mycomplex128 cmul_uiq(unsigned long a, mycomplex128 b) { mycomplex128 res; F(res) = a*F(b); return res; }
105+
mycomplex128 cmul_qui(mycomplex128 a, unsigned long b) { mycomplex128 res; F(res) = F(a)*b; return res; }
106+
mycomplex128 cmul_siq(long a, mycomplex128 b) { mycomplex128 res; F(res) = a*F(b); return res; }
107+
mycomplex128 cmul_qsi(mycomplex128 a, long b) { mycomplex128 res; F(res) = F(a)*b; return res; }
108+
109+
mycomplex128 cdiv_q(mycomplex128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)/F(b); return res; }
110+
mycomplex128 cdiv_qd(mycomplex128 a, double b) { mycomplex128 res; F(res) = F(a)/b; return res; }
111+
mycomplex128 cdiv_dq(double a, mycomplex128 b) { mycomplex128 res; F(res) = a/F(b); return res; }
112+
mycomplex128 cdiv_qD(mycomplex128 a, myfloat128 b) { mycomplex128 res; F(res) = F(a)/F(b); return res; }
113+
mycomplex128 cdiv_Dq(myfloat128 a, mycomplex128 b) { mycomplex128 res; F(res) = F(a)/F(b); return res; }
114+
mycomplex128 cdiv_uiq(unsigned long a, mycomplex128 b) { mycomplex128 res; F(res) = a/F(b); return res; }
115+
mycomplex128 cdiv_qui(mycomplex128 a, unsigned long b) { mycomplex128 res; F(res) = F(a)/b; return res; }
116+
mycomplex128 cdiv_siq(long a, mycomplex128 b) { mycomplex128 res; F(res) = a/F(b); return res; }
117+
mycomplex128 cdiv_qsi(mycomplex128 a, long b) { mycomplex128 res; F(res) = F(a)/b; return res; }
118+
119+
120+
int stringq(char *s, size_t size, const char *format, myfloat128 a)
121+
{
122+
__float128 a1 = F(a);
123+
return quadmath_snprintf(s, size, format, a1);
124+
}
125+
126+
/* myfloat128 (const char *s, char **sp) */
127+
myfloat128 set_str_q(const char *s)
128+
{
129+
myfloat128 res; F(res) = strtoflt128(s, NULL);
130+
return res;
131+
}
132+
133+
int less_q(myfloat128 a, myfloat128 b) { return (F(a) < F(b)); }
134+
int less_equal_q(myfloat128 a, myfloat128 b) { return (F(a) <= F(b)); }
135+
int equal_q(myfloat128 a, myfloat128 b) { return (F(a) == F(b)); }
136+
int greater_q(myfloat128 a, myfloat128 b) { return (F(a) > F(b)); }
137+
int greater_equal_q(myfloat128 a, myfloat128 b) { return (F(a) >= F(b)); }
138+
139+
int less_qd(myfloat128 a, double b) { return (F(a) < b); }
140+
int less_equal_qd(myfloat128 a, double b) { return (F(a) <= b); }
141+
int equal_qd(myfloat128 a, double b) { return (F(a) == b); }
142+
int greater_qd(myfloat128 a, double b) { return (F(a) > b); }
143+
int greater_equal_qd(myfloat128 a, double b) { return (F(a) >= b); }
144+
145+
int less_dq(double a, myfloat128 b) { return (a < F(b)); }
146+
int less_equal_dq(double a, myfloat128 b) { return (a <= F(b)); }
147+
int equal_dq(double a, myfloat128 b) { return (a == F(b)); }
148+
int greater_dq(double a, myfloat128 b) { return (a > F(b)); }
149+
int greater_equal_dq(double a, myfloat128 b) { return (a >= F(b)); }
150+
151+
int less_qui(myfloat128 a, unsigned long b) { return (F(a) < b); }
152+
int less_equal_qui(myfloat128 a, unsigned long b) { return (F(a) <= b); }
153+
int equal_qui(myfloat128 a, unsigned long b) { return (F(a) == b); }
154+
int greater_qui(myfloat128 a, unsigned long b) { return (F(a) > b); }
155+
int greater_equal_qui(myfloat128 a, unsigned long b) { return (F(a) >= b); }
156+
157+
int less_uiq(unsigned long a, myfloat128 b) { return (a < F(b)); }
158+
int less_equal_uiq(unsigned long a, myfloat128 b) { return (a <= F(b)); }
159+
int equal_uiq(unsigned long a, myfloat128 b) { return (a == F(b)); }
160+
int greater_uiq(unsigned long a, myfloat128 b) { return (a > F(b)); }
161+
int greater_equal_uiq(unsigned long a, myfloat128 b) { return (a >= F(b)); }
162+
163+
int less_qsi(myfloat128 a, long b) { return (F(a) < b); }
164+
int less_equal_qsi(myfloat128 a, long b) { return (F(a) <= b); }
165+
int equal_qsi(myfloat128 a, long b) { return (F(a) == b); }
166+
int greater_qsi(myfloat128 a, long b) { return (F(a) > b); }
167+
int greater_equal_qsi(myfloat128 a, long b) { return (F(a) >= b); }
168+
169+
int less_siq(long a, myfloat128 b) { return (a < F(b)); }
170+
int less_equal_siq(long a, myfloat128 b) { return (a <= F(b)); }
171+
int equal_siq(long a, myfloat128 b) { return (a == F(b)); }
172+
int greater_siq(long a, myfloat128 b) { return (a > F(b)); }
173+
int greater_equal_siq(long a, myfloat128 b) { return (a >= F(b)); }
174+
175+
176+
177+
178+
myfloat128 acos_q(myfloat128 x) { myfloat128 res; F(res) = acosq (F(x)); return res; }
179+
myfloat128 acosh_q(myfloat128 x) { myfloat128 res; F(res) = acoshq (F(x)); return res; }
180+
myfloat128 asin_q(myfloat128 x) { myfloat128 res; F(res) = asinq (F(x)); return res; }
181+
myfloat128 asinh_q(myfloat128 x) { myfloat128 res; F(res) = asinhq (F(x)); return res; }
182+
myfloat128 atan_q(myfloat128 x) { myfloat128 res; F(res) = atanq (F(x)); return res; }
183+
myfloat128 atanhq_q(myfloat128 x) { myfloat128 res; F(res) = atanhq (F(x)); return res; }
184+
myfloat128 atan2q_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = atan2q (F(x), F(y)); return res; }
185+
myfloat128 cbrtq_q(myfloat128 x) { myfloat128 res; F(res) = cbrtq (F(x)); return res; }
186+
myfloat128 ceilq_q(myfloat128 x) { myfloat128 res; F(res) = ceilq (F(x)); return res; }
187+
myfloat128 copysign_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = copysignq (F(x), F(y)); return res; }
188+
myfloat128 cosh_q(myfloat128 x) { myfloat128 res; F(res) = coshq (F(x)); return res; }
189+
myfloat128 cos_q(myfloat128 x) { myfloat128 res; F(res) = cosq (F(x)); return res; }
190+
myfloat128 erf_q(myfloat128 x) { myfloat128 res; F(res) = erfq (F(x)); return res; }
191+
myfloat128 erfc_q(myfloat128 x) { myfloat128 res; F(res) = erfcq (F(x)); return res; }
192+
myfloat128 exp_q(myfloat128 x) { myfloat128 res; F(res) = expq (F(x)); return res; }
193+
myfloat128 expm1_q(myfloat128 x) { myfloat128 res; F(res) = expm1q (F(x)); return res; }
194+
myfloat128 abs_q(myfloat128 x) { myfloat128 res; F(res) = fabsq (F(x)); return res; }
195+
myfloat128 fdim_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = fdimq (F(x), F(y)); return res; }
196+
int finite_q(myfloat128 x) { return finiteq (F(x)); }
197+
myfloat128 floor_q(myfloat128 x) { myfloat128 res; F(res) = floorq (F(x)); return res; }
198+
myfloat128 fma_q(myfloat128 x, myfloat128 y, myfloat128 z) { myfloat128 res; F(res) = fmaq (F(x), F(y), F(z)); return res; }
199+
myfloat128 max_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = fmaxq (F(x), F(y)); return res; }
200+
myfloat128 min_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = fminq (F(x), F(y)); return res; }
201+
myfloat128 fmod_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = fmodq (F(x), F(y)); return res; }
202+
myfloat128 frexp_q(myfloat128 x, int *n) { myfloat128 res; F(res) = frexpq (F(x), n); return res; }
203+
myfloat128 hypot_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = hypotq (F(x), F(y)); return res; }
204+
int isinf_q(myfloat128 x) { return isinfq (F(x)); }
205+
int ilogb_q(myfloat128 x) { return ilogbq (F(x)); }
206+
int isnan_q(myfloat128 x) { return isnanq (F(x)); }
207+
myfloat128 besselj0_q(myfloat128 x) { myfloat128 res; F(res) = j0q (F(x)); return res; }
208+
myfloat128 besselj1_q(myfloat128 x) { myfloat128 res; F(res) = j1q (F(x)); return res; }
209+
myfloat128 besselj_q(int n, myfloat128 x) { myfloat128 res; F(res) = jnq (n, F(x)); return res; }
210+
myfloat128 ldexp_q(myfloat128 x, int n) { myfloat128 res; F(res) = ldexpq (F(x), n); return res; }
211+
myfloat128 lgamma_q(myfloat128 x) { myfloat128 res; F(res) = lgammaq (F(x)); return res; }
212+
long long int llrint_q(myfloat128 x) { return llrintq (F(x)); }
213+
long long int llround_q(myfloat128 x) { return llroundq (F(x)); }
214+
myfloat128 log_q(myfloat128 x) { myfloat128 res; F(res) = logq (F(x)); return res; }
215+
myfloat128 log10_q(myfloat128 x) { myfloat128 res; F(res) = log10q (F(x)); return res; }
216+
myfloat128 log2_q(myfloat128 x) { myfloat128 res; F(res) = log2q (F(x)); return res; }
217+
myfloat128 log1p_q(myfloat128 x) { myfloat128 res; F(res) = log1pq (F(x)); return res; }
218+
long int lrint_q(myfloat128 x) { return lrintq (F(x)); }
219+
long int lround_q(myfloat128 x) { return lroundq (F(x)); }
220+
myfloat128 modfq_q(myfloat128 x, myfloat128 *y) { myfloat128 res; F(res) = modfq (F(x), (__float128 *) y); return res; }
221+
myfloat128 nan_q(const char *s) { myfloat128 res; F(res) = nanq (s); return res; }
222+
myfloat128 nearbyint_q(myfloat128 x) { myfloat128 res; F(res) = nearbyintq (F(x)); return res; }
223+
myfloat128 nextafter_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = nextafterq (F(x), F(y)); return res; }
224+
myfloat128 pow_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = powq (F(x), F(y)); return res; }
225+
myfloat128 remainder_q(myfloat128 x, myfloat128 y) { myfloat128 res; F(res) = remainderq (F(x), F(y)); return res; }
226+
myfloat128 remquo_q(myfloat128 x, myfloat128 y, int *n) { myfloat128 res; F(res) = remquoq (F(x), F(y), n); return res; }
227+
myfloat128 rint_q(myfloat128 x) { myfloat128 res; F(res) = rintq (F(x)); return res; }
228+
myfloat128 round_q(myfloat128 x) { myfloat128 res; F(res) = roundq (F(x)); return res; }
229+
myfloat128 scalbln_q(myfloat128 x, long int n) { myfloat128 res; F(res) = scalblnq (F(x), n); return res; }
230+
myfloat128 scalbn_q(myfloat128 x, int n) { myfloat128 res; F(res) = scalbnq (F(x), n); return res; }
231+
int signbit_q(myfloat128 x) { return signbitq (F(x)); }
232+
void sincos_q(myfloat128 x, myfloat128 *s, myfloat128 * c) { sincosq (F(x), (__float128 *) s, (__float128 *) c); }
233+
myfloat128 sinh_q(myfloat128 x) { myfloat128 res; F(res) = sinhq (F(x)); return res; }
234+
myfloat128 sin_q(myfloat128 x) { myfloat128 res; F(res) = sinq (F(x)); return res; }
235+
myfloat128 sqrt_q(myfloat128 x) { myfloat128 res; F(res) = sqrtq (F(x)); return res; }
236+
myfloat128 tan_q(myfloat128 x) { myfloat128 res; F(res) = tanq (F(x)); return res; }
237+
myfloat128 tanh_q(myfloat128 x) { myfloat128 res; F(res) = tanhq (F(x)); return res; }
238+
myfloat128 gamma_q(myfloat128 x) { myfloat128 res; F(res) = tgammaq (F(x)); return res; }
239+
myfloat128 trunc_q(myfloat128 x) { myfloat128 res; F(res) = truncq (F(x)); return res; }
240+
myfloat128 bessely0_q(myfloat128 x) { myfloat128 res; F(res) = y0q (F(x)); return res; }
241+
myfloat128 bessely1_q(myfloat128 x) { myfloat128 res; F(res) = y1q (F(x)); return res; }
242+
myfloat128 bessely_q(int n, myfloat128 x) { myfloat128 res; F(res) = ynq (n, F(x)); return res; }
243+
244+
245+
246+
myfloat128 cabs_q (mycomplex128 z) { myfloat128 res; F(res) = cabsq(F(z)); return res; };
247+
myfloat128 carg_q (mycomplex128 z) { myfloat128 res; F(res) = cargq(F(z)); return res; };
248+
myfloat128 cimag_q (mycomplex128 z) { myfloat128 res; F(res) = cimagq(F(z)); return res; };
249+
myfloat128 creal_q (mycomplex128 z) { myfloat128 res; F(res) = crealq(F(z)); return res; };
250+
mycomplex128 cacos_q (mycomplex128 z) { mycomplex128 res; F(res) = cacosq(F(z)); return res; };
251+
mycomplex128 cacosh_q (mycomplex128 z) { mycomplex128 res; F(res) = cacoshq(F(z)); return res; };
252+
mycomplex128 casin_q (mycomplex128 z) { mycomplex128 res; F(res) = casinq(F(z)); return res; };
253+
mycomplex128 casinh_q (mycomplex128 z) { mycomplex128 res; F(res) = casinhq(F(z)); return res; };
254+
mycomplex128 catan_q (mycomplex128 z) { mycomplex128 res; F(res) = catanq(F(z)); return res; };
255+
mycomplex128 catanh_q (mycomplex128 z) { mycomplex128 res; F(res) = catanhq(F(z)); return res; };
256+
mycomplex128 ccos_q (mycomplex128 z) { mycomplex128 res; F(res) = ccosq(F(z)); return res; };
257+
mycomplex128 ccosh_q (mycomplex128 z) { mycomplex128 res; F(res) = ccoshq(F(z)); return res; };
258+
mycomplex128 cexp_q (mycomplex128 z) { mycomplex128 res; F(res) = cexpq(F(z)); return res; };
259+
mycomplex128 cexpi_q (myfloat128 z) { mycomplex128 res; F(res) = cexpiq(F(z)); return res; };
260+
mycomplex128 clog_q (mycomplex128 z) { mycomplex128 res; F(res) = clogq(F(z)); return res; };
261+
mycomplex128 clog10_q (mycomplex128 z) { mycomplex128 res; F(res) = clog10q(F(z)); return res; };
262+
mycomplex128 cconj_q (mycomplex128 z) { mycomplex128 res; F(res) = conjq(F(z)); return res; };
263+
mycomplex128 cpow_q (mycomplex128 z, mycomplex128 w) { mycomplex128 res; F(res) = cpowq(F(z), F(w)); return res; };
264+
mycomplex128 cproj_q (mycomplex128 z) { mycomplex128 res; F(res) = cprojq(F(z)); return res; };
265+
mycomplex128 csin_q (mycomplex128 z) { mycomplex128 res; F(res) = csinq(F(z)); return res; };
266+
mycomplex128 csinh_q (mycomplex128 z) { mycomplex128 res; F(res) = csinhq(F(z)); return res; };
267+
mycomplex128 csqrt_q (mycomplex128 z) { mycomplex128 res; F(res) = csqrtq(F(z)); return res; };
268+
mycomplex128 ctan_q (mycomplex128 z) { mycomplex128 res; F(res) = ctanq(F(z)); return res; };
269+
mycomplex128 ctanh_q (mycomplex128 z) { mycomplex128 res; F(res) = ctanhq(F(z)); return res; };
270+
271+
272+
273+
274+
275+

0 commit comments

Comments
 (0)