xref: /minix3/lib/libm/src/ldbl_dummy.c (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1 /* $NetBSD: ldbl_dummy.c,v 1.2 2014/11/13 21:43:27 christos 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.2 2014/11/13 21:43:27 christos 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(expl, _expl)
47 __weak_alias(exp2l, _exp2l)
48 __weak_alias(powl, _powl)
49 __weak_alias(cosl, _cosl)
50 __weak_alias(sinl, _sinl)
51 __weak_alias(tanl, _tanl)
52 __weak_alias(coshl, _coshl)
53 __weak_alias(sinhl, _sinhl)
54 __weak_alias(tanhl, _tanhl)
55 __weak_alias(acosl, _acosl)
56 __weak_alias(asinl, _asinl)
57 __weak_alias(atanl, _atanl)
58 __weak_alias(acoshl, _acoshl)
59 __weak_alias(asinhl, _asinhl)
60 __weak_alias(atanhl, _atanhl)
61 __weak_alias(erfl, _erfl)
62 __weak_alias(erfcl, _erfcl)
63 
64 long double
65 atan2l(long double y, long double x)
66 {
67 	return atan2(y, x);
68 }
69 
70 long double
hypotl(long double x,long double y)71 hypotl(long double x, long double y)
72 {
73 	return hypot(x, y);
74 }
75 
76 long double
logl(long double x)77 logl(long double x)
78 {
79 	return log(x);
80 }
81 
82 long double
log10l(long double x)83 log10l(long double x)
84 {
85 	return log10(x);
86 }
87 
88 long double
expl(long double x)89 expl(long double x)
90 {
91 	return exp(x);
92 }
93 
94 long double
exp2l(long double x)95 exp2l(long double x)
96 {
97 	return exp2(x);
98 }
99 
100 long double
powl(long double x,long double y)101 powl(long double x, long double y)
102 {
103 	return pow(x, y);
104 }
105 
106 long double
cosl(long double x)107 cosl(long double x)
108 {
109 	return cos(x);
110 }
111 
112 long double
sinl(long double x)113 sinl(long double x)
114 {
115 	return sin(x);
116 }
117 
118 
119 long double
tanl(long double x)120 tanl(long double x)
121 {
122 	return tan(x);
123 }
124 
125 long double
sinhl(long double x)126 sinhl(long double x)
127 {
128 	return sinh(x);
129 }
130 
131 long double
coshl(long double x)132 coshl(long double x)
133 {
134 	return cosh(x);
135 }
136 
137 long double
tanhl(long double x)138 tanhl(long double x)
139 {
140 	return tanh(x);
141 }
142 
143 long double
acosl(long double x)144 acosl(long double x)
145 {
146 	return acos(x);
147 }
148 
149 long double
asinl(long double x)150 asinl(long double x)
151 {
152 	return asin(x);
153 }
154 
155 long double
atanl(long double x)156 atanl(long double x)
157 {
158 	return atan(x);
159 }
160 
161 long double
asinhl(long double x)162 asinhl(long double x)
163 {
164 	return asinh(x);
165 }
166 
167 long double
acoshl(long double x)168 acoshl(long double x)
169 {
170 	return acosh(x);
171 }
172 
173 long double
atanhl(long double x)174 atanhl(long double x)
175 {
176 	return atanh(x);
177 }
178 
179 long double
erfl(long double x)180 erfl(long double x)
181 {
182 	return erf(x);
183 }
184 
185 long double
erfcl(long double x)186 erfcl(long double x)
187 {
188 	return erfc(x);
189 }
190