/ src / entry_pt_map.c
entry_pt_map.c
  1  /*
  2   * Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved.
  3   *
  4   * Redistribution and use in source and binary forms, with or without modification,
  5   * are permitted provided that the following conditions are met:
  6   * 1. Redistributions of source code must retain the above copyright notice,
  7   *    this list of conditions and the following disclaimer.
  8   * 2. Redistributions in binary form must reproduce the above copyright notice,
  9   *    this list of conditions and the following disclaimer in the documentation
 10   *    and/or other materials provided with the distribution.
 11   * 3. Neither the name of the copyright holder nor the names of its contributors
 12   *    may be used to endorse or promote products derived from this software without
 13   *    specific prior written permission.
 14   *
 15   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 16   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 17   * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 18   * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 19   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 20   * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 21   * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 22   * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 23   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 24   * POSSIBILITY OF SUCH DAMAGE.
 25   *
 26   */
 27  
 28  #include <fn_macros.h>
 29  #include <libm/types.h>
 30  #include <libm/entry_pt.h>
 31  #include "entry_pt_macros.h"
 32  
 33  LIBM_DECL_FN_MAP(cbrtf);
 34  LIBM_DECL_FN_MAP(cbrt);
 35  
 36  LIBM_DECL_FN_MAP(cosf);
 37  LIBM_DECL_FN_MAP(cos);
 38  
 39  LIBM_DECL_FN_MAP(exp10f);
 40  LIBM_DECL_FN_MAP(exp10);
 41  
 42  LIBM_DECL_FN_MAP(exp2f);
 43  LIBM_DECL_FN_MAP(exp2);
 44  
 45  LIBM_DECL_FN_MAP(expf);
 46  LIBM_DECL_FN_MAP(exp);
 47  
 48  LIBM_DECL_FN_MAP(expm1f);
 49  LIBM_DECL_FN_MAP(expm1);
 50  
 51  LIBM_DECL_FN_MAP(fmaf);
 52  LIBM_DECL_FN_MAP(fma);
 53  
 54  LIBM_DECL_FN_MAP(fabs);
 55  LIBM_DECL_FN_MAP(fabsf);
 56  
 57  LIBM_DECL_FN_MAP(log10f);
 58  LIBM_DECL_FN_MAP(log10);
 59  
 60  LIBM_DECL_FN_MAP(log1pf);
 61  LIBM_DECL_FN_MAP(log1p);
 62  
 63  LIBM_DECL_FN_MAP(log2f);
 64  LIBM_DECL_FN_MAP(log2);
 65  
 66  LIBM_DECL_FN_MAP(logf);
 67  LIBM_DECL_FN_MAP(log);
 68  
 69  LIBM_DECL_FN_MAP(powf);
 70  LIBM_DECL_FN_MAP(pow);
 71  
 72  LIBM_DECL_FN_MAP(sincosf);
 73  LIBM_DECL_FN_MAP(sincos);
 74  
 75  LIBM_DECL_FN_MAP(sinf);
 76  LIBM_DECL_FN_MAP(sin);
 77  
 78  LIBM_DECL_FN_MAP(acos);
 79  LIBM_DECL_FN_MAP(acosf);
 80  
 81  LIBM_DECL_FN_MAP(acosh);
 82  LIBM_DECL_FN_MAP(acoshf);
 83  
 84  LIBM_DECL_FN_MAP(asin);
 85  LIBM_DECL_FN_MAP(asinf);
 86  
 87  LIBM_DECL_FN_MAP(asinh);
 88  LIBM_DECL_FN_MAP(asinhf);
 89  
 90  LIBM_DECL_FN_MAP(atan2);
 91  LIBM_DECL_FN_MAP(atan2f);
 92  
 93  LIBM_DECL_FN_MAP(atan);
 94  LIBM_DECL_FN_MAP(atanf);
 95  
 96  LIBM_DECL_FN_MAP(atanh);
 97  LIBM_DECL_FN_MAP(atanhf);
 98  
 99  LIBM_DECL_FN_MAP(ceil);
