/ docs / ReleaseNotes_AMDLibM.txt
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.