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