100  LIBM_DECL_FN_MAP(ceilf);
101  
102  LIBM_DECL_FN_MAP(cosh);
103  LIBM_DECL_FN_MAP(coshf);
104  
105  LIBM_DECL_FN_MAP(cospi);
106  LIBM_DECL_FN_MAP(cospif);
107  
108  LIBM_DECL_FN_MAP(finite);
109  LIBM_DECL_FN_MAP(finitef);
110  
111  LIBM_DECL_FN_MAP(floor);
112  LIBM_DECL_FN_MAP(floorf);
113  
114  LIBM_DECL_FN_MAP(frexp);
115  LIBM_DECL_FN_MAP(frexpf);
116  
117  LIBM_DECL_FN_MAP(hypot);
118  LIBM_DECL_FN_MAP(hypotf);
119  
120  LIBM_DECL_FN_MAP(ilogb);
121  LIBM_DECL_FN_MAP(ilogbf);
122  
123  LIBM_DECL_FN_MAP(ldexp);
124  LIBM_DECL_FN_MAP(ldexpf);
125  
126  LIBM_DECL_FN_MAP(llrint);
127  LIBM_DECL_FN_MAP(llrintf);
128  
129  LIBM_DECL_FN_MAP(llround);
130  LIBM_DECL_FN_MAP(llroundf);
131  
132  LIBM_DECL_FN_MAP(logb);
133  LIBM_DECL_FN_MAP(logbf);
134  
135  LIBM_DECL_FN_MAP(lrint);
136  LIBM_DECL_FN_MAP(lrintf);
137  
138  LIBM_DECL_FN_MAP(lround);
139  LIBM_DECL_FN_MAP(lroundf);
140  
141  LIBM_DECL_FN_MAP(modf);
142  LIBM_DECL_FN_MAP(modff);
143  
144  LIBM_DECL_FN_MAP(nan);
145  LIBM_DECL_FN_MAP(nanf);
146  
147  LIBM_DECL_FN_MAP(nearbyintf);
148  LIBM_DECL_FN_MAP(nextafter);
149  LIBM_DECL_FN_MAP(nextafterf);
150  
151  LIBM_DECL_FN_MAP(nexttoward);
152  LIBM_DECL_FN_MAP(nexttowardf);
153  
154  LIBM_DECL_FN_MAP(remainder_piby2);
155  LIBM_DECL_FN_MAP(remainder_piby2d2f);
156  
157  LIBM_DECL_FN_MAP(remquo);
158  LIBM_DECL_FN_MAP(remquof);
159  
160  LIBM_DECL_FN_MAP(rint);
161  LIBM_DECL_FN_MAP(rintf);
162  
163  //LIBM_DECL_FN_MAP(round);
164  LIBM_DECL_FN_MAP(roundf);
165  
166  LIBM_DECL_FN_MAP(scalbln);
167  LIBM_DECL_FN_MAP(scalblnf);
168  
169  LIBM_DECL_FN_MAP(scalbn);
170  LIBM_DECL_FN_MAP(scalbnf);
171  
172  LIBM_DECL_FN_MAP(sinh);
173  LIBM_DECL_FN_MAP(sinhf);
174  
175  LIBM_DECL_FN_MAP(sinpi);
176  LIBM_DECL_FN_MAP(sinpif);
177  
178  LIBM_DECL_FN_MAP(sqrt);
179  LIBM_DECL_FN_MAP(sqrtf);
180  
181  LIBM_DECL_FN_MAP(tan);
182  LIBM_DECL_FN_MAP(tanf);
183  
184  LIBM_DECL_FN_MAP(tanh);
185  LIBM_DECL_FN_MAP(tanhf);
186  
187  LIBM_DECL_FN_MAP(tanpi);
188  LIBM_DECL_FN_MAP(tanpif);
189  
190  
191  LIBM_DECL_FN_MAP(vrd2_cbrt);
192  LIBM_DECL_FN_MAP(vrd2_cos);
193  LIBM_DECL_FN_MAP(vrd2_cosh);
194  LIBM_DECL_FN_MAP(vrd2_exp10);
195  LIBM_DECL_FN_MAP(vrd2_exp2);
196  LIBM_DECL_FN_MAP(vrd2_exp);
197  LIBM_DECL_FN_MAP(vrd2_expm1);
198  LIBM_DECL_FN_MAP(vrd2_log10);
199  LIBM_DECL_FN_MAP(vrd2_log1p);
200  LIBM_DECL_FN_MAP(vrd2_log2);
201  LIBM_DECL_FN_MAP(vrd2_log);
202  LIBM_DECL_FN_MAP(vrd2_pow);
203  LIBM_DECL_FN_MAP(vrd2_sin);
204  LIBM_DECL_FN_MAP(vrd2_tan);
205  
206  LIBM_DECL_FN_MAP(vrd4_exp2);
207  LIBM_DECL_FN_MAP(vrd4_exp);
208  LIBM_DECL_FN_MAP(vrd4_expm1);
209  LIBM_DECL_FN_MAP(vrd4_log);
210  LIBM_DECL_FN_MAP(vrd4_pow);
211  LIBM_DECL_FN_MAP(vrd4_sin);
212  
213  LIBM_DECL_FN_MAP(vrs4_cbrtf);
214  LIBM_DECL_FN_MAP(vrs4_cosf);
215  LIBM_DECL_FN_MAP(vrs4_exp10f);
216  LIBM_DECL_FN_MAP(vrs4_exp2f);
217  LIBM_DECL_FN_MAP(vrs4_expf);
218  LIBM_DECL_FN_MAP(vrs4_expm1f);
219  LIBM_DECL_FN_MAP(vrs4_log10f);
220  LIBM_DECL_FN_MAP(vrs4_log1pf);
221  LIBM_DECL_FN_MAP(vrs4_log2f);
222  LIBM_DECL_FN_MAP(vrs4_logf);
223  LIBM_DECL_FN_MAP(vrs4_powf);
224  LIBM_DECL_FN_MAP(vrs4_sinf);
225  LIBM_DECL_FN_MAP(vrs4_tanf);
226  
227  LIBM_DECL_FN_MAP(vrs8_logf);
228  LIBM_DECL_FN_MAP(vrs8_expf);
229  LIBM_DECL_FN_MAP(vrs8_powf);
230  LIBM_DECL_FN_MAP(vrs8_sinf);
231  LIBM_DECL_FN_MAP(vrs8_tanf);
232  LIBM_DECL_FN_MAP(vrs8_cosf);
233  
234  LIBM_DECL_FN_MAP(vrda_cbrt);
235  LIBM_DECL_FN_MAP(vrda_cos);
236  LIBM_DECL_FN_MAP(vrda_exp);
237  LIBM_DECL_FN_MAP(vrda_exp2);
238  LIBM_DECL_FN_MAP(vrda_exp10);
239  LIBM_DECL_FN_MAP(vrda_expm1);
240  LIBM_DECL_FN_MAP(vrda_log10);
241  LIBM_DECL_FN_MAP(vrda_log1p);
242  LIBM_DECL_FN_MAP(vrda_log2);
243  LIBM_DECL_FN_MAP(vrda_log);
244  LIBM_DECL_FN_MAP(vrda_pow);
245  LIBM_DECL_FN_MAP(vrda_sin);
246  
247  LIBM_DECL_FN_MAP(vrsa_cbrtf);
248  LIBM_DECL_FN_MAP(vrsa_cosf);
249  LIBM_DECL_FN_MAP(vrsa_expf);
250  LIBM_DECL_FN_MAP(vrsa_exp2f);
251  LIBM_DECL_FN_MAP(vrsa_exp10f);
252  LIBM_DECL_FN_MAP(vrsa_expm1f);
253  LIBM_DECL_FN_MAP(vrsa_log10f);
254  LIBM_DECL_FN_MAP(vrsa_log1pf);
255  LIBM_DECL_FN_MAP(vrsa_log2f);
256  LIBM_DECL_FN_MAP(vrsa_logf);
257  LIBM_DECL_FN_MAP(vrsa_sinf);
258  
259  
260  WEAK_LIBM_ALIAS(vrd2_cbrt, FN_PROTOTYPE(vrd2_cbrt));
261  WEAK_LIBM_ALIAS(vrd2_cos, FN_PROTOTYPE(vrd2_cos));
262  WEAK_LIBM_ALIAS(vrd2_exp10, FN_PROTOTYPE(vrd2_exp10));
263  WEAK_LIBM_ALIAS(vrd2_exp2, FN_PROTOTYPE(vrd2_exp2));
264  WEAK_LIBM_ALIAS(vrd2_exp, FN_PROTOTYPE(vrd2_exp));
265  WEAK_LIBM_ALIAS(vrd2_expm1, FN_PROTOTYPE(vrd2_expm1));
266  WEAK_LIBM_ALIAS(vrd2_log10, FN_PROTOTYPE(vrd2_log10));
267  WEAK_LIBM_ALIAS(vrd2_log1p, FN_PROTOTYPE(vrd2_log1p));
268  WEAK_LIBM_ALIAS(vrd2_log2, FN_PROTOTYPE(vrd2_log2));
269  WEAK_LIBM_ALIAS(vrd2_log, FN_PROTOTYPE(vrd2_log));
270  WEAK_LIBM_ALIAS(vrd2_sin, FN_PROTOTYPE(vrd2_sin));
271  WEAK_LIBM_ALIAS(vrd2_tan, FN_PROTOTYPE(vrd2_tan));
272  
273  WEAK_LIBM_ALIAS(vrd4_exp, FN_PROTOTYPE(vrd4_exp));
274  WEAK_LIBM_ALIAS(vrd4_exp2, FN_PROTOTYPE(vrd4_exp2));
275  WEAK_LIBM_ALIAS(vrd4_log, FN_PROTOTYPE(vrd4_log));
276  WEAK_LIBM_ALIAS(vrd4_sin, FN_PROTOTYPE(vrd4_sin));
277  
278  WEAK_LIBM_ALIAS(vrs4_cbrtf, FN_PROTOTYPE(vrs4_cbrtf));
279  WEAK_LIBM_ALIAS(vrs4_cosf, FN_PROTOTYPE(vrs4_cosf));
280  WEAK_LIBM_ALIAS(vrs4_exp10f, FN_PROTOTYPE(vrs4_exp10f));
281  WEAK_LIBM_ALIAS(vrs4_exp2f, FN_PROTOTYPE(vrs4_exp2f));
282  WEAK_LIBM_ALIAS(vrs4_expf, FN_PROTOTYPE(vrs4_expf));
283  WEAK_LIBM_ALIAS(vrs4_expm1f, FN_PROTOTYPE(vrs4_expm1f));
284  WEAK_LIBM_ALIAS(vrs4_log10f, FN_PROTOTYPE(vrs4_log10f));
285  WEAK_LIBM_ALIAS(vrs4_log1pf, FN_PROTOTYPE(vrs4_log1pf));
286  WEAK_LIBM_ALIAS(vrs4_log2f, FN_PROTOTYPE(vrs4_log2f));
287  WEAK_LIBM_ALIAS(vrs4_logf, FN_PROTOTYPE(vrs4_logf));
288  WEAK_LIBM_ALIAS(vrs4_sinf, FN_PROTOTYPE(vrs4_sinf));
289  WEAK_LIBM_ALIAS(vrs4_tanf, FN_PROTOTYPE(vrs4_tanf));
290  
291  WEAK_LIBM_ALIAS(vrs8_logf, FN_PROTOTYPE(vrs8_logf));
292  WEAK_LIBM_ALIAS(vrs8_tanf, FN_PROTOTYPE(vrs8_tanf));
293  
294  WEAK_LIBM_ALIAS(vrda_cbrt, FN_PROTOTYPE(vrda_cbrt));
295  WEAK_LIBM_ALIAS(vrda_cos, FN_PROTOTYPE(vrda_cos));
296  WEAK_LIBM_ALIAS(vrda_exp, FN_PROTOTYPE(vrda_exp));
297  WEAK_LIBM_ALIAS(vrda_exp2, FN_PROTOTYPE(vrda_exp2));
298  WEAK_LIBM_ALIAS(vrda_exp10, FN_PROTOTYPE(vrda_exp10));
299  WEAK_LIBM_ALIAS(vrda_expm1, FN_PROTOTYPE(vrda_expm1));
300  WEAK_LIBM_ALIAS(vrda_log10, FN_PROTOTYPE(vrda_log10));
301  WEAK_LIBM_ALIAS(vrda_log1p, FN_PROTOTYPE(vrda_log1p));
302  WEAK_LIBM_ALIAS(vrda_log2, FN_PROTOTYPE(vrda_log2));
303  WEAK_LIBM_ALIAS(vrda_sin, FN_PROTOTYPE(vrda_sin));
304  
305  
306  WEAK_LIBM_ALIAS(vrsa_cbrtf, FN_PROTOTYPE(vrsa_cbrtf));
307  WEAK_LIBM_ALIAS(vrsa_cosf, FN_PROTOTYPE(vrsa_cosf));
308  WEAK_LIBM_ALIAS(vrsa_expf, FN_PROTOTYPE(vrsa_expf));
309  WEAK_LIBM_ALIAS(vrsa_exp2f, FN_PROTOTYPE(vrsa_exp2f));
310  WEAK_LIBM_ALIAS(vrsa_exp10f, FN_PROTOTYPE(vrsa_exp10f));
311  WEAK_LIBM_ALIAS(vrsa_expm1f, FN_PROTOTYPE(vrsa_expm1f));
312  WEAK_LIBM_ALIAS(vrsa_log10f, FN_PROTOTYPE(vrsa_log10f));
313  WEAK_LIBM_ALIAS(vrsa_log1pf, FN_PROTOTYPE(vrsa_log1pf));
314  WEAK_LIBM_ALIAS(vrsa_log2f, FN_PROTOTYPE(vrsa_log2f));
315  WEAK_LIBM_ALIAS(vrsa_logf, FN_PROTOTYPE(vrsa_logf));
316  WEAK_LIBM_ALIAS(vrsa_sinf, FN_PROTOTYPE(vrsa_sinf));
317  
318  /*
319   * Some aliases required by NAG tests
320   */
321  
322  /*
323   * We dont need libm aliases in developer mode, otherwise all calls
324   * to GLIBC ends up in libm
325   */
326  #if !defined(DEVELOPER)
327  #include "entry_pt_map_libm._c"
328  #endif
329