# 1 "test.c" # 1 "" # 1 "" # 1 "test.c" # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" 1 #pragma system_header # 38 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" typedef union { long l; unsigned long u; struct { short e; short m; } s; float f; } float16; # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 1 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 3 # 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 3 # 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_typedef.h" 3 typedef short fract16; typedef long fract32; # 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 # 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3 # 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 1 3 4 # 25 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 1 3 4 # 267 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/uClibc_config.h" 1 3 4 # 268 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 2 3 4 # 303 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/cdefs.h" 1 3 4 # 304 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/features.h" 2 3 4 # 26 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4 # 35 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4 # 214 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 3 4 typedef long unsigned int size_t; # 36 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4 # 95 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 147 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; # 185 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 309 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 1 3 4 # 28 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 1 3 4 # 29 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4 # 30 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/kernel_types.h" 1 3 4 # 10 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/kernel_types.h" 3 4 typedef unsigned short __kernel_dev_t; typedef unsigned long __kernel_ino_t; typedef unsigned short __kernel_mode_t; typedef unsigned short __kernel_nlink_t; typedef long __kernel_off_t; typedef int __kernel_pid_t; typedef unsigned short __kernel_ipc_pid_t; typedef unsigned short __kernel_uid_t; typedef unsigned short __kernel_gid_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; typedef long __kernel_time_t; typedef long __kernel_suseconds_t; typedef long __kernel_clock_t; typedef int __kernel_daddr_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef unsigned short __kernel_old_uid_t; typedef unsigned short __kernel_old_gid_t; typedef long long __kernel_loff_t; typedef __kernel_dev_t __kernel_old_dev_t; typedef struct { int __val[2]; } __kernel_fsid_t; # 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short __u_short; typedef unsigned int __u_int; typedef unsigned long __u_long; __extension__ typedef unsigned long long int __u_quad_t; __extension__ typedef long long int __quad_t; # 50 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 3 4 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; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; typedef __quad_t *__qaddr_t; typedef __u_quad_t __dev_t; typedef __u_int __uid_t; typedef __u_int __gid_t; typedef __u_long __ino_t; typedef __u_int __mode_t; typedef __u_int __nlink_t; typedef long int __off_t; typedef __quad_t __loff_t; typedef int __pid_t; typedef long int __ssize_t; typedef __u_long __rlim_t; typedef __u_quad_t __rlim64_t; typedef __u_int __id_t; typedef struct { int __val[2]; } __fsid_t; typedef int __daddr_t; typedef char *__caddr_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __swblk_t; typedef long int __clock_t; typedef int __clockid_t; typedef int __timer_t; typedef int __key_t; typedef __kernel_ipc_pid_t __ipc_pid_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef __quad_t __blkcnt64_t; typedef __u_long __fsblkcnt_t; typedef __u_quad_t __fsblkcnt64_t; typedef __u_long __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; typedef __u_quad_t __ino64_t; typedef __loff_t __off64_t; typedef long int __t_scalar_t; typedef unsigned long int __t_uscalar_t; typedef int __intptr_t; typedef unsigned int __socklen_t; # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sched.h" 1 3 4 # 68 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sched.h" 3 4 struct __sched_param { int __sched_priority; }; # 24 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 2 3 4 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { 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; # 140 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/pthreadtypes.h" 3 4 typedef unsigned long int pthread_t; # 145 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/types.h" 2 3 4 # 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 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; # 61 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 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; # 99 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 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; # 132 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 1 3 4 # 74 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 133 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 # 146 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4 # 147 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 190 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 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__))); # 212 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 1 3 4 # 37 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/endian.h" 2 3 4 # 213 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 1 3 4 # 31 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/select.h" 1 3 4 # 32 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 1 3 4 # 118 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 44 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/time.h" 1 3 4 # 71 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 46 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 2 3 4 typedef long int __fd_mask; typedef struct { __fd_mask __fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 89 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout) ; # 112 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/select.h" 3 4 # 216 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/sysmacros.h" 1 3 4 # 28 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/sysmacros.h" 3 4 __extension__ static __inline unsigned int gnu_dev_major (unsigned long long int __dev) ; __extension__ static __inline unsigned int gnu_dev_minor (unsigned long long int __dev) ; __extension__ static __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) ; __extension__ static __inline unsigned int gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ static __inline unsigned int gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ static __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 219 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 2 3 4 # 230 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/sys/types.h" 3 4 # 318 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; 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) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; # 390 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 1 3 4 # 25 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 3 4 # 1 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/lib/gcc/bfin-uclinux/4.1.1/include/stddef.h" 1 3 4 # 26 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) ; # 484 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); # 497 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); # 529 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; # 568 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern int clearenv (void) ; # 577 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) ; # 588 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template); # 607 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command); # 627 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); 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) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); # 714 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern int rpmatch (__const char *__response) ; # 775 "/usr/local/src/blackfin/toolchains/20061225/out-uclinux/bfin-uclinux/runtime/usr/include/stdlib.h" 3 4 extern int getloadavg (double __loadavg[], int __nelem) ; # 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 2 3 # 133 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3 void *_l1_memcpy(void *datap, const void *instrp, size_t n); void *_memcpy_l1(void *instrp, const void *datap, size_t n); # 156 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/ccblkfn.h" 3 extern int __builtin_bfin_testset(char *); extern void __builtin_bfin_untestset(char *); static __inline void adi_acquire_lock(volatile unsigned short *t) { int tVal; __builtin_bfin_csync(); tVal = __builtin_bfin_testset((char *)t); while ( tVal == 0 ) { __builtin_bfin_csync(); tVal = __builtin_bfin_testset((char *)t); } } static __inline int adi_try_lock(volatile unsigned short *t) { __builtin_bfin_csync(); return __builtin_bfin_testset((char *)t); } static __inline void adi_release_lock(volatile unsigned short *t) { __builtin_bfin_untestset((char *)t); __builtin_bfin_ssync(); } static __inline void claim_atomic_access(volatile unsigned short *t) { adi_acquire_lock(t); } static __inline void release_atomic_access(volatile unsigned short *t) { adi_release_lock(t); } # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 2 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 1 3 #pragma system_header # 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3 # 26 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 3 # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 3 # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 3 # 25 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/raw_typedef.h" 3 typedef char _raw8; typedef short _raw16; typedef int _raw32; typedef int __v2hi __attribute__ ((__mode__ (__V2HI__))); # 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_typedef.h" 2 3 typedef __v2hi raw2x16; # 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_typedef.h" 2 3 typedef raw2x16 fract2x16; typedef fract2x16 fr2x16; # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 2 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 3 # 35 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/r2x16_base.h" 3 static __inline raw2x16 compose_2x16(_raw16 _x, _raw16 _y) { return __builtin_bfin_compose_2x16(_x, _y); } static __inline _raw16 high_of_2x16(raw2x16 _x) { return __builtin_bfin_extract_hi(_x); } static __inline _raw16 low_of_2x16(raw2x16 _x) { return __builtin_bfin_extract_lo(_x); } # 29 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 2 3 # 67 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3 static __inline fract16 sum_fr2x16(fract2x16 _x){ return __builtin_bfin_sum_fr2x16(_x); } # 80 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_base.h" 3 static __inline fract2x16 compose_fr2x16(fract16 _x, fract16 _y) { return compose_2x16(_x,_y); } static __inline fract16 high_of_fr2x16(fract2x16 _x) { return high_of_2x16(_x); } static __inline fract16 low_of_fr2x16(fract2x16 _x) { return low_of_2x16(_x); } # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 2 3 # 41 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3 static __inline fract2x16 abs_fr2x16(fract2x16 _x) { return __builtin_bfin_abs_fr2x16(_x); } static __inline fract2x16 min_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_min_fr2x16(_x, _y); } static __inline fract2x16 max_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_max_fr2x16(_x, _y); } # 65 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fr2x16_math.h" 3 static __inline fract2x16 add_as_fr2x16(fract2x16 x,fract2x16 y) { return __builtin_bfin_dspaddsubsat(x,y); } static __inline fract2x16 add_sa_fr2x16(fract2x16 x,fract2x16 y) { return __builtin_bfin_dspsubaddsat(x,y); } static __inline fract16 diff_hl_fr2x16(fr2x16 x) { return __builtin_bfin_diff_hl_fr2x16(x); } static __inline fract16 diff_lh_fr2x16(fr2x16 x) { return __builtin_bfin_diff_lh_fr2x16(x); } static __inline fract32 mult_ll_fr2x16(fract2x16 _x, fract2x16 _y) { return low_of_fr2x16(_x)*low_of_fr2x16(_y); } static __inline fract32 mult_hl_fr2x16(fract2x16 _x, fract2x16 _y) { return high_of_fr2x16(_x)*low_of_fr2x16(_y); } static __inline fract32 mult_lh_fr2x16(fract2x16 _x, fract2x16 _y) { return low_of_fr2x16(_x)*high_of_fr2x16(_y); } static __inline fract32 mult_hh_fr2x16(fract2x16 _x, fract2x16 _y) { return high_of_fr2x16(_x)*high_of_fr2x16(_y); } # 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 2 3 # 48 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 add_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_add_fr2x16(_x,_y); } static __inline fract16 add_fr1x16(fract16 _x, fract16 _y) { return __builtin_bfin_add_fr1x16(_x,_y); } static __inline fract2x16 sub_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_sub_fr2x16(_x,_y); } static __inline fract16 sub_fr1x16(fract16 _x, fract16 _y) { return __builtin_bfin_sub_fr1x16(_x,_y); } static __inline fract2x16 mult_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_mult_fr2x16(_x,_y); } static __inline fract16 mult_fr1x16(fract16 _x, fract16 _y) { return __builtin_bfin_mult_fr1x16(_x,_y); } static __inline fract2x16 multr_fr2x16(fract2x16 _x, fract2x16 _y) { return __builtin_bfin_multr_fr2x16(_x,_y); } static __inline fract16 multr_fr1x16(fract16 _x, fract16 _y) { return __builtin_bfin_multr_fr1x16(_x,_y); } static __inline fract2x16 negate_fr2x16(fract2x16 _x) { return __builtin_bfin_negate_fr2x16(_x); } static __inline fract16 negate_fr1x16(fract16 _x) { return __builtin_bfin_negate_fr1x16(_x); } # 112 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 shl_fr2x16(fract2x16 _x, short _y) { return __builtin_bfin_shl_fr2x16(_x,_y); } # 125 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 shl_fr2x16_clip(fract2x16 _x, short _y) { _y = _y > 15 ? 15 : _y; _y = _y < -16 ? -16 : _y; return __builtin_bfin_shl_fr2x16(_x,_y); } # 140 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 shl_fr1x16(fract16 _x, short _y) { return __builtin_bfin_shl_fr1x16(_x,_y); } # 150 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 shl_fr1x16_clip(fract16 _x, short _y) { _y = _y > 15 ? 15 : _y; _y = _y < -16 ? -16 : _y; return __builtin_bfin_shl_fr1x16(_x,_y); } # 169 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 shr_fr2x16(fract2x16 _x, short _y) { return __builtin_bfin_shl_fr2x16(_x,-_y); } # 180 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 shr_fr2x16_clip(fract2x16 _x, short _y) { _y = _y > 16 ? 16 : _y; _y = _y < -15 ? -15 : _y; return __builtin_bfin_shl_fr2x16 (_x,-_y); } # 195 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 shr_fr1x16(fract16 _x, short _y) { return __builtin_bfin_shl_fr1x16(_x,-_y); } # 205 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 shr_fr1x16_clip(fract16 _x, short _y) { _y = _y > 16 ? 16 : _y; _y = _y < -15 ? -15 : _y; return __builtin_bfin_shl_fr1x16(_x,-_y); } # 219 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract2x16 shrl_fr2x16(fract2x16 _x, short _y) { return __builtin_bfin_lshl_fr2x16(_x,-_y); } static __inline fract2x16 shrl_fr2x16_clip(fract2x16 _x, short _y) { _y = _y > 16 ? 16 : _y; _y = _y < -15 ? -15 : _y; return __builtin_bfin_lshl_fr2x16 (_x,-_y); } # 242 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 shrl_fr1x16(fract16 _x, short _y) { return __builtin_bfin_lshl_fr1x16(_x,-_y); } static __inline fract16 shrl_fr1x16_clip(fract16 _x, short _y) { _y = _y > 16 ? 16 : _y; _y = _y < -15 ? -15 : _y; return __builtin_bfin_lshl_fr1x16 (_x,-_y); } # 267 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract32 add_fr1x32(fract32 _x, fract32 _y) { return __builtin_bfin_add_fr1x32(_x,_y); } static __inline fract32 sub_fr1x32(fract32 _x, fract32 _y) { return __builtin_bfin_sub_fr1x32(_x,_y); } static __inline fract32 mult_fr1x32x32(fract32 _x, fract32 _y) { return __builtin_bfin_mult_fr1x32x32(_x,_y); } static __inline fract32 mult_fr1x32x32NS(fract32 _x, fract32 _y) { return __builtin_bfin_mult_fr1x32x32NS(_x,_y); } static __inline fract32 abs_fr1x32(fract32 _x) { return __builtin_bfin_abs_fr1x32(_x); } static __inline fract32 __builtin_bfin_negate_fr1x32(fract32 _x) { return __builtin_bfin_sub_fr1x32(0, _x); } static __inline fract32 negate_fr1x32(fract32 _x) { return __builtin_bfin_sub_fr1x32(0, _x); } static __inline fract32 min_fr1x32(fract32 _x, fract32 _y) { return __builtin_bfin_min_fr1x32(_x,_y); } static __inline fract32 max_fr1x32(fract32 _x, fract32 _y) { return __builtin_bfin_max_fr1x32(_x,_y); } # 319 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract32 shl_fr1x32(fract32 _x, short _y) { return __builtin_bfin_shl_fr1x32(_x,_y); } # 329 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract32 shl_fr1x32_clip(fract32 _x, short _y) { return __builtin_bfin_shl_fr1x32_clip(_x,_y); } # 340 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract32 shr_fr1x32(fract32 _x, short _y) { return __builtin_bfin_shr_fr1x32(_x,_y); } # 350 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract32 shr_fr1x32_clip(fract32 _x, short _y) { return __builtin_bfin_shr_fr1x32_clip(_x,_y); } static __inline fract32 mult_fr1x32(fract16 _x, fract16 _y) { return __builtin_bfin_mult_fr1x32(_x,_y); } # 365 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline fract16 __builtin_bfin_sat_fr1x32(fract32 _x) { return shl_fr1x32(_x,16)>>16;} static __inline fract16 sat_fr1x32(fract32 _x) { return shl_fr1x32(_x,16)>>16;} static __inline fract16 round_fr1x32(fract32 _x) { return __builtin_bfin_round_fr1x32(_x); } # 388 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline int norm_fr1x32(fract32 _x) { return __builtin_bfin_norm_fr1x32(_x); } # 401 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract_math.h" 3 static __inline int norm_fr1x16(fract16 _x) { return __builtin_bfin_norm_fr1x16(_x); } static __inline fract16 trunc_fr1x32(fract32 _x) { return _x>>16; } static __inline fract16 abs_fr16 (fract16 _x) { return __builtin_bfin_abs_fr1x16 (_x); } static __inline fract16 abs_fr1x16 (fract16 _x) { return __builtin_bfin_abs_fr1x16(_x); } static __inline fract16 max_fr16 (fract16 _x, fract16 _y) { return __builtin_bfin_max_fr1x16 (_x, _y); } static __inline fract16 min_fr16 (fract16 _x, fract16 _y) { return __builtin_bfin_min_fr1x16 (_x, _y); } # 27 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3 # 1 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 1 3 # 4 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 3 # 31 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract2float_conv.h" 3 static __inline fract32 fr16_to_fr32(fract16 _x) { return ((fract32)(_x)) << 16; } static __inline fract16 fr32_to_fr16(fract32 _x) { return (fract16)(_x >> 16); } float fr32_to_float (fract32); fract32 float_to_fr32 (float); static __inline float fr16_to_float(fract16 _x) { return fr32_to_float(fr16_to_fr32(_x)); } static __inline fract16 float_to_fr16(float _x) { return fr32_to_fr16(float_to_fr32(_x)); } # 28 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/fract.h" 2 3 # 51 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" 2 # 82 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" __inline float16 fr16_to_fl16(fract16 fr) { float16 fl = { 0 }; if (fr) { short exp = norm_fr1x16(fr); fl.s.e = -exp; fl.s.m = fr << exp; } return fl; } __inline fract16 fl16_to_fr16(float16 fl) { fract16 fr = fl.s.m; short exp = fl.s.e; return shl_fr1x16(fr, exp); } static __inline float16 norm_fl16(float16 fl) { if (fl.s.m) { short exp = norm_fr1x16(fl.s.m); fl.s.m <<= exp; fl.s.e -= exp; } else { fl.s.e = 0; } return fl; } __inline float16 add_fl16(float16 x, float16 y) { int d = x.s.e - y.s.e; float16 fl = x, a = y; int xneg = x.l < 0; int yneg = y.l < 0; if (d < 0) { fl = y; a = x; } d = abs_fr1x32(d); fl.s.m += a.s.m >> d; if (xneg == yneg && xneg != (fl.l < 0)) { fl.s.m >>= 1; fl.s.m &= 0x7fff; fl.s.m |= xneg << 15; fl.s.e++; } else if (fl.s.m) { short exp = norm_fr1x16(fl.s.m); fl.s.m <<= exp; fl.s.e -= exp; } else { fl.s.e = 0; } return fl; } __inline float16 sub_fl16(float16 x, float16 y) { int d = x.s.e - y.s.e; float16 fl = x, a = y; int xneg = x.l < 0; int yneg = y.l < 0; if (d < 0) { d = -d; fl.s.m >>= d; fl.s.e += d; } else { a.s.m >>= d; } fl.s.m -= a.s.m; if (xneg != yneg && yneg == (fl.l < 0)) { fl.s.m >>= 1; fl.s.m &= 0x7fff; fl.s.m |= xneg << 15; fl.s.e++; } else if (fl.s.m) { short exp = norm_fr1x16(fl.s.m); fl.s.m <<= exp; fl.s.e -= exp; } else { fl.s.e = 0; } return fl; } __inline float16 mul_fl16(float16 x, float16 y) { float16 fl; fl.s.e = x.s.e + y.s.e; fl.s.m = mult_fr1x16(x.s.m, y.s.m); if (fl.s.m) { short exp = norm_fr1x16(fl.s.m); fl.s.m <<= exp; fl.s.e -= exp; } else { fl.s.e = 0; } return fl; } __inline float16 div_fl16(float16 x, float16 y) { int i; int niters = 15; const long one = 0x40000001; float16 fl; int xneg = x.l < 0; int yneg = y.l < 0; unsigned short r = 0; unsigned short d = x.s.m; unsigned short q = y.s.m; if (y.l == 0) { fl.l=0x00008000; return fl; } if (y.l == one) return x; if (x.l == y.l) { fl.l = one; return fl; } fl.s.e = x.s.e - y.s.e; if (xneg) d = -d; if (yneg) q = -q; for (i = 0; i < niters; i++) { if (q <= d) { d -= q; r |= 1; } d <<= 1; r <<= 1; } d = r; if (d & 0x8000) { d >>= 1; d &= 0x7fff; fl.s.e++; } if (xneg != yneg) d = -d; fl.s.m = d; if (fl.s.m) { short exp = norm_fr1x16(fl.s.m); fl.s.m <<= exp; fl.s.e -= exp; } else { fl.s.e = 0; } return fl; } __inline float16 negate_fl16(float16 fl) { # 262 "/usr/local/src/blackfin/svn/uclinux-dist/trunk/lib/libbfdsp/include/float16.h" fl.s.m = -fl.s.m; return fl; } __inline float16 abs_fl16(float16 fl) { fl.s.m = abs_fr1x16(fl.s.m); return fl; } __inline int cmp_fl16(float16 x, float16 y) { int neg = 0; int res; short resl, resh; int xneg = x.l < 0; int yneg = y.l < 0; if (xneg == yneg) neg = xneg; else return (xneg << 31) | 1; resh = sub_fr1x16(x.s.m, y.s.m); resl = sub_fr1x16(x.s.e, y.s.e); if (resl == 0) resl = resh; res = resl; if (neg) res = -res; return res; } __inline float16 fl_to_fl16(float f) { float16 fl; unsigned long sign, uexp; long exp; fl.f = f; if ((fl.u << 1) == 0) { fl.u = 0; return fl; } sign = (fl.u >> 31) << 31; uexp = (fl.u << 1) >> 24; exp = uexp - 127; exp += 1; fl. u |= (1<<23); fl.u <<= 8; fl.u >>= 1; fl.s.e = exp; if (sign) fl.s.m = -fl.s.m; return fl; } __inline int fits_in_fl16(float f) { float16 fl; fl.f = f; return (fl.u & 0xff) == 0; } __inline float fl16_to_fl(float16 fl) { unsigned long exp, sign; if (fl.u == 0) return fl.f; sign = (fl.u >> 31) << 31; exp = (fl.s.e + 127 - 1); if ((fl.s.m & 0xffff) == 0x8000) { fl.s.m = 0x4000; exp++; } else if (sign) { fl.s.m = -fl.s.m; } fl.s.e = 0; fl.u <<= 2; fl.u >>= 9; exp <<= 23; fl.u = sign | exp | fl.u; return fl.f; } # 1 "test.c" 2