1  /*
       2   * wrapper exp2f(x)
       3   */
       4  
       5  #include <math.h>
       6  #include <math_private.h>
       7  #include <math-svid-compat.h>
       8  
       9  #if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
      10  float
      11  __exp2f_compat (float x)
      12  {
      13    float z = __ieee754_exp2f (x);
      14    if (__builtin_expect (!isfinite (z) || z == 0, 0)
      15        && isfinite (x) && _LIB_VERSION != _IEEE_)
      16      /* exp2 overflow: 144, exp2 underflow: 145 */
      17      return __kernel_standard_f (x, x, 144 + !!signbit (x));
      18  
      19    return z;
      20  }
      21  compat_symbol (libm, __exp2f_compat, exp2f, GLIBC_2_1);
      22  #endif