ReleaseNotes_AMDLibM.txt
1 2 (C) 2008-2020 Advanced Micro Devices, Inc. All Rights Reserved. 3 4 AMD LibM - Release Notes - version 3.6 5 ---------------------------------------- 6 7 AMD LibM Contents 8 ----------------- 9 AMD LibM is a math library. It provides optimized implementation of a number of 10 math functions from the C99 standard. The library is designed for use in 64-bit 11 programs on x86-64 machines. Static and dynamic libraries are available for 12 Linux(R) operating system. 13 14 Hightlights of AMD LibM 3.6 15 ----------------------------- 16 17 * Bug fixes in scalar pow, exp, expf 18 * Performance gains in both single and double precision vector routines of pow(), log(), exp() 19 20 Known Issues 21 ------------ 22 * fastpow() - Maximum ULP error is 10. 23 24 Version 3.6 Contents 25 ---------------------- 26 AMD LibM provides vector variants for many of the math functions. The list of 27 available vector functions is given below. All functions have an 'amd_' prefix. 28 29 Exponential 30 ----------- 31 * vrs4_expf, vrs4_exp2f, vrs4_exp10f, vrs4_expm1f 32 * vrs8_expf 33 * vrsa_expf, vrsa_exp2f, vrsa_exp10f, vrsa_expm1f 34 * vrd2_exp, vrd2_exp2, vrd2_exp10, vrd2_expm1, vrd4_exp, vrd4_exp2 35 * vrda_exp, vrda_exp2, vrda_exp10, vrda_expm1 36 37 Logarithmic 38 ----------- 39 * vrs4_logf, vrs4_log2f, vrs4_log10f, vrs4_log1pf 40 * vrs8_logf 41 * vrsa_logf, vrsa_log2f, vrsa_log10f, vrsa_log1pf 42 * vrd2_log, vrd2_log2, vrd2_log10, vrd2_log1p, vrd4_log 43 * vrda_log, vrda_log2, vrda_log10, vrda_log1p 44 45 Trigonometric 46 ------------- 47 * vrs4_cosf, vrs4_sinf 48 * vrsa_cosf, vrsa_sinf 49 * vrd2_cos, vrd2_sin, vrd2_cosh, vrd2_sincos 50 * vrda_cos, vrda_sin 51 52 Power 53 ----- 54 * vrs4_cbrtf, vrd2_cbrt, vrs4_powf, vrd2_pow, vrd4_pow 55 * vrs8_powf 56 * vrsa_cbrtf, vrda_cbrt, vrsa_powf 57 58 59 The scalar functions listed below are present in the library. They 60 all have an 'amd_' prefix. 61 62 Trigonometric 63 ------------- 64 * cosf, cos, sinf, sin, tanf, tan, sincosf, sincos 65 * acosf, acos, asinf, asin, atanf, atan, atan2f, atan2 66 67 Hyperbolic 68 ---------- 69 * coshf, cosh, sinhf, sinh, tanhf, tanh 70 * acoshf, acosh, asinhf, asinh, atanhf, atanh 71 72 Exponential & Logarithmic 73 ------------------------- 74 * expf, exp, exp2f, exp2, exp10f, exp10, expm1f, expm1 75 * logf, log, log10f, log10, log2f, log2, log1pf, log1p 76 * logbf, logb, ilogbf, ilogb 77 * modff, modf, frexpf, frexp, ldexpf, ldexp 78 * scalbnf, scalbn, scalblnf, scalbln 79 80 Power & Absolute value 81 ---------------------- 82 * powf, pow, fastpow, cbrtf, cbrt, sqrtf, sqrt, hypotf, hypot 83 * fabsf, fabs 84 85 Nearest integer 86 --------------- 87 * ceilf, ceil, floorf, floor, truncf, trunc 88 * rintf, rint, roundf, round, nearbyintf, nearbyint 89 * lrintf, lrint, llrintf, llrint 90 * lroundf, lround, llroundf, llround 91 92 Remainder 93 --------- 94 * fmodf, fmod, remainderf, remainder 95 96 Manipulation 97 ------------ 98 * copysignf, copysign, nanf, nan, finitef, finite 99 * nextafterf, nextafter, nexttowardf, nexttoward 100 101 Maximum, Minimum & Difference 102 ----------------------------- 103 * fdimf, fdim, fmaxf, fmax, fminf, fmin 104 105 The declarations for all of these functions are as specified in the 106 C99 standard. They are equivalent to the declarations present in 107 the standard math header 'math.h'. 108 109 Using AMD LibM 110 -------------- 111 Using AMD LibM is easy. Including math.h is sufficient for use of 112 scalar routines. For vector routines, use amdlibm_vec.h in your 113 C/C++ code and call the desired routine. Link in the appropriate 114 version of the library in your program. 115 116 Refer to the examples directory for illustration. 117 118 The Linux libraries have a dependency on system math library. When 119 linking AMD LibM, ensure it precedes system math library in the 120 link order i.e., "-lamdlibm" should come before "-lm". Explicit 121 linking of system math library is required when using gcc C 122 compiler. With g++ compiler (for C++), this is not needed. 123 124 Refer to the examples directory for illustration.