(root)/
glibc-2.38/
math/
w_hypotf_compat.c
       1  /* w_hypotf.c -- float version of w_hypot.c.
       2   */
       3  
       4  /*
       5   * ====================================================
       6   * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
       7   *
       8   * Developed at SunPro, a Sun Microsystems, Inc. business.
       9   * Permission to use, copy, modify, and distribute this
      10   * software is freely granted, provided that this notice
      11   * is preserved.
      12   * ====================================================
      13   */
      14  
      15  /*
      16   * wrapper hypotf(x,y)
      17   */
      18  
      19  #include <math.h>
      20  #include <math_private.h>
      21  #include <math-svid-compat.h>
      22  #include <libm-alias-float.h>
      23  
      24  
      25  #if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_35)
      26  float
      27  __hypotf_compat (float x, float y)
      28  {
      29  	float z = __ieee754_hypotf(x,y);
      30  	if(__builtin_expect(!isfinite(z), 0)
      31  	   && isfinite(x) && isfinite(y) && _LIB_VERSION != _IEEE_)
      32  	    /* hypot overflow */
      33  	    return __kernel_standard_f(x, y, 104);
      34  
      35  	return z;
      36  }
      37  compat_symbol (libm, __hypotf_compat, hypotf, GLIBC_2_0);
      38  #endif