(root)/
glibc-2.38/
sysdeps/
alpha/
fpu/
s_clog10f.c
       1  /* Return base 10 logarithm of complex float value.
       2     Copyright (C) 2004-2023 Free Software Foundation, Inc.
       3     This file is part of the GNU C Library.
       4  
       5     The GNU C Library is free software; you can redistribute it and/or
       6     modify it under the terms of the GNU Lesser General Public
       7     License as published by the Free Software Foundation; either
       8     version 2.1 of the License, or (at your option) any later version.
       9  
      10     The GNU C Library is distributed in the hope that it will be useful,
      11     but WITHOUT ANY WARRANTY; without even the implied warranty of
      12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13     Lesser General Public License for more details.
      14  
      15     You should have received a copy of the GNU Lesser General Public
      16     License along with the GNU C Library.  If not, see
      17     <https://www.gnu.org/licenses/>.  */
      18  
      19  #define __clog10f __clog10f_not_defined
      20  #define clog10f clog10f_not_defined
      21  
      22  #include <complex.h>
      23  #include <math.h>
      24  #include <libm-alias-float.h>
      25  
      26  #undef __clog10f
      27  #undef clog10f
      28  
      29  static _Complex float internal_clog10f (_Complex float x);
      30  
      31  #define M_DECL_FUNC(f) internal_clog10f
      32  #include <math-type-macros-float.h>
      33  
      34  /* Disable any aliasing from base template.  */
      35  #undef declare_mgen_alias
      36  #define declare_mgen_alias(__to, __from)
      37  
      38  #include <math/s_clog10_template.c>
      39  #include "cfloat-compat.h"
      40  
      41  c1_cfloat_rettype
      42  __c1_clog10f (c1_cfloat_decl (x))
      43  {
      44    _Complex float r = internal_clog10f (c1_cfloat_value (x));
      45    return c1_cfloat_return (r);
      46  }
      47  
      48  c2_cfloat_rettype
      49  __c2_clog10f (c2_cfloat_decl (x))
      50  {
      51    _Complex float r = internal_clog10f (c2_cfloat_value (x));
      52    return c2_cfloat_return (r);
      53  }
      54  
      55  /* Ug.  __clog10f was exported from GLIBC_2.1.  This is the only
      56     complex function whose double-underscore symbol was exported,
      57     so we get to handle that specially.  */
      58  #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
      59  strong_alias (__c1_clog10f, __c1_clog10f_2);
      60  compat_symbol (libm, __c1_clog10f, clog10f, GLIBC_2_1);
      61  compat_symbol (libm, __c1_clog10f_2, __clog10f, GLIBC_2_1);
      62  #endif
      63  versioned_symbol (libm, __c2_clog10f, clog10f, GLIBC_2_3_4);
      64  extern typeof(__c2_clog10f) __clog10f attribute_hidden;
      65  strong_alias (__c2_clog10f, __clog10f)
      66  libm_alias_float_other (__c2_clog10, clog10)