Move all files into ports/ subdirectory in preparation for merge with glibc
[jlayton/glibc.git] / ports / sysdeps / alpha / fpu / s_clog10f.c
1 /* Return base 10 logarithm of complex float value.
2    Copyright (C) 2004, 2005 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    <http://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
25 #undef __clog10f
26 #undef clog10f
27 #define __clog10f internal_clog10f
28
29 static _Complex float internal_clog10f (_Complex float x);
30
31 #include <math/s_clog10f.c>
32 #include "cfloat-compat.h"
33
34 #undef __clog10f
35
36 c1_cfloat_rettype
37 __c1_clog10f (c1_cfloat_decl (x))
38 {
39   _Complex float r = internal_clog10f (c1_cfloat_value (x));
40   return c1_cfloat_return (r);
41 }
42
43 c2_cfloat_rettype
44 __c2_clog10f (c2_cfloat_decl (x))
45 {
46   _Complex float r = internal_clog10f (c2_cfloat_value (x));
47   return c2_cfloat_return (r);
48 }
49
50 /* Ug.  __clog10f was exported from GLIBC_2.1.  This is the only
51    complex function whose double-underscore symbol was exported,
52    so we get to handle that specially.  */
53 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
54 strong_alias (__c1_clog10f, __c1_clog10f_2);
55 compat_symbol (libm, __c1_clog10f, clog10f, GLIBC_2_1);
56 compat_symbol (libm, __c1_clog10f_2, __clog10f, GLIBC_2_1);
57 #endif
58 versioned_symbol (libm, __c2_clog10f, clog10f, GLIBC_2_3_4);
59 extern typeof(__c2_clog10f) __clog10f attribute_hidden;
60 strong_alias (__c2_clog10f, __clog10f)