xref: /netbsd/lib/libm/src/ldbl_dummy.c (revision 3d693adf)
1 /* $NetBSD: ldbl_dummy.c,v 1.3 2023/03/13 18:18:36 riastradh Exp $ */
2 
3 /*-
4  * Copyright (c) 2013 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
17  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
20  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28 
29 /*
30  * Simple long double -> double wrappers for various transcendental functions.
31  * They work neither on the additional range of long double nor do they use
32  * the additional precision. They exist as stop gap fix for various programs
33  * picking up long double, e.g. via the C++ run time.
34  */
35 
36 #include <sys/cdefs.h>
37 __RCSID("$NetBSD: ldbl_dummy.c,v 1.3 2023/03/13 18:18:36 riastradh Exp $");
38 
39 #include "namespace.h"
40 #include <math.h>
41 
__weak_alias(atan2l,_atan2l)42 __weak_alias(atan2l, _atan2l)
43 __weak_alias(hypotl, _hypotl)
44 __weak_alias(logl, _logl)
45 __weak_alias(log10l, _log10l)
46 __weak_alias(log2l, _log2l)
47 __weak_alias(log1pl, _log1pl)
48 __weak_alias(expl, _expl)
49 __weak_alias(exp2l, _exp2l)
50 __weak_alias(expm1l, _expm1l)
51 __weak_alias(powl, _powl)
52 __weak_alias(cosl, _cosl)
53 __weak_alias(sinl, _sinl)
54 __weak_alias(tanl, _tanl)
55 __weak_alias(coshl, _coshl)
56 __weak_alias(sinhl, _sinhl)
57 __weak_alias(tanhl, _tanhl)
58 __weak_alias(acosl, _acosl)
59 __weak_alias(asinl, _asinl)
60 __weak_alias(atanl, _atanl)
61 __weak_alias(acoshl, _acoshl)
62 __weak_alias(asinhl, _asinhl)
63 __weak_alias(atanhl, _atanhl)
64 __weak_alias(erfl, _erfl)
65 __weak_alias(erfcl, _erfcl)
66 __weak_alias(lgammal, _lgammal)
67 __weak_alias(tgammal, _tgammal)
68 
69 long double
70 atan2l(long double y, long double x)
71 {
72 	return atan2(y, x);
73 }
74 
75 long double
hypotl(long double x,long double y)76 hypotl(long double x, long double y)
77 {
78 	return hypot(x, y);
79 }
80 
81 long double
logl(long double x)82 logl(long double x)
83 {
84 	return log(x);
85 }
86 
87 long double
log10l(long double x)88 log10l(long double x)
89 {
90 	return log10(x);
91 }
92 
93 long double
log2l(long double x)94 log2l(long double x)
95 {
96 	return log2(x);
97 }
98 
99 long double
log1pl(long double x)100 log1pl(long double x)
101 {
102 	return log1p(x);
103 }
104 
105 long double
expl(long double x)106 expl(long double x)
107 {
108 	return exp(x);
109 }
110 
111 long double
exp2l(long double x)112 exp2l(long double x)
113 {
114 	return exp2(x);
115 }
116 
117 long double
expm1l(long double x)118 expm1l(long double x)
119 {
120 	return expm1(x);
121 }
122 
123 long double
powl(long double x,long double y)124 powl(long double x, long double y)
125 {
126 	return pow(x, y);
127 }
128 
129 long double
cosl(long double x)130 cosl(long double x)
131 {
132 	return cos(x);
133 }
134 
135 long double
sinl(long double x)136 sinl(long double x)
137 {
138 	return sin(x);
139 }
140 
141 
142 long double
tanl(long double x)143 tanl(long double x)
144 {
145 	return tan(x);
146 }
147 
148 long double
sinhl(long double x)149 sinhl(long double x)
150 {
151 	return sinh(x);
152 }
153 
154 long double
coshl(long double x)155 coshl(long double x)
156 {
157 	return cosh(x);
158 }
159 
160 long double
tanhl(long double x)161 tanhl(long double x)
162 {
163 	return tanh(x);
164 }
165 
166 long double
acosl(long double x)167 acosl(long double x)
168 {
169 	return acos(x);
170 }
171 
172 long double
asinl(long double x)173 asinl(long double x)
174 {
175 	return asin(x);
176 }
177 
178 long double
atanl(long double x)179 atanl(long double x)
180 {
181 	return atan(x);
182 }
183 
184 long double
asinhl(long double x)185 asinhl(long double x)
186 {
187 	return asinh(x);
188 }
189 
190 long double
acoshl(long double x)191 acoshl(long double x)
192 {
193 	return acosh(x);
194 }
195 
196 long double
atanhl(long double x)197 atanhl(long double x)
198 {
199 	return atanh(x);
200 }
201 
202 long double
erfl(long double x)203 erfl(long double x)
204 {
205 	return erf(x);
206 }
207 
208 long double
erfcl(long double x)209 erfcl(long double x)
210 {
211 	return erfc(x);
212 }
213 
214 long double
lgammal(long double x)215 lgammal(long double x)
216 {
217 	return lgamma(x);
218 }
219 
220 long double
tgammal(long double x)221 tgammal(long double x)
222 {
223 	return tgamma(x);
224 }
225