This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
>Number: 2685
>Category: c++
>Synopsis: gcc crashes with ICE on bootstrapping on alpha-redhat-linux while compiling libstdc++
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Sun Apr 29 10:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Matthias Welwarsky
>Release: gcc version 3.0 20010429 (prerelease)
>Organization:
>Environment:
RedHat-6.2 on Alpha PC164
gcc:
Configured with: ../gcc/configure --enable-shared --enable-threads --enable-languages=c,c++ alpha-redhat-linux
>Description:
gcc crashes on bootstrapping with the following error messages:
/home/matze/gcc-cvs/gccbin/gcc/xgcc --save-temps -B/home/matze/gcc-cvs/gccbin/gcc/ -nostdinc++ -L/home/matze/gcc-cvs/gccbin/alpha-redhat-linux/libstdc++-v3/src
-L/home/matze/gcc-cvs/gccbin/alpha-redhat-linux/libstdc++-v3/src/.libs -B/usr/local/alpha-redhat-linux/bin/ -B/usr/local/alpha-redhat-linux/lib/ -isystem /usr/local/alpha-redhat-linux/include -nostdinc++ -I../../../../gcc/libstdc++-v3/include -I../../../../gcc/libstdc++-v3/include/std -I../../../../gcc/libstdc++-v3/include/c_std -I../include -I../../../../gcc/libstdc++-v3/libsupc++ -I../libio -I../../../../gcc/libstdc++-v3/libio -I../../../../gcc/libstdc++-v3/libmath -g -O2 -fvtable-thunks -D_GNU_SOURCE -mieee -fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -c ../../../../gcc/libstdc++-v3/src/complex_io.cc -fPIC -DPIC -o .libs/complex_io.o
../../../../gcc/libstdc++-v3/include/bits/std_complex.h: In function
`std::basic_ostream<_CharT, _Traits>&
std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
std::complex<_Tp>&) [with _Tp = float, _CharT = char, _Traits =
std::char_traits<char>]':
../../../../gcc/libstdc++-v3/src/complex_io.cc:98: instantiated from here
../../../../gcc/libstdc++-v3/include/bits/std_complex.h:87: Internal compiler
error in add_abstract_origin_attribute, at dwarf2out.c:9267
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="complex_io.ii"
Content-Disposition: inline; filename="complex_io.ii"
# 30 "../../../../gcc/libstdc++-v3/src/complex_io.cc"
# 1 "../../../../gcc/libstdc++-v3/include/bits/std_complex.h" 1
# 41 "../../../../gcc/libstdc++-v3/include/bits/std_complex.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 34 "../include/bits/c++config.h" 3
# 1 "../include/bits/os_defines.h" 1 3
# 43 "../include/bits/os_defines.h" 3
# 1 "/usr/include/features.h" 1 3
# 250 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 251 "/usr/include/features.h" 2 3
# 278 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 279 "/usr/include/features.h" 2 3
# 44 "../include/bits/os_defines.h" 2 3
# 35 "../include/bits/c++config.h" 2 3
# 43 "../../../../gcc/libstdc++-v3/include/bits/std_complex.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 1 3
# 39 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 1 3
# 39 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstddef.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstddef.h" 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 147 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 3
typedef long int ptrdiff_t;
# 199 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 3
typedef long unsigned int size_t;
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstddef.h" 2 3
namespace std
{
using ::ptrdiff_t;
using ::size_t;
}
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 2 3
# 43 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/stdlib.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
extern "C" {
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
__extension__ typedef struct
{
long long int quot;
long long int rem;
} lldiv_t;
# 80 "/usr/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) throw ();
extern double atof (__const char *__nptr) throw ();
extern int atoi (__const char *__nptr) throw ();
extern long int atol (__const char *__nptr) throw ();
__extension__ extern long long int atoll (__const char *__nptr) throw ();
extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw ();
extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw ();
extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw ();
extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
__extension__
extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
# 132 "/usr/include/stdlib.h" 3
__extension__
extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) throw ();
# 157 "/usr/include/stdlib.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 28 "/usr/include/xlocale.h" 3
typedef struct __locale_struct
{
struct locale_data *__locales[6];
const unsigned short int *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
} *__locale_t;
# 158 "/usr/include/stdlib.h" 2 3
extern long int __strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw ();
extern unsigned long int __strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw ();
__extension__
extern long long int __strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw ();
__extension__
extern unsigned long long int __strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) throw ();
extern double __strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw ();
extern float __strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw ();
extern long double __strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) throw ();
# 196 "/usr/include/stdlib.h" 3
extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw ();
extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) throw ();
extern long double __strtold_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __group) throw ();
extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw ();
extern unsigned long int __strtoul_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) throw ();
__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) throw ();
__extension__
extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char ** __restrict __endptr, int __base, int __group) throw ();
# 242 "/usr/include/stdlib.h" 3
extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
{
return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtoul_internal (__nptr, __endptr, __base, 0);
}
extern __inline float
strtof (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
{
return __strtof_internal (__nptr, __endptr, 0);
}
extern __inline long double
strtold (__const char *__restrict __nptr, char **__restrict __endptr) throw ()
{
return __strtold_internal (__nptr, __endptr, 0);
}
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
int __base) throw ()
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
extern __inline double
atof (__const char *__nptr) throw ()
{
return strtod (__nptr, (char **) __null);
}
extern __inline int
atoi (__const char *__nptr) throw ()
{
return (int) strtol (__nptr, (char **) __null, 10);
}
extern __inline long int
atol (__const char *__nptr) throw ()
{
return strtol (__nptr, (char **) __null, 10);
}
__extension__ extern __inline long long int
atoll (__const char *__nptr) throw ()
{
return strtoll (__nptr, (char **) __null, 10);
}
# 333 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) throw ();
extern long int a64l (__const char *__s) throw ();
# 1 "/usr/include/sys/types.h" 1 3
# 26 "/usr/include/sys/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/sys/types.h" 2 3
extern "C" {
# 1 "/usr/include/bits/types.h" 1 3
# 26 "/usr/include/bits/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/bits/types.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 30 "/usr/include/bits/types.h" 2 3
typedef unsigned char __u_char;
typedef unsigned short int __u_short;
typedef unsigned int __u_int;
typedef unsigned long int __u_long;
typedef unsigned long int __u_quad_t;
typedef long int __quad_t;
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
typedef signed long int __int64_t;
typedef unsigned long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __uint64_t __dev_t;
typedef __uint32_t __uid_t;
typedef __uint32_t __gid_t;
typedef __uint32_t __ino_t;
typedef __uint64_t __ino64_t;
typedef __uint32_t __mode_t;
typedef __uint32_t __nlink_t;
typedef __int64_t __off_t;
typedef __int64_t __off64_t;
typedef __int64_t __loff_t;
typedef __int32_t __pid_t;
typedef __int64_t __ssize_t;
typedef __int64_t __rlim_t;
typedef __int64_t __rlim64_t;
typedef __uint32_t __blkcnt_t;
typedef __uint64_t __blkcnt64_t;
typedef __int32_t __fsblkcnt_t;
typedef __int64_t __fsblkcnt64_t;
typedef __uint32_t __fsfilcnt_t;
typedef __uint64_t __fsfilcnt64_t;
typedef __uint32_t __id_t;
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef int __key_t;
typedef int __ipc_pid_t;
typedef unsigned long int __fd_mask;
# 103 "/usr/include/bits/types.h" 3
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
} __fd_set;
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;
typedef long int __intptr_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
{
int sched_priority;
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3
struct _pthread_fastlock
{
long int __status;
int __spinlock;
};
typedef struct _pthread_descr_struct *_pthread_descr;
typedef struct
{
int __detachstate;
int __schedpolicy;
struct __sched_param __schedparam;
int __inheritsched;
int __scope;
size_t __guardsize;
int __stackaddr_set;
void *__stackaddr;
size_t __stacksize;
} pthread_attr_t;
typedef struct
{
struct _pthread_fastlock __c_lock;
_pthread_descr __c_waiting;
} pthread_cond_t;
typedef struct
{
int __dummy;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef struct
{
int __m_reserved;
int __m_count;
_pthread_descr __m_owner;
int __m_kind;
struct _pthread_fastlock __m_lock;
} pthread_mutex_t;
typedef struct
{
int __mutexkind;
} pthread_mutexattr_t;
typedef int pthread_once_t;
typedef struct _pthread_rwlock_t
{
struct _pthread_fastlock __rw_lock;
int __rw_readers;
_pthread_descr __rw_writer;
_pthread_descr __rw_read_waiting;
_pthread_descr __rw_write_waiting;
int __rw_kind;
int __rw_pshared;
} pthread_rwlock_t;
typedef struct
{
int __lockkind;
int __pshared;
} pthread_rwlockattr_t;
typedef unsigned long int pthread_t;
# 127 "/usr/include/bits/types.h" 2 3
# 31 "/usr/include/sys/types.h" 2 3
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __ino64_t ino64_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __off64_t off64_t;
typedef __pid_t pid_t;
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 1 "/usr/include/time.h" 1 3
# 57 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 58 "/usr/include/time.h" 2 3
typedef __clock_t clock_t;
# 1 "/usr/include/bits/types.h" 1 3
# 69 "/usr/include/time.h" 2 3
typedef __time_t time_t;
# 123 "/usr/include/sys/types.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 126 "/usr/include/sys/types.h" 2 3
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 169 "/usr/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 191 "/usr/include/sys/types.h" 3
# 1 "/usr/include/endian.h" 1 3
# 22 "/usr/include/endian.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/endian.h" 2 3
# 35 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 36 "/usr/include/endian.h" 2 3
# 192 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/select.h" 1 3
# 25 "/usr/include/sys/select.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 35 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 83 "/usr/include/time.h" 3
struct timespec
{
long int tv_sec;
long int tv_nsec;
};
# 39 "/usr/include/sys/select.h" 2 3
extern "C" {
struct timeval;
typedef __fd_mask fd_mask;
typedef __fd_set fd_set;
# 74 "/usr/include/sys/select.h" 3
extern int __select (int __nfds, __fd_set *__readfds, __fd_set *__writefds, __fd_set *__exceptfds, struct timeval *__timeout) throw ();
extern int select (int __nfds, __fd_set *__readfds, __fd_set *__writefds, __fd_set *__exceptfds, struct timeval *__timeout) throw ();
# 87 "/usr/include/sys/select.h" 3
extern int pselect (int __nfds, __fd_set *__readfds, __fd_set *__writefds, __fd_set *__exceptfds, const struct timespec *__timeout, const __sigset_t *__sigmask) throw ();
}
# 195 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/sysmacros.h" 1 3
# 198 "/usr/include/sys/types.h" 2 3
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
}
# 340 "/usr/include/stdlib.h" 2 3
extern int32_t random (void) throw ();
extern void srandom (unsigned int __seed) throw ();
extern void * initstate (unsigned int __seed, void * __statebuf, size_t __statelen) throw ();
extern void * setstate (void * __statebuf) throw ();
struct random_data
{
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
};
extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) throw ();
extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw ();
extern int initstate_r (unsigned int __seed, void * __restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) throw ();
extern int setstate_r (void * __restrict __statebuf, struct random_data *__restrict __buf) throw ();
extern int rand (void) throw ();
extern void srand (unsigned int __seed) throw ();
extern int rand_r (unsigned int *__seed) throw ();
extern double drand48 (void) throw ();
extern double erand48 (unsigned short int __xsubi[3]) throw ();
extern long int lrand48 (void) throw ();
extern long int nrand48 (unsigned short int __xsubi[3]) throw ();
extern long int mrand48 (void) throw ();
extern long int jrand48 (unsigned short int __xsubi[3]) throw ();
extern void srand48 (long int __seedval) throw ();
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw ();
extern void lcong48 (unsigned short int __param[7]) throw ();
struct drand48_data
{
unsigned short int x[3];
unsigned short int a[3];
unsigned short int c;
unsigned short int old_x[3];
int init;
};
extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) throw ();
extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) throw ();
extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw ();
extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw ();
extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) throw ();
extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) throw ();
extern int srand48_r (long int __seedval, struct drand48_data *__buffer) throw ();
extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) throw ();
extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) throw ();
# 474 "/usr/include/stdlib.h" 3
extern void * malloc (size_t __size) throw ();
extern void * calloc (size_t __nmemb, size_t __size) throw ();
extern void * realloc (void * __ptr, size_t __size) throw ();
extern void free (void * __ptr) throw ();
extern void cfree (void * __ptr) throw ();
# 1 "/usr/include/alloca.h" 1 3
# 22 "/usr/include/alloca.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/alloca.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3
extern "C" {
extern void * alloca (size_t __size) throw ();
}
# 493 "/usr/include/stdlib.h" 2 3
extern void * valloc (size_t __size) throw ();
extern void abort (void) throw () __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) throw ();
extern int __on_exit (void (*__func) (int __status, void * __arg), void * __arg) throw ();
extern int on_exit (void (*__func) (int __status, void * __arg), void * __arg) throw ();
extern void exit (int __status) throw () __attribute__ ((__noreturn__));
extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
extern char *getenv (__const char *__name) throw ();
extern char *__secure_getenv (__const char *__name) throw ();
extern int putenv (char *__string) throw ();
extern int setenv (__const char *__name, __const char *__value, int __replace) throw ();
extern void unsetenv (__const char *__name) throw ();
extern int clearenv (void) throw ();
# 566 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) throw ();
extern int mkstemp (char *__template) throw ();
extern int system (__const char *__command) throw ();
extern char *canonicalize_file_name (__const char *__name) throw ();
# 595 "/usr/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) throw ();
typedef int (*__compar_fn_t) (__const void *, __const void *);
typedef __compar_fn_t comparison_fn_t;
extern void * bsearch (__const void * __key, __const void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar);
extern void qsort (void * __base, size_t __nmemb, size_t __size, __compar_fn_t __compar);
extern int abs (int __x) throw () __attribute__ ((__const__));
extern long int labs (long int __x) throw () __attribute__ ((__const__));
__extension__ extern long long int llabs (long long int __x) throw ()
__attribute__ ((__const__));
extern div_t div (int __numer, int __denom) throw () __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom) throw ()
__attribute__ ((__const__));
__extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) throw ()
__attribute__ ((__const__));
# 651 "/usr/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *gcvt (double __value, int __ndigit, char *__buf) throw ();
extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw ();
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw ();
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw ();
extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw ();
extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) throw ();
# 695 "/usr/include/stdlib.h" 3
extern int mblen (__const char *__s, size_t __n) throw ();
extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) throw ();
extern int wctomb (char *__s, wchar_t __wchar) throw ();
extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) throw ();
extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) throw ();
# 718 "/usr/include/stdlib.h" 3
extern int rpmatch (__const char *__response) throw ();
# 729 "/usr/include/stdlib.h" 3
extern int getsubopt (char **__restrict __optionp, __const char *__const *__restrict __tokens, char **__restrict __valuep) throw ();
# 738 "/usr/include/stdlib.h" 3
extern void setkey (__const char *__key) throw ();
extern int grantpt (int __fd) throw ();
extern int unlockpt (int __fd) throw ();
extern char *ptsname (int __fd) throw ();
extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw ();
extern int getpt (void) throw ();
}
# 44 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 2 3
# 83 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 3
namespace std
{
using ::div_t;
using ::ldiv_t;
# 100 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 3
extern "C" double atof(const char*);
extern "C" int atoi(const char*);
extern "C" long int atol(const char*);
extern "C" double strtod(const char*, char**);
extern "C" float strtof(const char*, char**);
extern "C" long int strtol(const char*, char**, int);
extern "C" unsigned long int strtoul(const char*, char**, int);
extern "C" int rand(void);
extern "C" void srand(unsigned int);
extern "C" void* calloc(size_t, size_t);
extern "C" void free(void*);
extern "C" void* malloc(size_t);
extern "C" void* realloc(void*, size_t);
extern "C" void abort(void);
extern "C" int atexit(void (*func)(void));
extern "C" void exit(int);
extern "C" void _Exit(int);
extern "C" char*getenv(const char*);
extern "C" int system(const char*);
extern "C" void* bsearch(const void*, const void*, size_t, size_t,
int (*comp)(const void *, const void *));
extern "C" void qsort(void*, size_t, size_t,
int (*comp)(const void *, const void *));
extern "C" int abs(int);
extern "C" long int labs(long int);
extern "C" div_t div(int, int);
extern "C" ldiv_t ldiv(long int, long int);
extern "C" int mblen(const char*, size_t);
extern "C" int mbtowc(wchar_t*, const char*, size_t);
extern "C" int wctomb(char*, wchar_t);
extern "C" size_t mbstowcs(wchar_t*, const char*, size_t);
extern "C" size_t wcstombs(char*, const wchar_t*, size_t);
# 154 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdlib.h" 3
extern "C" long double strtold(const char*, char**);
}
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 2 3
# 43 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
# 1 "/usr/include/math.h" 1 3
# 27 "/usr/include/math.h" 3
# 1 "/usr/include/features.h" 1 3
# 28 "/usr/include/math.h" 2 3
extern "C" {
# 1 "/usr/include/bits/huge_val.h" 1 3
# 25 "/usr/include/bits/huge_val.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/bits/huge_val.h" 2 3
# 34 "/usr/include/math.h" 2 3
# 1 "/usr/include/bits/nan.h" 1 3
# 38 "/usr/include/math.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/bits/mathdef.h" 1 3
# 54 "/home/matze/gcc-cvs/gccbin/gcc/include/bits/mathdef.h" 3
typedef double float_t;
typedef double double_t;
# 41 "/usr/include/math.h" 2 3
# 63 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathcalls.h" 1 3
# 54 "/usr/include/bits/mathcalls.h" 3
extern double acos (double __x); extern double __acos (double __x);
extern double asin (double __x); extern double __asin (double __x);
extern double atan (double __x); extern double __atan (double __x);
extern double atan2 (double __y, double __x); extern double __atan2 (double __y, double __x);
extern double cos (double __x); extern double __cos (double __x);
extern double sin (double __x); extern double __sin (double __x);
extern double tan (double __x); extern double __tan (double __x);
extern void sincos (double __x, double *__sinx, double *__cosx); extern void __sincos (double __x, double *__sinx, double *__cosx);
extern double cosh (double __x); extern double __cosh (double __x);
extern double sinh (double __x); extern double __sinh (double __x);
extern double tanh (double __x); extern double __tanh (double __x);
extern double acosh (double __x); extern double __acosh (double __x);
extern double asinh (double __x); extern double __asinh (double __x);
extern double atanh (double __x); extern double __atanh (double __x);
extern double exp (double __x); extern double __exp (double __x);
extern double exp10 (double __x); extern double __exp10 (double __x);
extern double pow10 (double __x); extern double __pow10 (double __x);
extern double frexp (double __x, int *__exponent); extern double __frexp (double __x, int *__exponent);
extern double ldexp (double __x, int __exponent); extern double __ldexp (double __x, int __exponent);
extern double log (double __x); extern double __log (double __x);
extern double log10 (double __x); extern double __log10 (double __x);
extern double modf (double __x, double *__iptr); extern double __modf (double __x, double *__iptr);
extern double expm1 (double __x); extern double __expm1 (double __x);
extern double log1p (double __x); extern double __log1p (double __x);
extern double logb (double __x); extern double __logb (double __x);
extern double exp2 (double __x); extern double __exp2 (double __x);
extern double log2 (double __x); extern double __log2 (double __x);
extern double pow (double __x, double __y); extern double __pow (double __x, double __y);
extern double sqrt (double __x); extern double __sqrt (double __x);
extern double hypot (double __x, double __y); extern double __hypot (double __x, double __y);
extern double cbrt (double __x); extern double __cbrt (double __x);
extern double ceil (double __x); extern double __ceil (double __x);
extern double fabs (double __x) __attribute__ ((__const__)); extern double __fabs (double __x) __attribute__ ((__const__));
extern double floor (double __x); extern double __floor (double __x);
extern double fmod (double __x, double __y); extern double __fmod (double __x, double __y);
extern int __isinf (double __value) __attribute__ ((__const__));
extern int __finite (double __value) __attribute__ ((__const__));
extern int isinf (double __value) __attribute__ ((__const__));
extern int finite (double __value) __attribute__ ((__const__));
extern double infnan (int __error) __attribute__ ((__const__)); extern double __infnan (int __error) __attribute__ ((__const__));
extern double drem (double __x, double __y); extern double __drem (double __x, double __y);
extern double significand (double __x); extern double __significand (double __x);
extern double copysign (double __x, double __y) __attribute__ ((__const__)); extern double __copysign (double __x, double __y) __attribute__ ((__const__));
extern double nan (__const char *__tagb) __attribute__ ((__const__)); extern double __nan (__const char *__tagb) __attribute__ ((__const__));
extern int __isnan (double __value) __attribute__ ((__const__));
extern int isnan (double __value) __attribute__ ((__const__));
extern double j0 (double); extern double __j0 (double);
extern double j1 (double); extern double __j1 (double);
extern double jn (int, double); extern double __jn (int, double);
extern double y0 (double); extern double __y0 (double);
extern double y1 (double); extern double __y1 (double);
extern double yn (int, double); extern double __yn (int, double);
extern double erf (double); extern double __erf (double);
extern double erfc (double); extern double __erfc (double);
extern double lgamma (double); extern double __lgamma (double);
extern double tgamma (double); extern double __tgamma (double);
extern double gamma (double); extern double __gamma (double);
extern double lgamma_r (double, int *__signgamp); extern double __lgamma_r (double, int *__signgamp);
extern double rint (double __x); extern double __rint (double __x);
extern double nextafter (double __x, double __y) __attribute__ ((__const__)); extern double __nextafter (double __x, double __y) __attribute__ ((__const__));
extern double nexttoward (double __x, long double __y) __attribute__ ((__const__)); extern double __nexttoward (double __x, long double __y) __attribute__ ((__const__));
extern double remainder (double __x, double __y); extern double __remainder (double __x, double __y);
extern double scalb (double __x, double __n); extern double __scalb (double __x, double __n);
extern double scalbn (double __x, int __n); extern double __scalbn (double __x, int __n);
extern int ilogb (double __x); extern int __ilogb (double __x);
extern double scalbln (double __x, long int __n); extern double __scalbln (double __x, long int __n);
extern double nearbyint (double __x); extern double __nearbyint (double __x);
extern double round (double __x); extern double __round (double __x);
extern double trunc (double __x) __attribute__ ((__const__)); extern double __trunc (double __x) __attribute__ ((__const__));
extern double remquo (double __x, double __y, int *__quo); extern double __remquo (double __x, double __y, int *__quo);
extern long int lrint (double __x); extern long int __lrint (double __x);
extern long long int llrint (double __x); extern long long int __llrint (double __x);
extern long int lround (double __x); extern long int __lround (double __x);
extern long long int llround (double __x); extern long long int __llround (double __x);
extern double fdim (double __x, double __y); extern double __fdim (double __x, double __y);
extern double fmax (double __x, double __y); extern double __fmax (double __x, double __y);
extern double fmin (double __x, double __y); extern double __fmin (double __x, double __y);
extern int __fpclassify (double __value)
__attribute__ ((__const__));
extern int __signbit (double __value)
__attribute__ ((__const__));
extern double fma (double __x, double __y, double __z); extern double __fma (double __x, double __y, double __z);
# 64 "/usr/include/math.h" 2 3
# 82 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathcalls.h" 1 3
# 54 "/usr/include/bits/mathcalls.h" 3
extern float acosf (float __x); extern float __acosf (float __x);
extern float asinf (float __x); extern float __asinf (float __x);
extern float atanf (float __x); extern float __atanf (float __x);
extern float atan2f (float __y, float __x); extern float __atan2f (float __y, float __x);
extern float cosf (float __x); extern float __cosf (float __x);
extern float sinf (float __x); extern float __sinf (float __x);
extern float tanf (float __x); extern float __tanf (float __x);
extern void sincosf (float __x, float *__sinx, float *__cosx); extern void __sincosf (float __x, float *__sinx, float *__cosx);
extern float coshf (float __x); extern float __coshf (float __x);
extern float sinhf (float __x); extern float __sinhf (float __x);
extern float tanhf (float __x); extern float __tanhf (float __x);
extern float acoshf (float __x); extern float __acoshf (float __x);
extern float asinhf (float __x); extern float __asinhf (float __x);
extern float atanhf (float __x); extern float __atanhf (float __x);
extern float expf (float __x); extern float __expf (float __x);
extern float exp10f (float __x); extern float __exp10f (float __x);
extern float pow10f (float __x); extern float __pow10f (float __x);
extern float frexpf (float __x, int *__exponent); extern float __frexpf (float __x, int *__exponent);
extern float ldexpf (float __x, int __exponent); extern float __ldexpf (float __x, int __exponent);
extern float logf (float __x); extern float __logf (float __x);
extern float log10f (float __x); extern float __log10f (float __x);
extern float modff (float __x, float *__iptr); extern float __modff (float __x, float *__iptr);
extern float expm1f (float __x); extern float __expm1f (float __x);
extern float log1pf (float __x); extern float __log1pf (float __x);
extern float logbf (float __x); extern float __logbf (float __x);
extern float exp2f (float __x); extern float __exp2f (float __x);
extern float log2f (float __x); extern float __log2f (float __x);
extern float powf (float __x, float __y); extern float __powf (float __x, float __y);
extern float sqrtf (float __x); extern float __sqrtf (float __x);
extern float hypotf (float __x, float __y); extern float __hypotf (float __x, float __y);
extern float cbrtf (float __x); extern float __cbrtf (float __x);
extern float ceilf (float __x); extern float __ceilf (float __x);
extern float fabsf (float __x) __attribute__ ((__const__)); extern float __fabsf (float __x) __attribute__ ((__const__));
extern float floorf (float __x); extern float __floorf (float __x);
extern float fmodf (float __x, float __y); extern float __fmodf (float __x, float __y);
extern int __isinff (float __value) __attribute__ ((__const__));
extern int __finitef (float __value) __attribute__ ((__const__));
extern int isinff (float __value) __attribute__ ((__const__));
extern int finitef (float __value) __attribute__ ((__const__));
extern float infnanf (int __error) __attribute__ ((__const__)); extern float __infnanf (int __error) __attribute__ ((__const__));
extern float dremf (float __x, float __y); extern float __dremf (float __x, float __y);
extern float significandf (float __x); extern float __significandf (float __x);
extern float copysignf (float __x, float __y) __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) __attribute__ ((__const__));
extern float nanf (__const char *__tagb) __attribute__ ((__const__)); extern float __nanf (__const char *__tagb) __attribute__ ((__const__));
extern int __isnanf (float __value) __attribute__ ((__const__));
extern int isnanf (float __value) __attribute__ ((__const__));
extern float j0f (float); extern float __j0f (float);
extern float j1f (float); extern float __j1f (float);
extern float jnf (int, float); extern float __jnf (int, float);
extern float y0f (float); extern float __y0f (float);
extern float y1f (float); extern float __y1f (float);
extern float ynf (int, float); extern float __ynf (int, float);
extern float erff (float); extern float __erff (float);
extern float erfcf (float); extern float __erfcf (float);
extern float lgammaf (float); extern float __lgammaf (float);
extern float tgammaf (float); extern float __tgammaf (float);
extern float gammaf (float); extern float __gammaf (float);
extern float lgammaf_r (float, int *__signgamp); extern float __lgammaf_r (float, int *__signgamp);
extern float rintf (float __x); extern float __rintf (float __x);
extern float nextafterf (float __x, float __y) __attribute__ ((__const__)); extern float __nextafterf (float __x, float __y) __attribute__ ((__const__));
extern float nexttowardf (float __x, long double __y) __attribute__ ((__const__)); extern float __nexttowardf (float __x, long double __y) __attribute__ ((__const__));
extern float remainderf (float __x, float __y); extern float __remainderf (float __x, float __y);
extern float scalbf (float __x, float __n); extern float __scalbf (float __x, float __n);
extern float scalbnf (float __x, int __n); extern float __scalbnf (float __x, int __n);
extern int ilogbf (float __x); extern int __ilogbf (float __x);
extern float scalblnf (float __x, long int __n); extern float __scalblnf (float __x, long int __n);
extern float nearbyintf (float __x); extern float __nearbyintf (float __x);
extern float roundf (float __x); extern float __roundf (float __x);
extern float truncf (float __x) __attribute__ ((__const__)); extern float __truncf (float __x) __attribute__ ((__const__));
extern float remquof (float __x, float __y, int *__quo); extern float __remquof (float __x, float __y, int *__quo);
extern long int lrintf (float __x); extern long int __lrintf (float __x);
extern long long int llrintf (float __x); extern long long int __llrintf (float __x);
extern long int lroundf (float __x); extern long int __lroundf (float __x);
extern long long int llroundf (float __x); extern long long int __llroundf (float __x);
extern float fdimf (float __x, float __y); extern float __fdimf (float __x, float __y);
extern float fmaxf (float __x, float __y); extern float __fmaxf (float __x, float __y);
extern float fminf (float __x, float __y); extern float __fminf (float __x, float __y);
extern int __fpclassifyf (float __value)
__attribute__ ((__const__));
extern int __signbitf (float __value)
__attribute__ ((__const__));
extern float fmaf (float __x, float __y, float __z); extern float __fmaf (float __x, float __y, float __z);
# 83 "/usr/include/math.h" 2 3
# 113 "/usr/include/math.h" 3
extern int signgam;
# 154 "/usr/include/math.h" 3
enum
{
FP_NAN,
FP_INFINITE,
FP_ZERO,
FP_SUBNORMAL,
FP_NORMAL
};
# 236 "/usr/include/math.h" 3
typedef enum
{
_IEEE_ = -1,
_SVID_,
_XOPEN_,
_POSIX_,
_ISOC_
} _LIB_VERSION_TYPE;
extern _LIB_VERSION_TYPE _LIB_VERSION;
# 259 "/usr/include/math.h" 3
struct __exception
{
int type;
char *name;
double arg1;
double arg2;
double retval;
};
extern int matherr (struct __exception *__exc) throw ();
# 289 "/usr/include/math.h" 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/float.h" 1 3
# 290 "/usr/include/math.h" 2 3
# 348 "/usr/include/math.h" 3
# 1 "/usr/include/bits/mathinline.h" 1 3
# 70 "/usr/include/bits/mathinline.h" 3
__inline float __copysignf (float __x, float __y) { float __z; __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); return __z; }
__inline float copysignf (float __x, float __y) { float __z; __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); return __z; }
__inline double __copysign (double __x, double __y) { double __z; __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); return __z; }
__inline double copysign (double __x, double __y) { double __z; __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); return __z; }
__inline float __fabsf (float __x) { return __builtin_fabsf (__x); }
__inline float fabsf (float __x) { return __builtin_fabsf (__x); }
__inline double __fabs (double __x) { return __builtin_fabs (__x); }
__inline double fabs (double __x) { return __builtin_fabs (__x); }
# 106 "/usr/include/bits/mathinline.h" 3
__inline float
__floorf (float __x)
{
if (__x != 0 && fabsf (__x) < 16777216.0f)
{
float __tmp1, __tmp2;
__asm ("cvtst/s %3,%2\n\t"
"cvttq/svm %2,%1\n\t"
"cvtqt/m %1,%0\n\t"
: "=f"(__x), "=&f"(__tmp1), "=&f"(__tmp2)
: "f"(__x));
}
return __x;
}
__inline double
__floor (double __x)
{
if (__x != 0 && fabs (__x) < 9007199254740992.0)
{
double __tmp1;
__asm (
"cvttq/svm %2,%1\n\t"
"cvtqt/m %1,%0\n\t"
: "=f"(__x), "=&f"(__tmp1)
: "f"(__x));
}
return __x;
}
__inline float floorf (float __x) { return __floorf(__x); }
__inline double floor (double __x) { return __floor(__x); }
__inline float __fdimf (float __x, float __y)
{
return __x < __y ? 0.0f : __x - __y;
}
__inline float fdimf (float __x, float __y)
{
return __x < __y ? 0.0f : __x - __y;
}
__inline double __fdim (double __x, double __y)
{
return __x < __y ? 0.0 : __x - __y;
}
__inline double fdim (double __x, double __y)
{
return __x < __y ? 0.0 : __x - __y;
}
# 349 "/usr/include/math.h" 2 3
# 409 "/usr/include/math.h" 3
}
# 44 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 2 3
# 88 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
namespace std
{
template<typename _Tp> _Tp __cmath_power(_Tp, unsigned int);
template<typename _Tp>
inline _Tp
__cmath_abs(_Tp __x)
{
return __x < _Tp() ? -__x : __x;
}
inline long
abs(long __i) { return ::labs(__i); }
inline ldiv_t
div(long __i, long __j) { return ::ldiv(__i, __j); }
inline float
abs(float __x) { return __builtin_fabsf(__x); }
# 119 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline float
acos(float __x) { return ::acosf(__x); }
inline float
asin(float __x) { return ::asinf(__x); }
inline float
atan(float __x) { return ::atanf(__x); }
inline float
atan2(float __y, float __x) { return ::atan2f(__y, __x); }
inline float
ceil(float __x) { return ::ceilf(__x); }
# 163 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline float
cos(float __x) { return ::cosf(__x); }
inline float
cosh(float __x) { return ::coshf(__x); }
inline float
exp(float __x) { return ::expf(__x); }
inline float
fabs(float __x) { return __builtin_fabsf(__x); }
# 198 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline float
floor(float __x) { return ::floorf(__x); }
inline float
fmod(float __x, float __y) { return ::fmodf(__x, __y); }
inline float
frexp(float __x, int* __exp) { return ::frexpf(__x, __exp); }
inline float
ldexp(float __x, int __exp) { return ::ldexpf(__x, __exp); }
inline float
log(float __x) { return ::logf(__x); }
inline float
log10(float __x) { return ::log10f(__x); }
inline float
modf(float __x, float* __iptr) { return ::modff(__x, __iptr); }
# 261 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
template<typename _Tp>
inline _Tp
__pow_helper(_Tp __x, int __n)
{
return __n < 0
? _Tp(1)/__cmath_power(__x, -__n)
: __cmath_power(__x, __n);
}
inline float
pow(float __x, float __y) { return ::powf(__x, __y); }
inline float
pow(float __x, int __n)
{
return __pow_helper(__x, __n);
}
inline float
sin(float __x) { return ::sinf(__x); }
inline float
sinh(float __x) { return ::sinhf(__x); }
# 308 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline float
sqrt(float __x) { return ::sqrtf(__x); }
inline float
tan(float __x) { return ::tanf(__x); }
inline float
tanh(float __x) { return ::tanhf(__x); }
extern "C" double acos(double __x);
extern "C" double asin(double __x);
extern "C" double atan(double __x);
extern "C" double atan2(double __y, double __x);
extern "C" double ceil(double __x);
extern "C" double cos(double __x);
extern "C" double cosh(double __x);
extern "C" double exp(double __x);
inline double
fabs(double __x) { return __builtin_fabs(__x); }
inline double
abs(double __x) { return __builtin_fabs(__x); }
extern "C" double floor(double __x);
extern "C" double fmod(double __x, double __y);
extern "C" double frexp(double __x, int* __exp);
extern "C" double ldexp(double __x, int __exp);
extern "C" double log(double __x);
extern "C" double log10(double __x);
extern "C" double modf(double __x, double* __iptr);
extern "C" double pow(double __x, double __y);
inline double
pow(double __x, int __i)
{
return __pow_helper(__x, __i);
}
extern "C" double sin(double __x);
extern "C" double sinh(double __x);
extern "C" double sqrt(double __x);
extern "C" double tan(double __x);
extern "C" double tanh(double __x);
inline long double
abs(long double __x) { return __builtin_fabsl(__x); }
# 426 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline long double
acos(long double __x) { return ::acos(static_cast<double>(__x)); }
inline long double
asin(long double __x) { return ::asin(static_cast<double>(__x)); }
inline long double
atan(long double __x) { return ::atan(static_cast<double>(__x)); }
inline long double
atan2(long double __y, long double __x)
{ return ::atan2(static_cast<double>(__y), static_cast<double>(__x)); }
inline long double
ceil(long double __x) { return ::ceil(static_cast<double>(__x)); }
# 470 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline long double
cos(long double __x) { return ::cos(static_cast<double>(__x)); }
inline long double
cosh(long double __x) { return ::cosh(static_cast<double>(__x)); }
inline long double
exp(long double __x) { return ::exp(static_cast<double>(__x)); }
inline long double
fabs(long double __x) { return __builtin_fabsl(__x); }
# 505 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline long double
floor(long double __x) { return ::floor(static_cast<double>(__x)); }
inline long double
fmod(long double __x, long double __y)
{ return ::fmod(static_cast<double>(__x), static_cast<double>(__y)); }
inline long double
frexp(long double __x, int* __exp)
{ return ::frexp(static_cast<double>(__x), __exp); }
inline long double
ldexp(long double __x, int __exp)
{ return ::ldexp(static_cast<double>(__x), __exp); }
inline long double
log(long double __x) { return ::log(static_cast<double>(__x)); }
inline long double
log10(long double __x) { return ::log10(static_cast<double>(__x)); }
inline long double
modf(long double __x, long double* __iptr)
{
double __tmp;
double __res = ::modf(static_cast<double>(__x), &__tmp);
* __iptr = static_cast<long double>(__tmp);
return __res;
}
inline long double
pow(long double __x, long double __y)
{ return ::pow(static_cast<double>(__x), static_cast<double>(__y)); }
inline long double
pow(long double __x, int __n)
{
return __pow_helper(__x, __n);
}
# 588 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline long double
sin(long double __x) { return ::sin(static_cast<double>(__x)); }
inline long double
sinh(long double __x) { return ::sinh(static_cast<double>(__x)); }
# 607 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 3
inline long double
sqrt(long double __x) { return ::sqrt(static_cast<double>(__x)); }
inline long double
tan(long double __x) { return ::tan(static_cast<double>(__x)); }
inline long double
tanh(long double __x) { return ::tanh(static_cast<double>(__x)); }
}
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/cmath.tcc" 1 3
# 35 "../../../../gcc/libstdc++-v3/include/c_std/bits/cmath.tcc" 3
namespace std {
template<typename _Tp>
_Tp
__cmath_power(_Tp __x, unsigned int __n)
{
_Tp __y = __n % 2 ? __x : 1;
while (__n >>= 1)
{
__x = __x * __x;
if (__n % 2)
__y = __y * __x;
}
return __y;
}
}
# 631 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cmath.h" 2 3
# 44 "../../../../gcc/libstdc++-v3/include/bits/std_complex.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 1 3
# 38 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 1 3
# 39 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstddef.h" 1 3
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 1 3
# 39 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdarg.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdarg.h" 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stdarg.h" 1 3
# 43 "/home/matze/gcc-cvs/gccbin/gcc/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 110 "/home/matze/gcc-cvs/gccbin/gcc/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdarg.h" 2 3
namespace std
{
using ::va_list;
}
# 41 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstddef.h" 1 3
# 42 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 2 3
# 44 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 3
# 1 "/usr/include/stdio.h" 1 3
# 27 "/usr/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 28 "/usr/include/stdio.h" 2 3
extern "C" {
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 34 "/usr/include/stdio.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stdarg.h" 1 3
# 39 "/usr/include/stdio.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 41 "/usr/include/stdio.h" 2 3
typedef struct _IO_FILE FILE;
# 57 "/usr/include/stdio.h" 3
# 1 "../../../../gcc/libstdc++-v3/libio/libio.h" 1 3
# 30 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
# 1 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 1 3
# 1 "../include/bits/c++config.h" 1 3
# 9 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 2 3
# 1 "/usr/include/sys/types.h" 1 3
# 17 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/std/cstddef" 1 3
# 24 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 2 3
# 35 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 3
typedef unsigned int wint_t;
typedef struct
{
int count;
wint_t value;
}__c_mbstate_t;
typedef size_t _G_size_t;
# 68 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 3
typedef __off_t _G_fpos_t;
typedef __off64_t _G_fpos64_t;
# 84 "../../../../gcc/libstdc++-v3/libio/_G_config.h" 3
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 31 "../../../../gcc/libstdc++-v3/libio/libio.h" 2 3
# 51 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stdarg.h" 1 3
# 52 "../../../../gcc/libstdc++-v3/libio/libio.h" 2 3
# 160 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 1 "/usr/include/bits/stdio-lock.h" 1 3
# 20 "/usr/include/bits/stdio-lock.h" 3
# 1 "/usr/include/pthread.h" 1 3
# 18 "/usr/include/pthread.h" 3
# 1 "/usr/include/features.h" 1 3
# 19 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/sched.h" 1 3
# 23 "/usr/include/sched.h" 3
# 1 "/usr/include/features.h" 1 3
# 24 "/usr/include/sched.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 27 "/usr/include/sched.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 30 "/usr/include/sched.h" 2 3
# 1 "/usr/include/bits/sched.h" 1 3
# 47 "/usr/include/bits/sched.h" 3
struct sched_param
{
int sched_priority;
};
extern "C" {
extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg) throw ();
}
# 33 "/usr/include/sched.h" 2 3
extern "C" {
extern int __sched_setparam (__pid_t __pid, __const struct sched_param *__param) throw ();
extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param) throw ();
extern int __sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
extern int __sched_setscheduler (__pid_t __pid, int __policy, __const struct sched_param *__param) throw ();
extern int sched_setscheduler (__pid_t __pid, int __policy, __const struct sched_param *__param) throw ();
extern int __sched_getscheduler (__pid_t __pid) throw ();
extern int sched_getscheduler (__pid_t __pid) throw ();
extern int __sched_yield (void) throw ();
extern int sched_yield (void) throw ();
extern int __sched_get_priority_max (int __algorithm) throw ();
extern int sched_get_priority_max (int __algorithm) throw ();
extern int __sched_get_priority_min (int __algorithm) throw ();
extern int sched_get_priority_min (int __algorithm) throw ();
extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
}
# 21 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 28 "/usr/include/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/time.h" 2 3
extern "C" {
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 39 "/usr/include/time.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 43 "/usr/include/time.h" 2 3
# 95 "/usr/include/time.h" 3
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long int tm_gmtoff;
__const char *tm_zone;
};
extern clock_t clock (void) throw ();
extern time_t time (time_t *__timer) throw ();
extern double difftime (time_t __time1, time_t __time0) throw ()
__attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) throw ();
extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) throw ();
extern char *strptime (__const char *__s, __const char *__fmt, struct tm *__tp) throw ();
extern struct tm *gmtime (__const time_t *__timer) throw ();
extern struct tm *localtime (__const time_t *__timer) throw ();
extern struct tm *__gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw ();
extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw ();
extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) throw ();
extern char *asctime (__const struct tm *__tp) throw ();
extern char *ctime (__const time_t *__timer) throw ();
extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) throw ();
extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) throw ();
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) throw ();
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) throw ();
# 228 "/usr/include/time.h" 3
extern time_t timegm (struct tm *__tp) throw ();
extern time_t timelocal (struct tm *__tp) throw ();
extern int dysize (int __year) throw ();
extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining) throw ();
# 257 "/usr/include/time.h" 3
extern int getdate_err;
extern struct tm *getdate (__const char *__string) throw ();
# 272 "/usr/include/time.h" 3
extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp) throw ();
}
# 22 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/signal.h" 1 3
# 29 "/usr/include/signal.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/signal.h" 2 3
extern "C" {
# 1 "/usr/include/bits/sigset.h" 1 3
# 34 "/usr/include/signal.h" 2 3
# 49 "/usr/include/signal.h" 3
typedef __sigset_t sigset_t;
# 362 "/usr/include/signal.h" 3
}
# 25 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 26 "/usr/include/pthread.h" 2 3
extern "C" {
# 49 "/usr/include/pthread.h" 3
enum
{
PTHREAD_CREATE_JOINABLE,
PTHREAD_CREATE_DETACHED
};
enum
{
PTHREAD_INHERIT_SCHED,
PTHREAD_EXPLICIT_SCHED
};
enum
{
PTHREAD_SCOPE_SYSTEM,
PTHREAD_SCOPE_PROCESS
};
enum
{
PTHREAD_MUTEX_FAST_NP,
PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK_NP
,
PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_FAST_NP,
PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
};
enum
{
PTHREAD_PROCESS_PRIVATE,
PTHREAD_PROCESS_SHARED
};
enum
{
PTHREAD_RWLOCK_PREFER_READER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_WRITER_NP
};
struct _pthread_cleanup_buffer
{
void (*__routine) (void *);
void *__arg;
int __canceltype;
struct _pthread_cleanup_buffer *__prev;
};
enum
{
PTHREAD_CANCEL_ENABLE,
PTHREAD_CANCEL_DISABLE
};
enum
{
PTHREAD_CANCEL_DEFERRED,
PTHREAD_CANCEL_ASYNCHRONOUS
};
# 141 "/usr/include/pthread.h" 3
extern int pthread_create (pthread_t *__thread, __const pthread_attr_t *__attr, void *(*__start_routine) (void *), void *__arg) throw ();
extern pthread_t pthread_self (void) throw ();
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
extern void pthread_exit (void *__retval) throw () __attribute__ ((__noreturn__));
extern int pthread_join (pthread_t __th, void **__thread_return) throw ();
extern int pthread_detach (pthread_t __th) throw ();
extern int pthread_attr_init (pthread_attr_t *__attr) throw ();
extern int pthread_attr_destroy (pthread_attr_t *__attr) throw ();
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) throw ();
extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr, int *__detachstate) throw ();
extern int pthread_attr_setschedparam (pthread_attr_t *__attr, __const struct sched_param *__param) throw ();
extern int pthread_attr_getschedparam (__const pthread_attr_t *__attr, struct sched_param *__param) throw ();
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) throw ();
extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__attr, int *__policy) throw ();
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) throw ();
extern int pthread_attr_getinheritsched (__const pthread_attr_t *__attr, int *__inherit) throw ();
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) throw ();
extern int pthread_attr_getscope (__const pthread_attr_t *__attr, int *__scope) throw ();
extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) throw ();
extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr, size_t *__guardsize) throw ();
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) throw ();
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__attr, void **__stackaddr) throw ();
extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) throw ();
extern int pthread_attr_getstacksize (__const pthread_attr_t *__attr, size_t *__stacksize) throw ();
extern int pthread_setschedparam (pthread_t __target_thread, int __policy, __const struct sched_param *__param) throw ();
extern int pthread_getschedparam (pthread_t __target_thread, int *__policy, struct sched_param *__param) throw ();
extern int pthread_getconcurrency (void) throw ();
extern int pthread_setconcurrency (int __level) throw ();
extern int __pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutex_attr) throw ();
extern int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutex_attr) throw ();
extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw ();
extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw ();
extern int __pthread_mutex_lock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw ();
extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw ();
extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw ();
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw ();
extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw ();
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw ();
extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw ();
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) throw ();
extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__attr, int *__kind) throw ();
# 323 "/usr/include/pthread.h" 3
extern int pthread_cond_init (pthread_cond_t *__cond, __const pthread_condattr_t *__cond_attr) throw ();
extern int pthread_cond_destroy (pthread_cond_t *__cond) throw ();
extern int pthread_cond_signal (pthread_cond_t *__cond) throw ();
extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw ();
extern int pthread_cond_wait (pthread_cond_t *__cond, pthread_mutex_t *__mutex) throw ();
extern int pthread_cond_timedwait (pthread_cond_t *__cond, pthread_mutex_t *__mutex, __const struct timespec *__abstime) throw ();
extern int pthread_condattr_init (pthread_condattr_t *__attr) throw ();
extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw ();
extern int pthread_rwlock_init (pthread_rwlock_t *__rwlock, __const pthread_rwlockattr_t *__attr) throw ();
extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw ();
extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw ();
extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *__attr, int *__pshared) throw ();
extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) throw ();
extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *__attr, int *__pref) throw ();
extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) throw ();
# 420 "/usr/include/pthread.h" 3
extern int __pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw ();
extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) throw ();
extern int pthread_key_delete (pthread_key_t __key) throw ();
extern int __pthread_setspecific (pthread_key_t __key, __const void *__pointer) throw ();
extern int pthread_setspecific (pthread_key_t __key, __const void *__pointer) throw ();
extern void *__pthread_getspecific (pthread_key_t __key) throw ();
extern void *pthread_getspecific (pthread_key_t __key) throw ();
# 445 "/usr/include/pthread.h" 3
extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) throw ();
extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) throw ();
extern int pthread_setcancelstate (int __state, int *__oldstate) throw ();
extern int pthread_setcanceltype (int __type, int *__oldtype) throw ();
extern int pthread_cancel (pthread_t __thread) throw ();
extern void pthread_testcancel (void) throw ();
# 481 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, void (*__routine) (void *), void *__arg) throw ();
# 491 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute) throw ();
# 502 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer, void (*__routine) (void *), void *__arg) throw ();
# 513 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer, int __execute) throw ();
# 1 "/usr/include/bits/sigthread.h" 1 3
# 31 "/usr/include/bits/sigthread.h" 3
extern int pthread_sigmask (int __how, __const __sigset_t *__newmask, __sigset_t *__oldmask) throw ();
extern int pthread_kill (pthread_t __thread, int __signo) throw ();
# 519 "/usr/include/pthread.h" 2 3
# 534 "/usr/include/pthread.h" 3
extern int __pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw ();
extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) throw ();
extern void pthread_kill_other_threads_np (void) throw ();
extern void __pthread_initialize (void) throw ();
}
# 21 "/usr/include/bits/stdio-lock.h" 2 3
typedef pthread_mutex_t _IO_lock_t;
# 169 "../../../../gcc/libstdc++-v3/libio/libio.h" 2 3
# 180 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 197 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
# 272 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
struct _IO_wide_data;
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _blksize;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 319 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
__off64_t _offset;
void *__pad1;
void *__pad2;
int _mode;
char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
};
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 358 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
extern "C" {
extern int __underflow (_IO_FILE *) throw ();
extern int __uflow (_IO_FILE *) throw ();
extern int __overflow (_IO_FILE *, int) throw ();
extern wint_t __wunderflow (_IO_FILE *) throw ();
extern wint_t __wuflow (_IO_FILE *) throw ();
extern wint_t __woverflow (_IO_FILE *, wint_t) throw ();
# 440 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) throw ();
extern int _IO_putc (int __c, _IO_FILE *__fp) throw ();
extern int _IO_feof (_IO_FILE *__fp) throw ();
extern int _IO_ferror (_IO_FILE *__fp) throw ();
extern int _IO_peekc_locked (_IO_FILE *__fp) throw ();
extern void _IO_flockfile (_IO_FILE *) throw ();
extern void _IO_funlockfile (_IO_FILE *) throw ();
extern int _IO_ftrylockfile (_IO_FILE *) throw ();
# 466 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict) throw ();
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list) throw ();
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw ();
extern _G_size_t _IO_sgetn (_IO_FILE *, void *, _G_size_t) throw ();
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw ();
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw ();
extern void _IO_free_backup_area (_IO_FILE *) throw ();
# 508 "../../../../gcc/libstdc++-v3/libio/libio.h" 3
}
# 58 "/usr/include/stdio.h" 2 3
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 110 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 111 "/usr/include/stdio.h" 2 3
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
extern int remove (__const char *__filename) throw ();
extern int rename (__const char *__old, __const char *__new) throw ();
extern FILE *tmpfile (void) throw ();
# 140 "/usr/include/stdio.h" 3
extern FILE *tmpfile64 (void) throw ();
extern char *tmpnam (char *__s) throw ();
extern char *tmpnam_r (char *__s) throw ();
# 160 "/usr/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx) throw ();
extern int fclose (FILE *__stream) throw ();
extern int fflush (FILE *__stream) throw ();
extern int fflush_unlocked (FILE *__stream) throw ();
extern int fcloseall (void) throw ();
extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) throw ();
extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) throw ();
# 203 "/usr/include/stdio.h" 3
extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes) throw ();
extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) throw ();
extern FILE *fdopen (int __fd, __const char *__modes) throw ();
extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) throw ();
extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) throw ();
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) throw ();
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) throw ();
extern void setlinebuf (FILE *__stream) throw ();
extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...) throw ();
extern int printf (__const char *__restrict __format, ...) throw ();
extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) throw ();
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw ();
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg) throw ();
extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw ();
extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) throw ()
__attribute__ ((__format__ (__printf__, 3, 4)));
extern int __vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__printf__, 3, 0)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__printf__, 3, 0)));
extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw ()
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) throw ()
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...) throw ()
__attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...) throw ();
extern int scanf (__const char *__restrict __format, ...) throw ();
extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) throw ();
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__scanf__, 1, 0)));
extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) throw ()
__attribute__ ((__format__ (__scanf__, 2, 0)));
extern int fgetc (FILE *__stream) throw ();
extern int getc (FILE *__stream) throw ();
extern int getchar (void) throw ();
extern int getc_unlocked (FILE *__stream) throw ();
extern int getchar_unlocked (void) throw ();
extern int fgetc_unlocked (FILE *__stream) throw ();
extern int fputc (int __c, FILE *__stream) throw ();
extern int putc (int __c, FILE *__stream) throw ();
extern int putchar (int __c) throw ();
extern int fputc_unlocked (int __c, FILE *__stream) throw ();
extern int putc_unlocked (int __c, FILE *__stream) throw ();
extern int putchar_unlocked (int __c) throw ();
extern int getw (FILE *__stream) throw ();
extern int putw (int __w, FILE *__stream) throw ();
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) throw ();
extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) throw ();
extern char *gets (char *__s) throw ();
# 413 "/usr/include/stdio.h" 3
extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) throw ();
extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) throw ();
extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) throw ();
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream) throw ();
extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream) throw ();
extern int puts (__const char *__s) throw ();
extern int ungetc (int __c, FILE *__stream) throw ();
extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) throw ();
extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s) throw ();
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) throw ();
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) throw ();
extern int fseek (FILE *__stream, long int __off, int __whence) throw ();
extern long int ftell (FILE *__stream) throw ();
extern void rewind (FILE *__stream) throw ();
# 493 "/usr/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) throw ();
extern __off_t ftello (FILE *__stream) throw ();
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) throw ();
extern int fsetpos (FILE *__stream, __const fpos_t *__pos) throw ();
# 527 "/usr/include/stdio.h" 3
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) throw ();
extern __off64_t ftello64 (FILE *__stream) throw ();
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) throw ();
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) throw ();
extern void clearerr (FILE *__stream) throw ();
extern int feof (FILE *__stream) throw ();
extern int ferror (FILE *__stream) throw ();
extern void clearerr_unlocked (FILE *__stream) throw ();
extern int feof_unlocked (FILE *__stream) throw ();
extern int ferror_unlocked (FILE *__stream) throw ();
extern void perror (__const char *__s) throw ();
extern int sys_nerr;
extern __const char *__const sys_errlist[];
extern int _sys_nerr;
extern __const char *__const _sys_errlist[];
extern int fileno (FILE *__stream) throw ();
extern int fileno_unlocked (FILE *__stream) throw ();
extern FILE *popen (__const char *__command, __const char *__modes) throw ();
extern int pclose (FILE *__stream) throw ();
extern char *ctermid (char *__s) throw ();
extern char *cuserid (char *__s) throw ();
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) throw ();
extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) throw ();
# 614 "/usr/include/stdio.h" 3
extern void flockfile (FILE *__stream) throw ();
extern int ftrylockfile (FILE *__stream) throw ();
extern void funlockfile (FILE *__stream) throw ();
# 635 "/usr/include/stdio.h" 3
# 1 "/usr/include/bits/stdio.h" 1 3
# 32 "/usr/include/bits/stdio.h" 3
inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) throw ()
{
return vfprintf (stdout, __fmt, __arg);
}
inline int
getchar (void) throw ()
{
return _IO_getc (stdin);
}
inline int
getc_unlocked (FILE *__fp) throw ()
{
return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}
inline int
getchar_unlocked (void) throw ()
{
return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}
inline int
putchar (int __c) throw ()
{
return _IO_putc (__c, stdout);
}
inline int
fputc_unlocked (int __c, FILE *__stream) throw ()
{
return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
inline int
putc_unlocked (int __c, FILE *__stream) throw ()
{
return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}
inline int
putchar_unlocked (int __c) throw ()
{
return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
inline __ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream) throw ()
{
return __getdelim (__lineptr, __n, '\n', __stream);
}
inline int
feof_unlocked (FILE *__stream) throw ()
{
return (((__stream)->_flags & 0x10) != 0);
}
inline int
ferror_unlocked (FILE *__stream) throw ()
{
return (((__stream)->_flags & 0x20) != 0);
}
# 636 "/usr/include/stdio.h" 2 3
}
# 45 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 2 3
# 94 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdio.h" 3
namespace std
{
using ::FILE;
using ::fpos_t;
extern "C" int remove(const char*);
extern "C" int rename(const char*, const char*);
extern "C" FILE* tmpfile(void);
extern "C" char* tmpnam(char*);
extern "C" int fclose(FILE*);
extern "C" int fflush(FILE*);
extern "C" FILE* fopen(const char*, const char*);
extern "C" FILE* freopen(const char*, const char*, FILE*);
extern "C" void setbuf(FILE*, char*);
extern "C" int setvbuf(FILE*, char*, int, size_t);
extern "C" int fprintf(FILE*, const char*, ...);
extern "C" int fscanf(FILE*, const char*, ...);
extern "C" int printf(const char*, ...);
extern "C" int scanf(const char*, ...);
extern "C" int snprintf(char *, size_t, const char*, ...);
extern "C" int sprintf(char *, const char*, ...);
extern "C" int sscanf(const char*, const char*, ...);
extern "C" int vfprintf(FILE*, const char*, va_list);
extern "C" int vfscanf(FILE*, const char*, va_list);
extern "C" int vprintf(const char*, va_list);
extern "C" int vscanf(const char*, va_list);
extern "C" int vsnprintf(char*, size_t, const char*, va_list);
extern "C" int vsprintf(char*, const char*, va_list);
extern "C" int vsscanf(const char*, const char*, va_list);
extern "C" int fgetc(FILE *);
extern "C" char *fgets(char*, int, FILE*);
extern "C" int fputc(int, FILE*);
extern "C" int fputs(const char*, FILE*);
extern "C" int getc(FILE*);
extern "C" int getchar(void);
extern "C" char *gets(char*);
extern "C" int putc(int, FILE*);
extern "C" int putchar(int);
extern "C" int puts(const char*);
extern "C" int ungetc(int, FILE*);
extern "C" size_t fread(void*, size_t, size_t, FILE*);
extern "C" size_t fwrite(const void*, size_t, size_t, FILE*);
extern "C" int fgetpos(FILE*, fpos_t*);
extern "C" int fseek(FILE*, long int, int);
extern "C" int fsetpos(FILE*, const fpos_t*);
extern "C" long int ftell(FILE*);
extern "C" void rewind(FILE*);
extern "C" void clearerr(FILE*);
extern "C" int feof(FILE*);
extern "C" int ferror(FILE*);
extern "C" void perror(const char*);
}
# 42 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cstdarg.h" 1 3
# 43 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 2 3
# 46 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 27 "/usr/include/wchar.h" 3
# 1 "/usr/include/features.h" 1 3
# 28 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/stdio.h" 1 3
# 32 "/usr/include/wchar.h" 2 3
# 1 "/home/matze/gcc-cvs/gccbin/gcc/include/stddef.h" 1 3
# 39 "/usr/include/wchar.h" 2 3
# 53 "/usr/include/wchar.h" 3
typedef struct
{
int count;
wint_t value;
} mbstate_t;
# 77 "/usr/include/wchar.h" 3
struct tm;
extern "C" {
extern wchar_t *wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw ();
extern wchar_t *wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src, size_t __n) throw ();
extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw ();
extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw ();
# 1 "/usr/include/xlocale.h" 1 3
# 113 "/usr/include/wchar.h" 2 3
extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw ();
extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw ();
extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
extern size_t wcsxfrm (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw ();
# 136 "/usr/include/wchar.h" 3
extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, __locale_t __loc) throw ();
extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, size_t __n, __locale_t __loc) throw ();
extern wchar_t *wcsdup (__const wchar_t *__s) throw ();
extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc) throw ();
extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc) throw ();
extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject) throw ();
extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept) throw ();
extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept) throw ();
extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle) throw ();
# 174 "/usr/include/wchar.h" 3
extern wchar_t *wcstok (wchar_t *__restrict __s, __const wchar_t *__restrict __delim, wchar_t **__restrict __ptr) throw ();
extern size_t __wcslen (__const wchar_t *__s) throw ();
extern size_t wcslen (__const wchar_t *__s) throw ();
extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen) throw ();
extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n) throw ();
extern int wmemcmp (__const wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw ();
extern wchar_t *wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n) throw ();
extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n) throw ();
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
extern wint_t btowc (int __c) throw ();
extern int wctob (wint_t __c) throw ();
extern int mbsinit (__const mbstate_t *__ps) throw ();
extern size_t mbrtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n, mbstate_t *__p) throw ();
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, mbstate_t *__restrict __ps) throw ();
extern size_t __mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw ();
extern size_t mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw ();
extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) throw ()
{ return (__ps != __null
? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
extern size_t mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw ();
extern size_t wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw ();
extern size_t mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw ();
extern size_t wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw ();
# 277 "/usr/include/wchar.h" 3
extern int wcwidth (wint_t __c) throw ();
extern int wcswidth (__const wchar_t *__s, size_t __n) throw ();
extern double wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ();
extern float wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ();
extern long double wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr) throw ();
extern long int wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
__extension__
extern long long int wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
__extension__
extern long long int wcstoll (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int wcstoull (__const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __base) throw ();
# 355 "/usr/include/wchar.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 356 "/usr/include/wchar.h" 2 3
extern long int __wcstol_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw ();
extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw ();
__extension__
extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw ();
__extension__
extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, __locale_t __loc) throw ();
extern double __wcstod_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw ();
extern float __wcstof_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw ();
extern long double __wcstold_l (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, __locale_t __loc) throw ();
extern double __wcstod_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) throw ();
extern float __wcstof_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __group) throw ();
extern long double __wcstold_internal (__const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __group) throw ();
extern long int __wcstol_internal (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) throw ();
extern unsigned long int __wcstoul_internal (__const wchar_t * __restrict __nptr, wchar_t ** __restrict __endptr, int __base, int __group) throw ();
__extension__
extern long long int __wcstoll_internal (__const wchar_t * __restrict __nptr, wchar_t **__restrict __endptr, int __base, int __group) throw ();
__extension__
extern unsigned long long int __wcstoull_internal (__const wchar_t * __restrict __nptr, wchar_t ** __restrict __endptr, int __base, int __group) throw ();
# 443 "/usr/include/wchar.h" 3
extern __inline double wcstod (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ()
{ return __wcstod_internal (__nptr, __endptr, 0); }
extern __inline long int wcstol (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ()
{ return __wcstol_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ()
{ return __wcstoul_internal (__nptr, __endptr, __base, 0); }
extern __inline float wcstof (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ()
{ return __wcstof_internal (__nptr, __endptr, 0); }
extern __inline long double wcstold (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ()
{ return __wcstold_internal (__nptr, __endptr, 0); }
__extension__
extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ()
{ return __wcstoll_internal (__nptr, __endptr, __base, 0); }
__extension__
extern __inline unsigned long long int wcstouq (__const wchar_t *
__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ()
{ return __wcstoull_internal (__nptr, __endptr, __base, 0); }
extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw ();
extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n) throw ();
# 502 "/usr/include/wchar.h" 3
}
# 47 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 2 3
# 62 "../../../../gcc/libstdc++-v3/include/c_std/bits/std_cwchar.h" 3
namespace std
{
using ::mbstate_t;
}
# 41 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/bits/stringfwd.h" 1 3
# 38 "../../../../gcc/libstdc++-v3/include/bits/stringfwd.h" 3
# 1 "../include/bits/c++config.h" 1 3
# 40 "../../../../gcc/libstdc++-v3/include/bits/stringfwd.h" 2 3
namespace std
{
template<class _CharT>
struct char_traits;
template<typename _Alloc>
class allocator;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_string;
typedef basic_string<char> string;
}
# 42 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 2 3
# 1 "../../../../gcc/libstdc++-v3/include/bits/functexcept.h" 1 3
# 34 "../../../../gcc/libstdc++-v3/include/bits/functexcept.h" 3
# 1 "../../../../gcc/libstdc++-v3/libsupc++/exception_defines.h" 1 3
# 35 "../../../../gcc/libstdc++-v3/include/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 43 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 2 3
namespace std
{
template<> class char_traits<char>;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ios;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_streambuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_istream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ostream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_iostream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringbuf;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_istringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_ostringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_filebuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ifstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ofstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_fstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class istreambuf_iterator;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class ostreambuf_iterator;
class ios_base;
template<class _State> struct fpos;
typedef fpos<mbstate_t> streampos;
typedef basic_ios<char> ios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_iostream<char> iostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream;
# 147 "../../../../gcc/libstdc++-v3/include/bits/std_iosfwd.h" 3
}
# 45 "../../../../gcc/libstdc++-v3/include/bits/std_complex.h" 2 3
namespace std
{
template<typename _Tp> class complex;
template<> class complex<float>;
template<> class complex<double>;
template<> class complex<long double>;
template<typename _Tp> _Tp abs(const complex<_Tp>&);
template<typename _Tp> _Tp arg(const complex<_Tp>&);
template<typename _Tp> _Tp norm(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> conj(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> polar(const _Tp&, const _Tp&);
template<typename _Tp> complex<_Tp> cos(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> cosh(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> exp(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> log(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> log10(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, int);
template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&, const _Tp&);
template<typename _Tp> complex<_Tp> pow(const complex<_Tp>&,
const complex<_Tp>&);
template<typename _Tp> complex<_Tp> pow(const _Tp&, const complex<_Tp>&);
template<typename _Tp> complex<_Tp> sin(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> sinh(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> sqrt(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&);
template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&);
template<typename _Tp>
class complex
{
public:
typedef _Tp value_type;
complex(const _Tp& = _Tp(), const _Tp & = _Tp());
template<typename _Up>
complex(const complex<_Up>&);
_Tp real() const;
_Tp imag() const;
complex<_Tp>& operator=(const _Tp&);
complex<_Tp>& operator+=(const _Tp&);
complex<_Tp>& operator-=(const _Tp&);
complex<_Tp>& operator*=(const _Tp&);
complex<_Tp>& operator/=(const _Tp&);
template<typename _Up>
complex<_Tp>& operator=(const complex<_Up>&);
template<typename _Up>
complex<_Tp>& operator+=(const complex<_Up>&);
template<typename _Up>
complex<_Tp>& operator-=(const complex<_Up>&);
template<typename _Up>
complex<_Tp>& operator*=(const complex<_Up>&);
template<typename _Up>
complex<_Tp>& operator/=(const complex<_Up>&);
private:
_Tp _M_real, _M_imag;
};
template<typename _Tp>
inline _Tp
complex<_Tp>::real() const { return _M_real; }
template<typename _Tp>
inline _Tp
complex<_Tp>::imag() const { return _M_imag; }
template<typename _Tp>
inline
complex<_Tp>::complex(const _Tp& __r, const _Tp& __i)
: _M_real(__r), _M_imag(__i) { }
template<typename _Tp>
template<typename _Up>
inline
complex<_Tp>::complex(const complex<_Up>& __z)
: _M_real(__z.real()), _M_imag(__z.imag()) { }
template<typename _Tp>
complex<_Tp>&
complex<_Tp>::operator=(const _Tp& __t)
{
_M_real = __t;
_M_imag = _Tp();
return *this;
}
template<typename _Tp>
inline complex<_Tp>&
complex<_Tp>::operator+=(const _Tp& __t)
{
_M_real += __t;
return *this;
}
template<typename _Tp>
inline complex<_Tp>&
complex<_Tp>::operator-=(const _Tp& __t)
{
_M_real -= __t;
return *this;
}
template<typename _Tp>
complex<_Tp>&
complex<_Tp>::operator*=(const _Tp& __t)
{
_M_real *= __t;
_M_imag *= __t;
return *this;
}
template<typename _Tp>
complex<_Tp>&
complex<_Tp>::operator/=(const _Tp& __t)
{
_M_real /= __t;
_M_imag /= __t;
return *this;
}
template<typename _Tp>
template<typename _Up>
complex<_Tp>&
complex<_Tp>::operator=(const complex<_Up>& __z)
{
_M_real = __z.real();
_M_imag = __z.imag();
return *this;
}
template<typename _Tp>
template<typename _Up>
complex<_Tp>&
complex<_Tp>::operator+=(const complex<_Up>& __z)
{
_M_real += __z.real();
_M_imag += __z.imag();
return *this;
}
template<typename _Tp>
template<typename _Up>
complex<_Tp>&
complex<_Tp>::operator-=(const complex<_Up>& __z)
{
_M_real -= __z.real();
_M_imag -= __z.imag();
return *this;
}
template<typename _Tp>
template<typename _Up>
complex<_Tp>&
complex<_Tp>::operator*=(const complex<_Up>& __z)
{
const _Tp __r = _M_real * __z.real() - _M_imag * __z.imag();
_M_imag = _M_real * __z.imag() + _M_imag * __z.real();
_M_real = __r;
return *this;
}
template<typename _Tp>
template<typename _Up>
complex<_Tp>&
complex<_Tp>::operator/=(const complex<_Up>& __z)
{
const _Tp __r = _M_real * __z.real() + _M_imag * __z.imag();
const _Tp __n = norm(__z);
_M_imag = (_M_real * __z.imag() - _M_imag * __z.real()) / __n;
_M_real = __r / __n;
return *this;
}
template<typename _Tp>
inline complex<_Tp>
operator+(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) += __y; }
template<typename _Tp>
inline complex<_Tp>
operator+(const complex<_Tp>& __x, const _Tp& __y)
{ return complex<_Tp> (__x) += __y; }
template<typename _Tp>
inline complex<_Tp>
operator+(const _Tp& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__y) += __x; }
template<typename _Tp>
inline complex<_Tp>
operator-(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) -= __y; }
template<typename _Tp>
inline complex<_Tp>
operator-(const complex<_Tp>& __x, const _Tp& __y)
{ return complex<_Tp> (__x) -= __y; }
template<typename _Tp>
inline complex<_Tp>
operator-(const _Tp& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) -= __y; }
template<typename _Tp>
inline complex<_Tp>
operator*(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) *= __y; }
template<typename _Tp>
inline complex<_Tp>
operator*(const complex<_Tp>& __x, const _Tp& __y)
{ return complex<_Tp> (__x) *= __y; }
template<typename _Tp>
inline complex<_Tp>
operator*(const _Tp& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__y) *= __x; }
template<typename _Tp>
inline complex<_Tp>
operator/(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) /= __y; }
template<typename _Tp>
inline complex<_Tp>
operator/(const complex<_Tp>& __x, const _Tp& __y)
{ return complex<_Tp> (__x) /= __y; }
template<typename _Tp>
inline complex<_Tp>
operator/(const _Tp& __x, const complex<_Tp>& __y)
{ return complex<_Tp> (__x) /= __y; }
template<typename _Tp>
inline complex<_Tp>
operator+(const complex<_Tp>& __x)
{ return __x; }
template<typename _Tp>
inline complex<_Tp>
operator-(const complex<_Tp>& __x)
{ return complex<_Tp>(-__x.real(), -__x.imag()); }
template<typename _Tp>
inline bool
operator==(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return __x.real() == __y.real() && __x.imag() == __y.imag(); }
template<typename _Tp>
inline bool
operator==(const complex<_Tp>& __x, const _Tp& __y)
{ return __x.real() == __y && __x.imag() == _Tp(); }
template<typename _Tp>
inline bool
operator==(const _Tp& __x, const complex<_Tp>& __y)
{ return __x == __y.real() && _Tp() == __y.imag(); }
template<typename _Tp>
inline bool
operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
{ return __x.real() != __y.real() || __x.imag() != __y.imag(); }
template<typename _Tp>
inline bool
operator!=(const complex<_Tp>& __x, const _Tp& __y)
{ return __x.real() != __y || __x.imag() != _Tp(); }
template<typename _Tp>
inline bool
operator!=(const _Tp& __x, const complex<_Tp>& __y)
{ return __x != __y.real() || _Tp() != __y.imag(); }
template<typename _Tp, typename _CharT, class _Traits>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>&, complex<_Tp>&);
template<typename _Tp, typename _CharT, class _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>&, const complex<_Tp>&);
template<typename _Tp>
inline _Tp
real(const complex<_Tp>& __z)
{ return __z.real(); }
template<typename _Tp>
inline _Tp
imag(const complex<_Tp>& __z)
{ return __z.imag(); }
template<typename _Tp>
inline _Tp
abs(const complex<_Tp>& __z)
{
_Tp __x = __z.real();
_Tp __y = __z.imag();
const _Tp __s = abs(__x) + abs(__y);
if (__s == _Tp())
return __s;
__x /= __s;
__y /= __s;
return __s * sqrt(__x * __x + __y * __y);
}
template<typename _Tp>
inline _Tp
arg(const complex<_Tp>& __z)
{ return atan2(__z.imag(), __z.real()); }
template<typename _Tp>
inline _Tp
norm(const complex<_Tp>& __z)
{
_Tp __res = abs(__z);
return __res * __res;
}
template<typename _Tp>
inline complex<_Tp>
polar(const _Tp& __rho, const _Tp& __theta)
{ return complex<_Tp>(__rho * cos(__theta), __rho * sin(__theta)); }
template<typename _Tp>
inline complex<_Tp>
conj(const complex<_Tp>& __z)
{ return complex<_Tp>(__z.real(), -__z.imag()); }
template<typename _Tp>
inline complex<_Tp>
cos(const complex<_Tp>& __z)
{
const _Tp __x = __z.real();
const _Tp __y = __z.imag();
return complex<_Tp>(cos(__x) * cosh(__y), -sin(__x) * sinh(__y));
}
template<typename _Tp>
inline complex<_Tp>
cosh(const complex<_Tp>& __z)
{
const _Tp __x = __z.real();
const _Tp __y = __z.imag();
return complex<_Tp>(cosh(__x) * cos(__y), sinh(__x) * sin(__y));
}
template<typename _Tp>
inline complex<_Tp>
exp(const complex<_Tp>& __z)
{ return polar(exp(__z.real()), __z.imag()); }
template<typename _Tp>
inline complex<_Tp>
log(const complex<_Tp>& __z)
{ return complex<_Tp>(log(abs(__z)), arg(__z)); }
template<typename _Tp>
inline complex<_Tp>
log10(const complex<_Tp>& __z)
{ return log(__z) / log(_Tp(10.0)); }
template<typename _Tp>
inline complex<_Tp>
sin(const complex<_Tp>& __z)
{
const _Tp __x = __z.real();
const _Tp __y = __z.imag();
return complex<_Tp>(sin(__x) * cosh(__y), cos(__x) * sinh(__y));
}
template<typename _Tp>
inline complex<_Tp>
sinh(const complex<_Tp>& __z)
{
const _Tp __x = __z.real();
const _Tp __y = __z.imag();
return complex<_Tp>(sinh(__x) * cos(__y), cosh(__x) * sin(__y));
}
template<typename _Tp>
complex<_Tp>
sqrt(const complex<_Tp>& __z)
{
_Tp __x = __z.real();
_Tp __y = __z.imag();
if (__x == _Tp())
{
_Tp __t = sqrt(abs(__y) / 2);
return complex<_Tp>(__t, __y < _Tp() ? -__t : __t);
}
else
{
_Tp __t = sqrt(2 * (abs(__z) + abs(__x)));
_Tp __u = __t / 2;
return __x > _Tp()
? complex<_Tp>(__u, __y / __t)
: complex<_Tp>(abs(__y) / __t, __y < _Tp() ? -__u : __u);
}
}
template<typename _Tp>
inline complex<_Tp>
tan(const complex<_Tp>& __z)
{
return sin(__z) / cos(__z);
}
template<typename _Tp>
inline complex<_Tp>
tanh(const complex<_Tp>& __z)
{
return sinh(__z) / cosh(__z);
}
template<typename _Tp>
inline complex<_Tp>
pow(const complex<_Tp>& __z, int __n)
{
return __pow_helper(__z, __n);
}
template<typename _Tp>
inline complex<_Tp>
pow(const complex<_Tp>& __x, const _Tp& __y)
{
return exp(__y * log(__x));
}
template<typename _Tp>
inline complex<_Tp>
pow(const complex<_Tp>& __x, const complex<_Tp>& __y)
{
return exp(__y * log(__x));
}
template<typename _Tp>
inline complex<_Tp>
pow(const _Tp& __x, const complex<_Tp>& __y)
{
return exp(__y * log(__x));
}
template<> class complex<float>
{
public:
typedef float value_type;
complex(float = 0.0f, float = 0.0f);
explicit complex(const complex<double>&);
explicit complex(const complex<long double>&);
float real() const;
float imag() const;
complex<float>& operator=(float);
complex<float>& operator+=(float);
complex<float>& operator-=(float);
complex<float>& operator*=(float);
complex<float>& operator/=(float);
template<typename _Tp>
complex<float>&operator=(const complex<_Tp>&);
template<typename _Tp>
complex<float>& operator+=(const complex<_Tp>&);
template<class _Tp>
complex<float>& operator-=(const complex<_Tp>&);
template<class _Tp>
complex<float>& operator*=(const complex<_Tp>&);
template<class _Tp>
complex<float>&operator/=(const complex<_Tp>&);
private:
typedef __complex__ float _ComplexT;
_ComplexT _M_value;
complex(_ComplexT __z) : _M_value(__z) { }
friend class complex<double>;
friend class complex<long double>;
};
inline float
complex<float>::real() const
{ return __real__ _M_value; }
inline float
complex<float>::imag() const
{ return __imag__ _M_value; }
inline
complex<float>::complex(float r, float i)
{
__real__ _M_value = r;
__imag__ _M_value = i;
}
inline complex<float>&
complex<float>::operator=(float __f)
{
__real__ _M_value = __f;
__imag__ _M_value = 0.0f;
return *this;
}
inline complex<float>&
complex<float>::operator+=(float __f)
{
__real__ _M_value += __f;
return *this;
}
inline complex<float>&
complex<float>::operator-=(float __f)
{
__real__ _M_value -= __f;
return *this;
}
inline complex<float>&
complex<float>::operator*=(float __f)
{
_M_value *= __f;
return *this;
}
inline complex<float>&
complex<float>::operator/=(float __f)
{
_M_value /= __f;
return *this;
}
template<typename _Tp>
inline complex<float>&
complex<float>::operator=(const complex<_Tp>& __z)
{
__real__ _M_value = __z.real();
__imag__ _M_value = __z.imag();
return *this;
}
template<typename _Tp>
inline complex<float>&
complex<float>::operator+=(const complex<_Tp>& __z)
{
__real__ _M_value += __z.real();
__imag__ _M_value += __z.imag();
return *this;
}
template<typename _Tp>
inline complex<float>&
complex<float>::operator-=(const complex<_Tp>& __z)
{
__real__ _M_value -= __z.real();
__imag__ _M_value -= __z.imag();
return *this;
}
template<typename _Tp>
inline complex<float>&
complex<float>::operator*=(const complex<_Tp>& __z)
{
_ComplexT __t;
__real__ __t = __z.real();
__imag__ __t = __z.imag();
_M_value *= __t;
return *this;
}
template<typename _Tp>
inline complex<float>&
complex<float>::operator/=(const complex<_Tp>& __z)
{
_ComplexT __t;
__real__ __t = __z.real();
__imag__ __t = __z.imag();
_M_value /= __t;
return *this;
}
template<> class complex<double>
{
public:
typedef double value_type;
complex(double =0.0, double =0.0);
complex(const complex<float>&);
explicit complex(const complex<long double>&);
double real() const;
double imag() const;
complex<double>& operator=(double);
complex<double>& operator+=(double);
complex<double>& operator-=(double);
complex<double>& operator*=(double);
complex<double>& operator/=(double);
template<typename _Tp>
complex<double>& operator=(const complex<_Tp>&);
template<typename _Tp>
complex<double>& operator+=(const complex<_Tp>&);
template<typename _Tp>
complex<double>& operator-=(const complex<_Tp>&);
template<typename _Tp>
complex<double>& operator*=(const complex<_Tp>&);
template<typename _Tp>
complex<double>& operator/=(const complex<_Tp>&);
private:
typedef __complex__ double _ComplexT;
_ComplexT _M_value;
complex(_ComplexT __z) : _M_value(__z) { }
friend class complex<float>;
friend class complex<long double>;
};
inline double
complex<double>::real() const
{ return __real__ _M_value; }
inline double
complex<double>::imag() const
{ return __imag__ _M_value; }
inline
complex<double>::complex(double __r, double __i)
{
__real__ _M_value = __r;
__imag__ _M_value = __i;
}
inline complex<double>&
complex<double>::operator=(double __d)
{
__real__ _M_value = __d;
__imag__ _M_value = 0.0;
return *this;
}
inline complex<double>&
complex<double>::operator+=(double __d)
{
__real__ _M_value += __d;
return *this;
}
inline complex<double>&
complex<double>::operator-=(double __d)
{
__real__ _M_value -= __d;
return *this;
}
inline complex<double>&
complex<double>::operator*=(double __d)
{
_M_value *= __d;
return *this;
}
inline complex<double>&
complex<double>::operator/=(double __d)
{
_M_value /= __d;
return *this;
}
template<typename _Tp>
inline complex<double>&
complex<double>::operator=(const complex<_Tp>& __z)
{
__real__ _M_value = __z.real();
__imag__ _M_value = __z.imag();
return *this;
}
template<typename _Tp>
inline complex<double>&
complex<double>::operator+=(const complex<_Tp>& __z)
{
__real__ _M_value += __z.real();
__imag__ _M_value += __z.imag();
return *this;
}
template<typename _Tp>
inline complex<double>&
complex<double>::operator-=(const complex<_Tp>& __z)
{
__real__ _M_value -= __z.real();
__imag__ _M_value -= __z.imag();
return *this;
}
template<typename _Tp>
inline complex<double>&
complex<double>::operator*=(const complex<_Tp>& __z)
{
_ComplexT __t;
__real__ __t = __z.real();
__imag__ __t = __z.imag();
_M_value *= __t;
return *this;
}
template<typename _Tp>
inline complex<double>&
complex<double>::operator/=(const complex<_Tp>& __z)
{
_ComplexT __t;
__real__ __t = __z.real();
__imag__ __t = __z.imag();
_M_value /= __t;