Updated to fedora-glibc-20050523T1354
[kopensolaris-gnu/glibc.git] / math / complex.h
index 3bb5d1b..f005a93 100644 (file)
@@ -1,23 +1,23 @@
-/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
 
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
 
 /*
- *     ISO C 9X:  7.8 Complex arithmetic       <complex.h>
+ *     ISO C99:  7.3 Complex arithmetic        <complex.h>
  */
 
 #ifndef _COMPLEX_H
 
 #include <features.h>
 
-/* Get general and ISO C 9X specific information.  */
+/* Get general and ISO C99 specific information.  */
 #include <bits/mathdef.h>
 
 __BEGIN_DECLS
 
-/* We might need to add support for more compilers here.  But once ISO
-   C 9X is out hopefully all maintained compilers will provide the data
+/* We might need to add support for more compilers here.  But since ISO
+   C99 is out hopefully all maintained compilers will soon provide the data
    types `float complex' and `double complex'.  */
-#if __GNUC_PREREQ (2, 7)
+#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)
 # define _Complex __complex__
 #endif
 
+#define complex                _Complex
 
 /* Narrowest imaginary unit.  This depends on the floating-point
    evaluation method.
    XXX This probably has to go into a gcc related file.  */
-#define _Complex_I     (1.0iF)
+#define _Complex_I     (__extension__ 1.0iF)
 
 /* Another more descriptive name is `I'.
    XXX Once we have the imaginary support switch this to _Imaginary_I.  */
@@ -59,7 +60,7 @@ __BEGIN_DECLS
   __MATHDECL_1(type, function, args); \
   __MATHDECL_1(type, __CONCAT(__,function), args)
 #define __MATHDECL_1(type, function, args) \
-  extern type __MATH_PRECNAME(function) args
+  extern type __MATH_PRECNAME(function) args __THROW
 
 #define _Mdouble_              double
 #define __MATH_PRECNAME(name)  name
@@ -82,7 +83,7 @@ __BEGIN_DECLS
 #undef __MATH_PRECNAME
 
 /* And the long double versions.  It is non-critical to define them
-   here unconditionally since `long double' is required in ISO C 9X.  */
+   here unconditionally since `long double' is required in ISO C99.  */
 #if __STDC__ - 0 || __GNUC__ - 0 && !defined __NO_LONG_DOUBLE_MATH
 # ifndef _Mlong_double_
 #  define _Mlong_double_       long double