From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27835 invoked by alias); 9 Apr 2003 22:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 27791 invoked by uid 71); 9 Apr 2003 22:36:01 -0000 Date: Wed, 09 Apr 2003 22:36:00 -0000 Message-ID: <20030409223601.27788.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Yuri Urazov Subject: Re: c/10365: Seems like bug in code generator on Sun Sparc (Sol;aris 8) platform Reply-To: Yuri Urazov X-SW-Source: 2003-04/txt/msg00400.txt.bz2 List-Id: The following reply was made to PR c/10365; it has been noted by GNATS. From: Yuri Urazov To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org Cc: Subject: Re: c/10365: Seems like bug in code generator on Sun Sparc (Sol;aris 8) platform Date: Wed, 9 Apr 2003 15:34:47 -0700 (PDT) --0-950081385-1049927687=:98732 Content-Type: text/plain; charset=us-ascii Content-Id: Content-Disposition: inline I am resending those .i files individually --------------------------- I have attached two .i files in original filing, actually they are in ifiles.tar.gz I am sending the files again. If this is not what you expected I apologize that I am that stupid and ask you to send me a list of what you want. Regards, Yuri --- bangerth@dealii.org wrote: > Synopsis: Seems like bug in code generator on Sun > Sparc (Sol;aris 8) platform > > State-Changed-From-To: open->feedback > State-Changed-By: bangerth > State-Changed-When: Wed Apr 9 21:01:00 2003 > State-Changed-Why: > We need some preprocessed sources to reproduce > the problem. > Please review > http://gcc.gnu.org/bugs.html > to see what exactly we need. > > Regards > Wolfgang > > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10365 __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com --0-950081385-1049927687=:98732 Content-Type: text/plain; name="test_static.i" Content-Description: test_static.i Content-Disposition: inline; filename="test_static.i" # 1 "test_static.c" # 1 "" # 1 "" # 1 "test_static.c" # 1 "test.c" 1 # 20 "test.c" # 1 "../config.h" 1 # 21 "test.c" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 16 "/usr/include/stdlib.h" 3 4 #pragma ident "@(#)stdlib.h 1.47 99/11/03 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/iso/stdlib_iso.h" 1 3 4 # 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/iso/stdlib_iso.h" 3 4 #pragma ident "@(#)stdlib_iso.h 1.2 99/12/21 SMI" # 1 "/usr/include/sys/feature_tests.h" 1 3 4 # 13 "/usr/include/sys/feature_tests.h" 3 4 #pragma ident "@(#)feature_tests.h 1.18 99/07/26 SMI" # 1 "/usr/include/sys/isa_defs.h" 1 3 4 # 9 "/usr/include/sys/isa_defs.h" 3 4 #pragma ident "@(#)isa_defs.h 1.20 99/05/04 SMI" # 16 "/usr/include/sys/feature_tests.h" 2 3 4 # 40 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/iso/stdlib_iso.h" 2 3 4 extern unsigned char __ctype[]; # 57 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/iso/stdlib_iso.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; typedef unsigned int size_t; # 96 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/iso/stdlib_iso.h" 3 4 typedef long wchar_t; extern void abort(void); extern int abs(int); extern int atexit(void (*)(void)); extern double atof(const char *); extern int atoi(const char *); extern long int atol(const char *); extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); extern void *calloc(size_t, size_t); extern div_t div(int, int); extern void exit(int); extern void free(void *); extern char *getenv(const char *); extern long int labs(long); extern ldiv_t ldiv(long, long); extern void *malloc(size_t); extern int mblen(const char *, size_t); extern size_t mbstowcs(wchar_t *, const char *, size_t); extern int mbtowc(wchar_t *, const char *, size_t); extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); extern int rand(void); extern void *realloc(void *, size_t); extern void srand(unsigned int); extern double strtod(const char *, char **); extern long int strtol(const char *, char **, int); extern unsigned long int strtoul(const char *, char **, int); extern int system(const char *); extern int wctomb(char *, wchar_t); extern size_t wcstombs(char *, const wchar_t *, size_t); # 19 "/usr/include/stdlib.h" 2 3 4 # 68 "/usr/include/stdlib.h" 3 4 typedef struct { long long quot; long long rem; } lldiv_t; typedef long uid_t; # 112 "/usr/include/stdlib.h" 3 4 extern void _exithandle(void); extern double drand48(void); extern double erand48(unsigned short *); extern long jrand48(unsigned short *); extern void lcong48(unsigned short *); extern long lrand48(void); extern long mrand48(void); extern long nrand48(unsigned short *); extern unsigned short *seed48(unsigned short *); extern void srand48(long); extern int putenv(char *); extern void setkey(const char *); # 140 "/usr/include/stdlib.h" 3 4 typedef int ssize_t; extern void swab(const char *, char *, ssize_t); extern int mkstemp(char *); extern int mkstemp64(char *); extern long a64l(const char *); extern char *ecvt(double, int, int *, int *); extern char *fcvt(double, int, int *, int *); extern char *gcvt(double, int, char *); extern int getsubopt(char **, char *const *, char **); extern int grantpt(int); extern char *initstate(unsigned, char *, size_t); extern char *l64a(long); extern char *mktemp(char *); extern char *ptsname(int); extern long random(void); extern char *realpath(const char *, char *); extern char *setstate(const char *); extern void srandom(unsigned); extern int ttyslot(void); extern int unlockpt(int); extern void *valloc(size_t); extern int dup2(int, int); extern char *qecvt(long double, int, int *, int *); extern char *qfcvt(long double, int, int *, int *); extern char *qgcvt(long double, int, char *); extern char *getcwd(char *, size_t); extern const char *getexecname(void); extern char *getlogin(void); extern int getopt(int, char *const *, const char *); extern char *optarg; extern int optind, opterr, optopt; extern char *getpass(const char *); extern char *getpassphrase(const char *); extern int getpw(uid_t, char *); extern int isatty(int); extern void *memalign(size_t, size_t); extern char *ttyname(int); extern long long atoll(const char *); extern long long llabs(long long); extern lldiv_t lldiv(long long, long long); extern char *lltostr(long long, char *); extern long long strtoll(const char *, char **, int); extern unsigned long long strtoull(const char *, char **, int); extern char *ulltostr(unsigned long long, char *); # 27 "test.c" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 16 "/usr/include/fcntl.h" 3 4 #pragma ident "@(#)fcntl.h 1.14 97/12/05 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 1 3 4 # 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 #pragma ident "@(#)types.h 1.68 02/06/10 SMI" # 1 "/usr/include/sys/machtypes.h" 1 3 4 # 16 "/usr/include/sys/machtypes.h" 3 4 #pragma ident "@(#)machtypes.h 1.13 99/05/04 SMI" # 33 "/usr/include/sys/machtypes.h" 3 4 typedef struct _label_t { long val[2]; } label_t; typedef unsigned char lock_t; # 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 2 3 4 # 45 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 # 1 "/usr/include/sys/int_types.h" 1 3 4 # 9 "/usr/include/sys/int_types.h" 3 4 #pragma ident "@(#)int_types.h 1.6 97/08/20 SMI" # 62 "/usr/include/sys/int_types.h" 3 4 typedef char int8_t; typedef short int16_t; typedef int int32_t; typedef long long int64_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; # 94 "/usr/include/sys/int_types.h" 3 4 typedef int64_t intmax_t; typedef uint64_t uintmax_t; # 110 "/usr/include/sys/int_types.h" 3 4 typedef int intptr_t; typedef unsigned int uintptr_t; typedef char int_least8_t; typedef short int_least16_t; typedef int int_least32_t; typedef long long int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short uint_least16_t; typedef unsigned int uint_least32_t; typedef unsigned long long uint_least64_t; # 46 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 2 3 4 # 62 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef long long longlong_t; typedef unsigned long long u_longlong_t; # 85 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef long t_scalar_t; typedef unsigned long t_uscalar_t; typedef unsigned char uchar_t; typedef unsigned short ushort_t; typedef unsigned int uint_t; typedef unsigned long ulong_t; typedef char *caddr_t; typedef long daddr_t; typedef short cnt_t; typedef ulong_t paddr_t; # 118 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef int ptrdiff_t; # 127 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef ulong_t pfn_t; typedef ulong_t pgcnt_t; typedef long spgcnt_t; typedef uchar_t use_t; typedef short sysid_t; typedef short index_t; typedef void *timeout_id_t; typedef void *bufcall_id_t; # 149 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef long off_t; # 158 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef longlong_t off64_t; typedef ulong_t ino_t; typedef long blkcnt_t; typedef ulong_t fsblkcnt_t; typedef ulong_t fsfilcnt_t; # 183 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef u_longlong_t ino64_t; typedef longlong_t blkcnt64_t; typedef u_longlong_t fsblkcnt64_t; typedef u_longlong_t fsfilcnt64_t; typedef long blksize_t; typedef enum { B_FALSE, B_TRUE } boolean_t; # 210 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef int64_t pad64_t; typedef uint64_t upad64_t; # 223 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef longlong_t offset_t; typedef u_longlong_t u_offset_t; typedef u_longlong_t len_t; typedef longlong_t diskaddr_t; # 244 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef union { offset_t _f; struct { int32_t _u; int32_t _l; } _p; } lloff_t; # 264 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef union { diskaddr_t _f; struct { int32_t _u; int32_t _l; } _p; } lldaddr_t; typedef uint_t k_fltset_t; # 287 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef long id_t; typedef uint_t useconds_t; typedef long suseconds_t; # 308 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef ulong_t major_t; typedef ulong_t minor_t; typedef short pri_t; # 328 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef ushort_t o_mode_t; typedef short o_dev_t; typedef ushort_t o_uid_t; typedef o_uid_t o_gid_t; typedef short o_nlink_t; typedef short o_pid_t; typedef ushort_t o_ino_t; typedef int key_t; typedef ulong_t mode_t; # 356 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef uid_t gid_t; typedef id_t taskid_t; typedef id_t projid_t; typedef uint_t pthread_t; typedef uint_t pthread_key_t; typedef struct _pthread_mutex { struct { uint16_t __pthread_mutex_flag1; uint8_t __pthread_mutex_flag2; uint8_t __pthread_mutex_ceiling; uint16_t __pthread_mutex_type; uint16_t __pthread_mutex_magic; } __pthread_mutex_flags; union { struct { uint8_t __pthread_mutex_pad[8]; } __pthread_mutex_lock64; struct { uint32_t __pthread_ownerpid; uint32_t __pthread_lockword; } __pthread_mutex_lock32; upad64_t __pthread_mutex_owner64; } __pthread_mutex_lock; upad64_t __pthread_mutex_data; } pthread_mutex_t; typedef struct _pthread_cond { struct { uint8_t __pthread_cond_flag[4]; uint16_t __pthread_cond_type; uint16_t __pthread_cond_magic; } __pthread_cond_flags; upad64_t __pthread_cond_data; } pthread_cond_t; typedef struct _pthread_rwlock { int32_t __pthread_rwlock_readers; uint16_t __pthread_rwlock_type; uint16_t __pthread_rwlock_magic; upad64_t __pthread_rwlock_pad1[3]; upad64_t __pthread_rwlock_pad2[2]; upad64_t __pthread_rwlock_pad3[2]; } pthread_rwlock_t; typedef struct _pthread_attr { void *__pthread_attrp; } pthread_attr_t; typedef struct _pthread_mutexattr { void *__pthread_mutexattrp; } pthread_mutexattr_t; typedef struct _pthread_condattr { void *__pthread_condattrp; } pthread_condattr_t; typedef struct _once { upad64_t __pthread_once_pad[4]; } pthread_once_t; typedef struct _pthread_rwlockattr { void *__pthread_rwlockattrp; } pthread_rwlockattr_t; typedef ulong_t dev_t; typedef ulong_t nlink_t; typedef long pid_t; # 485 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef long time_t; typedef long clock_t; typedef int clockid_t; typedef int timer_t; typedef unsigned char unchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; # 561 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 3 4 typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef struct _quad { int val[2]; } quad_t; typedef quad_t quad; # 1 "/usr/include/sys/select.h" 1 3 4 # 12 "/usr/include/sys/select.h" 3 4 #pragma ident "@(#)select.h 1.16 98/04/27 SMI" # 1 "/usr/include/sys/time.h" 1 3 4 # 22 "/usr/include/sys/time.h" 3 4 #pragma ident "@(#)time.h 2.66 01/01/17 SMI" # 49 "/usr/include/sys/time.h" 3 4 struct timeval { time_t tv_sec; suseconds_t tv_usec; }; # 82 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; # 100 "/usr/include/sys/time.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 1 3 4 # 101 "/usr/include/sys/time.h" 2 3 4 # 155 "/usr/include/sys/time.h" 3 4 struct itimerval { struct timeval it_interval; struct timeval it_value; }; # 203 "/usr/include/sys/time.h" 3 4 typedef longlong_t hrtime_t; # 320 "/usr/include/sys/time.h" 3 4 int adjtime(struct timeval *, struct timeval *); # 331 "/usr/include/sys/time.h" 3 4 int getitimer(int, struct itimerval *); int utimes(const char *, const struct timeval *); int setitimer(int, struct itimerval *, struct itimerval *); # 369 "/usr/include/sys/time.h" 3 4 int settimeofday(struct timeval *, void *); hrtime_t gethrtime(void); hrtime_t gethrvtime(void); # 389 "/usr/include/sys/time.h" 3 4 int gettimeofday(struct timeval *, void *); # 410 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 16 "/usr/include/time.h" 3 4 #pragma ident "@(#)time.h 1.39 99/08/10 SMI" # 1 "/usr/include/iso/time_iso.h" 1 3 4 # 28 "/usr/include/iso/time_iso.h" 3 4 #pragma ident "@(#)time_iso.h 1.1 99/08/09 SMI" # 69 "/usr/include/iso/time_iso.h" 3 4 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; }; extern char *asctime(const struct tm *); extern clock_t clock(void); extern char *ctime(const time_t *); extern double difftime(time_t, time_t); extern struct tm *gmtime(const time_t *); extern struct tm *localtime(const time_t *); extern time_t mktime(struct tm *); extern time_t time(time_t *); extern size_t strftime(char *, size_t, const char *, const struct tm *); # 21 "/usr/include/time.h" 2 3 4 # 67 "/usr/include/time.h" 3 4 extern char *strptime(const char *, const char *, struct tm *); # 83 "/usr/include/time.h" 3 4 # 1 "/usr/include/sys/time_impl.h" 1 3 4 # 15 "/usr/include/sys/time_impl.h" 3 4 #pragma ident "@(#)time_impl.h 1.5 99/10/05 SMI" # 36 "/usr/include/sys/time_impl.h" 3 4 typedef struct timespec { time_t tv_sec; long tv_nsec; } timespec_t; # 60 "/usr/include/sys/time_impl.h" 3 4 typedef struct timespec timestruc_t; # 79 "/usr/include/sys/time_impl.h" 3 4 typedef struct itimerspec { struct timespec it_interval; struct timespec it_value; } itimerspec_t; # 84 "/usr/include/time.h" 2 3 4 # 98 "/usr/include/time.h" 3 4 union sigval { int sival_int; void *sival_ptr; }; struct sigevent { int sigev_notify; int sigev_signo; union sigval sigev_value; void (*sigev_notify_function)(union sigval); pthread_attr_t *sigev_notify_attributes; int __sigev_pad2; }; extern int clock_getres(clockid_t, struct timespec *); extern int clock_gettime(clockid_t, struct timespec *); extern int clock_settime(clockid_t, const struct timespec *); extern int timer_create(clockid_t, struct sigevent *, timer_t *); extern int timer_delete(timer_t); extern int timer_getoverrun(timer_t); extern int timer_gettime(timer_t, struct itimerspec *); extern int timer_settime(timer_t, int, const struct itimerspec *, struct itimerspec *); extern int nanosleep(const struct timespec *, struct timespec *); extern void tzset(void); extern char *tzname[2]; extern long _sysconf(int); extern long timezone; extern int daylight; extern int cftime(char *, char *, const time_t *); extern int ascftime(char *, const char *, const struct tm *); extern long altzone; extern struct tm *getdate(const char *); extern int getdate_err; # 411 "/usr/include/sys/time.h" 2 3 4 # 423 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 424 "/usr/include/sys/time.h" 2 3 4 # 18 "/usr/include/sys/select.h" 2 3 4 # 45 "/usr/include/sys/select.h" 3 4 typedef long fd_mask; typedef long fds_mask; # 73 "/usr/include/sys/select.h" 3 4 typedef struct fd_set { long fds_bits[(((1024)+(((sizeof (fds_mask) * 8))-1))/((sizeof (fds_mask) * 8)))]; } fd_set; # 97 "/usr/include/sys/select.h" 3 4 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); # 574 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/types.h" 2 3 4 # 24 "/usr/include/fcntl.h" 2 3 4 # 1 "/usr/include/sys/fcntl.h" 1 3 4 # 16 "/usr/include/sys/fcntl.h" 3 4 #pragma ident "@(#)fcntl.h 1.45 98/07/17 SMI" # 164 "/usr/include/sys/fcntl.h" 3 4 typedef struct flock { short l_type; short l_whence; off_t l_start; off_t l_len; int l_sysid; pid_t l_pid; long l_pad[4]; } flock_t; # 194 "/usr/include/sys/fcntl.h" 3 4 typedef struct flock64 { short l_type; short l_whence; off64_t l_start; off64_t l_len; int l_sysid; pid_t l_pid; long l_pad[4]; } flock64_t; # 272 "/usr/include/sys/fcntl.h" 3 4 typedef struct fshare { short f_access; short f_deny; int f_id; } fshare_t; # 25 "/usr/include/fcntl.h" 2 3 4 # 72 "/usr/include/fcntl.h" 3 4 extern int fcntl(int, int, ...); extern int open(const char *, int, ...); extern int creat(const char *, mode_t); extern int directio(int, int); extern int open64(const char *, int, ...); extern int creat64(const char *, mode_t); # 28 "test.c" 2 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 1 3 4 # 14 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdarg.h" 1 3 4 # 43 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 15 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 2 3 4 # 34 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 #pragma ident "@(#)stdio.h 1.78 99/12/08 SMI" # 1 "/usr/include/iso/stdio_iso.h" 1 3 4 # 32 "/usr/include/iso/stdio_iso.h" 3 4 #pragma ident "@(#)stdio_iso.h 1.2 99/10/25 SMI" # 1 "/usr/include/sys/va_list.h" 1 3 4 # 9 "/usr/include/sys/va_list.h" 3 4 #pragma ident "@(#)va_list.h 1.12 99/05/04 SMI" # 26 "/usr/include/sys/va_list.h" 3 4 typedef void *__va_list; # 37 "/usr/include/iso/stdio_iso.h" 2 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio_tag.h" 1 3 4 # 18 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio_tag.h" 3 4 #pragma ident "@(#)stdio_tag.h 1.3 98/04/20 SMI" # 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio_tag.h" 3 4 typedef struct __FILE __FILE; # 38 "/usr/include/iso/stdio_iso.h" 2 3 4 # 1 "/usr/include/stdio_impl.h" 1 3 4 # 9 "/usr/include/stdio_impl.h" 3 4 #pragma ident "@(#)stdio_impl.h 1.8 99/06/10 SMI" # 38 "/usr/include/stdio_impl.h" 3 4 struct __FILE { ssize_t _cnt; unsigned char *_ptr; unsigned char *_base; unsigned char _flag; unsigned char _file; unsigned __orientation:2; unsigned __ionolock:1; unsigned __filler:5; }; # 39 "/usr/include/iso/stdio_iso.h" 2 3 4 # 59 "/usr/include/iso/stdio_iso.h" 3 4 typedef long long __longlong_t; # 75 "/usr/include/iso/stdio_iso.h" 3 4 typedef __FILE FILE; # 88 "/usr/include/iso/stdio_iso.h" 3 4 typedef long fpos_t; # 147 "/usr/include/iso/stdio_iso.h" 3 4 extern __FILE __iob[20]; # 164 "/usr/include/iso/stdio_iso.h" 3 4 extern int remove(const char *); extern int rename(const char *, const char *); extern FILE *tmpfile(void); extern char *tmpnam(char *); extern int fclose(FILE *); extern int fflush(FILE *); extern FILE *fopen(const char *, const char *); extern FILE *freopen(const char *, const char *, FILE *); extern void setbuf(FILE *, char *); extern int setvbuf(FILE *, char *, int, size_t); extern int fprintf(FILE *, const char *, ...); extern int fscanf(FILE *, const char *, ...); extern int printf(const char *, ...); extern int scanf(const char *, ...); extern int sprintf(char *, const char *, ...); extern int sscanf(const char *, const char *, ...); extern int vfprintf(FILE *, const char *, __va_list); extern int vprintf(const char *, __va_list); extern int vsprintf(char *, const char *, __va_list); extern int fgetc(FILE *); extern char *fgets(char *, int, FILE *); extern int fputc(int, FILE *); extern int fputs(const char *, FILE *); extern int getc(FILE *); extern int putc(int, FILE *); extern int getchar(void); extern int putchar(int); extern char *gets(char *); extern int puts(const char *); extern int ungetc(int, FILE *); extern size_t fread(void *, size_t, size_t, FILE *); extern size_t fwrite(const void *, size_t, size_t, FILE *); extern int fgetpos(FILE *, fpos_t *); extern int fseek(FILE *, long, int); extern int fsetpos(FILE *, const fpos_t *); extern long ftell(FILE *); extern void rewind(FILE *); extern void clearerr(FILE *); extern int feof(FILE *); extern int ferror(FILE *); extern void perror(const char *); extern int __filbuf(FILE *); extern int __flsbuf(int, FILE *); # 37 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 2 3 4 # 123 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 typedef __longlong_t fpos64_t; # 151 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern unsigned char _sibuf[], _sobuf[]; # 193 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern unsigned char *_bufendtab[]; extern FILE *_lastbuf; # 229 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern void setbuffer(FILE *, char *, size_t); extern int setlinebuf(FILE *); extern int snprintf(char *, size_t, const char *, ...); extern int vsnprintf(char *, size_t, const char *, __gnuc_va_list); # 250 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern FILE *fdopen(int, const char *); extern char *ctermid(char *); extern int fileno(FILE *); # 276 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern FILE *popen(const char *, const char *); extern char *cuserid(char *); extern char *tempnam(const char *, const char *); extern int getopt(int, char *const *, const char *); extern int getsubopt(char **, char *const *, char **); extern char *optarg; extern int optind, opterr, optopt; extern int getw(FILE *); extern int putw(int, FILE *); extern int pclose(FILE *); extern int fseeko(FILE *, off_t, int); extern off_t ftello(FILE *); # 305 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/stdio.h" 3 4 extern FILE *fopen64(const char *, const char *); extern FILE *freopen64(const char *, const char *, FILE *); extern FILE *tmpfile64(void); extern int fgetpos64(FILE *, fpos64_t *); extern int fsetpos64(FILE *, const fpos64_t *); extern int fseeko64(FILE *, off64_t, int); extern off64_t ftello64(FILE *); # 29 "test.c" 2 # 1 "../gsl/gsl_math.h" 1 # 22 "../gsl/gsl_math.h" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 1 3 4 # 23 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 #pragma ident "@(#)math.h 2.10 99/07/29 SMI" # 1 "/usr/include/iso/math_iso.h" 1 3 4 #pragma ident "@(#)math_iso.h 1.1 99/07/30 SMI" # 20 "/usr/include/iso/math_iso.h" 3 4 typedef union _h_val { unsigned long _i[sizeof(double) / sizeof(unsigned long)]; double _d; } _h_val; extern const _h_val __huge_val; # 37 "/usr/include/iso/math_iso.h" 3 4 extern double acos (double); extern double asin (double); extern double atan (double); extern double atan2 (double, double); extern double cos (double); extern double sin (double); extern double tan (double); extern double cosh (double); extern double sinh (double); extern double tanh (double); extern double exp (double); extern double frexp (double, int *); extern double ldexp (double, int); extern double log (double); extern double log10 (double); extern double modf (double, double *); extern double pow (double, double); extern double sqrt (double); extern double ceil (double); extern double fabs (double); extern double floor (double); extern double fmod (double, double); # 26 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 2 3 4 # 89 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern int signgam; enum version {libm_ieee = -1, c_issue_4, ansi_1, strict_ansi}; extern const enum version _lib_version; struct exception { int type; char *name; double arg1; double arg2; double retval; }; # 145 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern double erf (double); extern double erfc (double); extern double gamma (double); extern double hypot (double, double); extern int isnan (double); extern double j0 (double); extern double j1 (double); extern double jn (int, double); extern double lgamma (double); extern double y0 (double); extern double y1 (double); extern double yn (int, double); # 172 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern double acosh (double); extern double asinh (double); extern double atanh (double); extern double cbrt (double); extern double logb (double); extern double nextafter (double, double); extern double remainder (double, double); extern double scalb (double, double); # 192 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern double expm1 (double); extern int ilogb (double); extern double log1p (double); extern double rint (double); # 208 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern int matherr (struct exception *); extern double significand (double); extern double copysign (double, double); extern double scalbn (double, int); # 243 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 3 4 extern float modff (float, float *); # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/floatingpoint.h" 1 3 4 # 20 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/floatingpoint.h" 3 4 #pragma ident "@(#)floatingpoint.h 2.5 99/06/22 SMI" # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/ieeefp.h" 1 3 4 # 17 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/ieeefp.h" 3 4 #pragma ident "@(#)ieeefp.h 2.8 99/10/29" # 27 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/ieeefp.h" 3 4 enum fp_direction_type { fp_nearest = 0, fp_tozero = 1, fp_positive = 2, fp_negative = 3 }; enum fp_precision_type { fp_extended = 0, fp_single = 1, fp_double = 2, fp_precision_3 = 3 }; enum fp_exception_type { fp_inexact = 0, fp_division = 1, fp_underflow = 2, fp_overflow = 3, fp_invalid = 4 }; enum fp_trap_enable_type { fp_trap_inexact = 0, fp_trap_division = 1, fp_trap_underflow = 2, fp_trap_overflow = 3, fp_trap_invalid = 4 }; # 133 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/sys/ieeefp.h" 3 4 enum fp_class_type { fp_zero = 0, fp_subnormal = 1, fp_normal = 2, fp_infinity = 3, fp_quiet = 4, fp_signaling = 5 }; # 26 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/floatingpoint.h" 2 3 4 # 62 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/floatingpoint.h" 3 4 typedef int sigfpe_code_type; typedef void (*sigfpe_handler_type)(); extern sigfpe_handler_type sigfpe (sigfpe_code_type, sigfpe_handler_type); typedef float single; typedef unsigned extended[3]; typedef long double quadruple; typedef unsigned fp_exception_field_type; # 94 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/floatingpoint.h" 3 4 typedef char decimal_string[512]; typedef struct { enum fp_class_type fpclass; int sign; int exponent; decimal_string ds; int more; int ndigits; } decimal_record; enum decimal_form { fixed_form, floating_form }; typedef struct { enum fp_direction_type rd; enum decimal_form df; int ndigits; } decimal_mode; enum decimal_string_form { invalid_form, whitespace_form, fixed_int_form, fixed_intdot_form, fixed_dotfrac_form, fixed_intdotfrac_form, floating_int_form, floating_intdot_form, floating_dotfrac_form, floating_intdotfrac_form, inf_form, infinity_form, nan_form, nanstring_form }; extern void single_to_decimal (single *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void double_to_decimal (double *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void extended_to_decimal (extended *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void quadruple_to_decimal (quadruple *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void decimal_to_single (single *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void decimal_to_double (double *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void decimal_to_extended (extended *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void decimal_to_quadruple (quadruple *, decimal_mode *, decimal_record *, fp_exception_field_type *); extern void string_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **); extern void func_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **, int (*)(void), int *, int (*)(int)); extern void file_to_decimal (char **, int, int, decimal_record *, enum decimal_string_form *, char **, FILE *, int *); extern char *seconvert (single *, int, int *, int *, char *); extern char *sfconvert (single *, int, int *, int *, char *); extern char *sgconvert (single *, int, int, char *); extern char *econvert (double, int, int *, int *, char *); extern char *fconvert (double, int, int *, int *, char *); extern char *gconvert (double, int, int, char *); extern char *qeconvert (quadruple *, int, int *, int *, char *); extern char *qfconvert (quadruple *, int, int *, int *, char *); extern char *qgconvert (quadruple *, int, int, char *); extern char *ecvt (double, int, int *, int *); extern char *fcvt (double, int, int *, int *); extern char *gcvt (double, int, char *); extern double atof (const char *); extern double strtod (const char *, char **); # 251 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/math.h" 2 3 4 # 23 "../gsl/gsl_math.h" 2 # 1 "../gsl/gsl_sys.h" 1 # 33 "../gsl/gsl_sys.h" double gsl_log1p (const double x); double gsl_expm1 (const double x); double gsl_hypot (const double x, const double y); double gsl_acosh (const double x); double gsl_asinh (const double x); double gsl_atanh (const double x); int gsl_isnan (const double x); int gsl_isinf (const double x); int gsl_finite (const double x); double gsl_nan (void); double gsl_posinf (void); double gsl_neginf (void); double gsl_fdiv (const double x, const double y); double gsl_coerce_double (const double x); float gsl_coerce_float (const float x); long double gsl_coerce_long_double (const long double x); double gsl_ldexp(const double x, const int e); double gsl_frexp(const double x, int * e); int gsl_fcmp (const double x1, const double x2, const double epsilon); # 24 "../gsl/gsl_math.h" 2 # 1 "../gsl/gsl_machine.h" 1 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/limits.h" 1 3 4 # 11 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/limits.h" 3 4 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/syslimits.h" 1 3 4 # 25 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/syslimits.h" 3 4 #pragma ident "@(#)limits.h 1.51 99/10/08 SMI" # 1 "/usr/include/iso/limits_iso.h" 1 3 4 # 28 "/usr/include/iso/limits_iso.h" 3 4 #pragma ident "@(#)limits_iso.h 1.1 99/08/09 SMI" # 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/syslimits.h" 2 3 4 # 41 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/syslimits.h" 3 4 # 1 "/usr/include/sys/int_limits.h" 1 3 4 # 9 "/usr/include/sys/int_limits.h" 3 4 #pragma ident "@(#)int_limits.h 1.6 99/08/06 SMI" # 42 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/syslimits.h" 2 3 4 # 12 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/limits.h" 2 3 4 # 6 "../gsl/gsl_machine.h" 2 # 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include/float.h" 1 3 4 # 7 "../gsl/gsl_machine.h" 2 # 25 "../gsl/gsl_math.h" 2 # 1 "../gsl/gsl_precision.h" 1 # 24 "../gsl/gsl_precision.h" # 1 "../gsl/gsl_types.h" 1 # 25 "../gsl/gsl_precision.h" 2 # 36 "../gsl/gsl_precision.h" typedef unsigned int gsl_prec_t; # 56 "../gsl/gsl_precision.h" extern const double gsl_prec_eps[]; extern const double gsl_prec_sqrt_eps[]; extern const double gsl_prec_root3_eps[]; extern const double gsl_prec_root4_eps[]; extern const double gsl_prec_root5_eps[]; extern const double gsl_prec_root6_eps[]; # 26 "../gsl/gsl_math.h" 2 # 1 "../gsl/gsl_nan.h" 1 # 27 "../gsl/gsl_math.h" 2 # 1 "../gsl/gsl_pow_int.h" 1 # 33 "../gsl/gsl_pow_int.h" extern inline double gsl_pow_2(const double x); extern inline double gsl_pow_3(const double x); extern inline double gsl_pow_4(const double x); extern inline double gsl_pow_5(const double x); extern inline double gsl_pow_6(const double x); extern inline double gsl_pow_7(const double x); extern inline double gsl_pow_8(const double x); extern inline double gsl_pow_9(const double x); extern inline double gsl_pow_2(const double x) { return x*x; } extern inline double gsl_pow_3(const double x) { return x*x*x; } extern inline double gsl_pow_4(const double x) { double x2 = x*x; return x2*x2; } extern inline double gsl_pow_5(const double x) { double x2 = x*x; return x2*x2*x; } extern inline double gsl_pow_6(const double x) { double x2 = x*x; return x2*x2*x2; } extern inline double gsl_pow_7(const double x) { double x3 = x*x*x; return x3*x3*x; } extern inline double gsl_pow_8(const double x) { double x2 = x*x; double x4 = x2*x2; return x4*x4; } extern inline double gsl_pow_9(const double x) { double x3 = x*x*x; return x3*x3*x3; } # 64 "../gsl/gsl_pow_int.h" double gsl_pow_int(double x, int n); # 28 "../gsl/gsl_math.h" 2 # 108 "../gsl/gsl_math.h" # 126 "../gsl/gsl_math.h" double gsl_max (double a, double b); double gsl_min (double a, double b); extern inline int GSL_MAX_INT (int a, int b); extern inline int GSL_MIN_INT (int a, int b); extern inline double GSL_MAX_DBL (double a, double b); extern inline double GSL_MIN_DBL (double a, double b); extern inline long double GSL_MAX_LDBL (long double a, long double b); extern inline long double GSL_MIN_LDBL (long double a, long double b); extern inline int GSL_MAX_INT (int a, int b) { return ((a) > (b) ? (a) : (b)); } extern inline int GSL_MIN_INT (int a, int b) { return ((a) < (b) ? (a) : (b)); } extern inline double GSL_MAX_DBL (double a, double b) { return ((a) > (b) ? (a) : (b)); } extern inline double GSL_MIN_DBL (double a, double b) { return ((a) < (b) ? (a) : (b)); } extern inline long double GSL_MAX_LDBL (long double a, long double b) { return ((a) > (b) ? (a) : (b)); } extern inline long double GSL_MIN_LDBL (long double a, long double b) { return ((a) < (b) ? (a) : (b)); } # 185 "../gsl/gsl_math.h" struct gsl_function_struct { double (* function) (double x, void * params); void * params; }; typedef struct gsl_function_struct gsl_function ; struct gsl_function_fdf_struct { double (* f) (double x, void * params); double (* df) (double x, void * params); void (* fdf) (double x, void * params, double * f, double * df); void * params; }; typedef struct gsl_function_fdf_struct gsl_function_fdf ; # 214 "../gsl/gsl_math.h" struct gsl_function_vec_struct { int (* function) (double x, double y[], void * params); void * params; }; typedef struct gsl_function_vec_struct gsl_function_vec ; # 30 "test.c" 2 # 1 "../gsl/gsl_vector.h" 1 # 1 "../gsl/gsl_vector_complex_long_double.h" 1 # 25 "../gsl/gsl_vector_complex_long_double.h" # 1 "../gsl/gsl_errno.h" 1 # 24 "../gsl/gsl_errno.h" # 1 "/usr/include/errno.h" 1 3 4 # 17 "/usr/include/errno.h" 3 4 #pragma ident "@(#)errno.h 1.16 99/07/26 SMI" # 1 "/usr/include/sys/errno.h" 1 3 4 # 11 "/usr/include/sys/errno.h" 3 4 #pragma ident "@(#)errno.h 1.20 00/02/14 SMI" # 24 "/usr/include/errno.h" 2 3 4 # 41 "/usr/include/errno.h" 3 4 extern int errno; # 25 "../gsl/gsl_errno.h" 2 # 37 "../gsl/gsl_errno.h" enum { GSL_SUCCESS = 0, GSL_FAILURE = -1, GSL_CONTINUE = -2, GSL_EDOM = 1, GSL_ERANGE = 2, GSL_EFAULT = 3, GSL_EINVAL = 4, GSL_EFAILED = 5, GSL_EFACTOR = 6, GSL_ESANITY = 7, GSL_ENOMEM = 8, GSL_EBADFUNC = 9, GSL_ERUNAWAY = 10, GSL_EMAXITER = 11, GSL_EZERODIV = 12, GSL_EBADTOL = 13, GSL_ETOL = 14, GSL_EUNDRFLW = 15, GSL_EOVRFLW = 16, GSL_ELOSS = 17, GSL_EROUND = 18, GSL_EBADLEN = 19, GSL_ENOTSQR = 20, GSL_ESING = 21, GSL_EDIVERGE = 22, GSL_EUNSUP = 23, GSL_EUNIMPL = 24, GSL_ECACHE = 25, GSL_ETABLE = 26, GSL_ENOPROG = 27, GSL_ENOPROGJ = 28, GSL_ETOLF = 29, GSL_ETOLX = 30, GSL_ETOLG = 31, GSL_EOF = 32 } ; void gsl_error (const char * reason, const char * file, int line, int gsl_errno); void gsl_warning (const char * reason, const char * file, int line, int gsl_errno) ; void gsl_stream_printf (const char *label, const char *file, int line, const char *reason); const char * gsl_strerror (const int gsl_errno); typedef void gsl_error_handler_t (const char * reason, const char * file, int line, int gsl_errno); typedef void gsl_stream_handler_t (const char * label, const char * file, int line, const char * reason); gsl_error_handler_t * gsl_set_error_handler (gsl_error_handler_t * new_handler); gsl_error_handler_t * gsl_set_error_handler_off (void); gsl_stream_handler_t * gsl_set_stream_handler (gsl_stream_handler_t * new_handler); FILE * gsl_set_stream (FILE * new_stream); # 157 "../gsl/gsl_errno.h" extern int gsl_warnings_off ; # 181 "../gsl/gsl_errno.h" # 26 "../gsl/gsl_vector_complex_long_double.h" 2 # 1 "../gsl/gsl_complex.h" 1 # 33 "../gsl/gsl_complex.h" typedef double * gsl_complex_packed ; typedef float * gsl_complex_packed_float ; typedef long double * gsl_complex_packed_long_double ; typedef const double * gsl_const_complex_packed ; typedef const float * gsl_const_complex_packed_float ; typedef const long double * gsl_const_complex_packed_long_double ; typedef double * gsl_complex_packed_array ; typedef float * gsl_complex_packed_array_float ; typedef long double * gsl_complex_packed_array_long_double ; typedef const double * gsl_const_complex_packed_array ; typedef const float * gsl_const_complex_packed_array_float ; typedef const long double * gsl_const_complex_packed_array_long_double ; typedef double * gsl_complex_packed_ptr ; typedef float * gsl_complex_packed_float_ptr ; typedef long double * gsl_complex_packed_long_double_ptr ; typedef const double * gsl_const_complex_packed_ptr ; typedef const float * gsl_const_complex_packed_float_ptr ; typedef const long double * gsl_const_complex_packed_long_double_ptr ; typedef struct { long double dat[2]; } gsl_complex_long_double; typedef struct { double dat[2]; } gsl_complex; typedef struct { float dat[2]; } gsl_complex_float; # 101 "../gsl/gsl_complex.h" # 27 "../gsl/gsl_vector_complex_long_double.h" 2 # 1 "../gsl/gsl_vector_long_double.h" 1 # 26 "../gsl/gsl_vector_long_double.h" # 1 "../gsl/gsl_block_long_double.h" 1 # 36 "../gsl/gsl_block_long_double.h" struct gsl_block_long_double_struct { size_t size; long double *data; }; typedef struct gsl_block_long_double_struct gsl_block_long_double; gsl_block_long_double *gsl_block_long_double_alloc (const size_t n); gsl_block_long_double *gsl_block_long_double_calloc (const size_t n); void gsl_block_long_double_free (gsl_block_long_double * b); int gsl_block_long_double_fread (FILE * stream, gsl_block_long_double * b); int gsl_block_long_double_fwrite (FILE * stream, const gsl_block_long_double * b); int gsl_block_long_double_fscanf (FILE * stream, gsl_block_long_double * b); int gsl_block_long_double_fprintf (FILE * stream, const gsl_block_long_double * b, const char *format); int gsl_block_long_double_raw_fread (FILE * stream, long double * b, const size_t n, const size_t stride); int gsl_block_long_double_raw_fwrite (FILE * stream, const long double * b, const size_t n, const size_t stride); int gsl_block_long_double_raw_fscanf (FILE * stream, long double * b, const size_t n, const size_t stride); int gsl_block_long_double_raw_fprintf (FILE * stream, const long double * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_long_double_size (const gsl_block_long_double * b); long double * gsl_block_long_double_data (const gsl_block_long_double * b); # 27 "../gsl/gsl_vector_long_double.h" 2 # 38 "../gsl/gsl_vector_long_double.h" typedef struct { size_t size; size_t stride; long double *data; gsl_block_long_double *block; int owner; } gsl_vector_long_double; typedef struct { gsl_vector_long_double vector; } _gsl_vector_long_double_view; typedef _gsl_vector_long_double_view gsl_vector_long_double_view; typedef struct { gsl_vector_long_double vector; } _gsl_vector_long_double_const_view; typedef const _gsl_vector_long_double_const_view gsl_vector_long_double_const_view; gsl_vector_long_double *gsl_vector_long_double_alloc (const size_t n); gsl_vector_long_double *gsl_vector_long_double_calloc (const size_t n); gsl_vector_long_double *gsl_vector_long_double_alloc_from_block (gsl_block_long_double * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_long_double *gsl_vector_long_double_alloc_from_vector (gsl_vector_long_double * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_long_double_free (gsl_vector_long_double * v); _gsl_vector_long_double_view gsl_vector_long_double_view_array (long double *v, size_t n); _gsl_vector_long_double_view gsl_vector_long_double_view_array_with_stride (long double *base, size_t stride, size_t n); _gsl_vector_long_double_const_view gsl_vector_long_double_const_view_array (const long double *v, size_t n); _gsl_vector_long_double_const_view gsl_vector_long_double_const_view_array_with_stride (const long double *base, size_t stride, size_t n); _gsl_vector_long_double_view gsl_vector_long_double_subvector (gsl_vector_long_double *v, size_t i, size_t n); _gsl_vector_long_double_view gsl_vector_long_double_subvector_with_stride (gsl_vector_long_double *v, size_t i, size_t stride, size_t n); _gsl_vector_long_double_const_view gsl_vector_long_double_const_subvector (const gsl_vector_long_double *v, size_t i, size_t n); _gsl_vector_long_double_const_view gsl_vector_long_double_const_subvector_with_stride (const gsl_vector_long_double *v, size_t i, size_t stride, size_t n); long double gsl_vector_long_double_get (const gsl_vector_long_double * v, const size_t i); void gsl_vector_long_double_set (gsl_vector_long_double * v, const size_t i, long double x); long double *gsl_vector_long_double_ptr (gsl_vector_long_double * v, const size_t i); const long double *gsl_vector_long_double_const_ptr (const gsl_vector_long_double * v, const size_t i); void gsl_vector_long_double_set_zero (gsl_vector_long_double * v); void gsl_vector_long_double_set_all (gsl_vector_long_double * v, long double x); int gsl_vector_long_double_set_basis (gsl_vector_long_double * v, size_t i); int gsl_vector_long_double_fread (FILE * stream, gsl_vector_long_double * v); int gsl_vector_long_double_fwrite (FILE * stream, const gsl_vector_long_double * v); int gsl_vector_long_double_fscanf (FILE * stream, gsl_vector_long_double * v); int gsl_vector_long_double_fprintf (FILE * stream, const gsl_vector_long_double * v, const char *format); int gsl_vector_long_double_memcpy (gsl_vector_long_double * dest, const gsl_vector_long_double * src); int gsl_vector_long_double_reverse (gsl_vector_long_double * v); int gsl_vector_long_double_swap (gsl_vector_long_double * v, gsl_vector_long_double * w); int gsl_vector_long_double_swap_elements (gsl_vector_long_double * v, const size_t i, const size_t j); long double gsl_vector_long_double_max (const gsl_vector_long_double * v); long double gsl_vector_long_double_min (const gsl_vector_long_double * v); void gsl_vector_long_double_minmax (const gsl_vector_long_double * v, long double * min_out, long double * max_out); size_t gsl_vector_long_double_max_index (const gsl_vector_long_double * v); size_t gsl_vector_long_double_min_index (const gsl_vector_long_double * v); void gsl_vector_long_double_minmax_index (const gsl_vector_long_double * v, size_t * imin, size_t * imax); int gsl_vector_long_double_add (gsl_vector_long_double * a, const gsl_vector_long_double * b); int gsl_vector_long_double_sub (gsl_vector_long_double * a, const gsl_vector_long_double * b); int gsl_vector_long_double_mul (gsl_vector_long_double * a, const gsl_vector_long_double * b); int gsl_vector_long_double_div (gsl_vector_long_double * a, const gsl_vector_long_double * b); int gsl_vector_long_double_scale (gsl_vector_long_double * a, const double x); int gsl_vector_long_double_add_constant (gsl_vector_long_double * a, const double x); int gsl_vector_long_double_isnull (const gsl_vector_long_double * v); extern int gsl_check_range; extern inline long double gsl_vector_long_double_get (const gsl_vector_long_double * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long_double.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_long_double_set (gsl_vector_long_double * v, const size_t i, long double x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long_double.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline long double * gsl_vector_long_double_ptr (gsl_vector_long_double * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long_double.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (long double *) (v->data + i * v->stride); } extern inline const long double * gsl_vector_long_double_const_ptr (const gsl_vector_long_double * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long_double.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const long double *) (v->data + i * v->stride); } # 28 "../gsl/gsl_vector_complex_long_double.h" 2 # 1 "../gsl/gsl_vector_complex.h" 1 # 29 "../gsl/gsl_vector_complex_long_double.h" 2 # 1 "../gsl/gsl_block_complex_long_double.h" 1 # 36 "../gsl/gsl_block_complex_long_double.h" struct gsl_block_complex_long_double_struct { size_t size; long double *data; }; typedef struct gsl_block_complex_long_double_struct gsl_block_complex_long_double; gsl_block_complex_long_double *gsl_block_complex_long_double_alloc (const size_t n); gsl_block_complex_long_double *gsl_block_complex_long_double_calloc (const size_t n); void gsl_block_complex_long_double_free (gsl_block_complex_long_double * b); int gsl_block_complex_long_double_fread (FILE * stream, gsl_block_complex_long_double * b); int gsl_block_complex_long_double_fwrite (FILE * stream, const gsl_block_complex_long_double * b); int gsl_block_complex_long_double_fscanf (FILE * stream, gsl_block_complex_long_double * b); int gsl_block_complex_long_double_fprintf (FILE * stream, const gsl_block_complex_long_double * b, const char *format); int gsl_block_complex_long_double_raw_fread (FILE * stream, long double * b, const size_t n, const size_t stride); int gsl_block_complex_long_double_raw_fwrite (FILE * stream, const long double * b, const size_t n, const size_t stride); int gsl_block_complex_long_double_raw_fscanf (FILE * stream, long double * b, const size_t n, const size_t stride); int gsl_block_complex_long_double_raw_fprintf (FILE * stream, const long double * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_complex_long_double_size (const gsl_block_complex_long_double * b); long double * gsl_block_complex_long_double_data (const gsl_block_complex_long_double * b); # 30 "../gsl/gsl_vector_complex_long_double.h" 2 # 41 "../gsl/gsl_vector_complex_long_double.h" typedef struct { size_t size; size_t stride; long double *data; gsl_block_complex_long_double *block; int owner; } gsl_vector_complex_long_double; typedef struct { gsl_vector_complex_long_double vector; } _gsl_vector_complex_long_double_view; typedef _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_view; typedef struct { gsl_vector_complex_long_double vector; } _gsl_vector_complex_long_double_const_view; typedef const _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_view; gsl_vector_complex_long_double *gsl_vector_complex_long_double_alloc (const size_t n); gsl_vector_complex_long_double *gsl_vector_complex_long_double_calloc (const size_t n); gsl_vector_complex_long_double * gsl_vector_complex_long_double_alloc_from_block (gsl_block_complex_long_double * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_complex_long_double * gsl_vector_complex_long_double_alloc_from_vector (gsl_vector_complex_long_double * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_complex_long_double_free (gsl_vector_complex_long_double * v); _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_view_array (long double *base, size_t n); _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_view_array_with_stride (long double *base, size_t stride, size_t n); _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_view_array (const long double *base, size_t n); _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_view_array_with_stride (const long double *base, size_t stride, size_t n); _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_subvector (gsl_vector_complex_long_double *base, size_t i, size_t n); _gsl_vector_complex_long_double_view gsl_vector_complex_long_double_subvector_with_stride (gsl_vector_complex_long_double *v, size_t i, size_t stride, size_t n); _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_subvector (const gsl_vector_complex_long_double *base, size_t i, size_t n); _gsl_vector_complex_long_double_const_view gsl_vector_complex_long_double_const_subvector_with_stride (const gsl_vector_complex_long_double *v, size_t i, size_t stride, size_t n); _gsl_vector_long_double_view gsl_vector_complex_long_double_real (gsl_vector_complex_long_double *v); _gsl_vector_long_double_view gsl_vector_complex_long_double_imag (gsl_vector_complex_long_double *v); _gsl_vector_long_double_const_view gsl_vector_complex_long_double_const_real (const gsl_vector_complex_long_double *v); _gsl_vector_long_double_const_view gsl_vector_complex_long_double_const_imag (const gsl_vector_complex_long_double *v); gsl_complex_long_double gsl_vector_complex_long_double_get (const gsl_vector_complex_long_double * v, const size_t i); void gsl_vector_complex_long_double_set (gsl_vector_complex_long_double * v, const size_t i, gsl_complex_long_double z); gsl_complex_long_double *gsl_vector_complex_long_double_ptr (gsl_vector_complex_long_double * v, const size_t i); const gsl_complex_long_double *gsl_vector_complex_long_double_const_ptr (const gsl_vector_complex_long_double * v, const size_t i); void gsl_vector_complex_long_double_set_zero (gsl_vector_complex_long_double * v); void gsl_vector_complex_long_double_set_all (gsl_vector_complex_long_double * v, gsl_complex_long_double z); int gsl_vector_complex_long_double_set_basis (gsl_vector_complex_long_double * v, size_t i); int gsl_vector_complex_long_double_fread (FILE * stream, gsl_vector_complex_long_double * v); int gsl_vector_complex_long_double_fwrite (FILE * stream, const gsl_vector_complex_long_double * v); int gsl_vector_complex_long_double_fscanf (FILE * stream, gsl_vector_complex_long_double * v); int gsl_vector_complex_long_double_fprintf (FILE * stream, const gsl_vector_complex_long_double * v, const char *format); int gsl_vector_complex_long_double_memcpy (gsl_vector_complex_long_double * dest, const gsl_vector_complex_long_double * src); int gsl_vector_complex_long_double_reverse (gsl_vector_complex_long_double * v); int gsl_vector_complex_long_double_swap (gsl_vector_complex_long_double * v, gsl_vector_complex_long_double * w); int gsl_vector_complex_long_double_swap_elements (gsl_vector_complex_long_double * v, const size_t i, const size_t j); int gsl_vector_complex_long_double_isnull (const gsl_vector_complex_long_double * v); extern int gsl_check_range; extern inline gsl_complex_long_double gsl_vector_complex_long_double_get (const gsl_vector_complex_long_double * v, const size_t i) { if (i >= v->size) { const gsl_complex_long_double zero = {{0, 0}}; do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_long_double.h", 193, GSL_EINVAL) ; return zero ; } while (0); } return *((gsl_complex_long_double*)&((v)->data[2*(i)*(v)->stride])); } extern inline void gsl_vector_complex_long_double_set (gsl_vector_complex_long_double * v, const size_t i, gsl_complex_long_double z) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_long_double.h", 207, GSL_EINVAL) ; return ; } while (0); } *((gsl_complex_long_double*)&((v)->data[2*(i)*(v)->stride])) = z; } extern inline gsl_complex_long_double * gsl_vector_complex_long_double_ptr (gsl_vector_complex_long_double * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_long_double.h", 221, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex_long_double*)&((v)->data[2*(i)*(v)->stride])); } extern inline const gsl_complex_long_double * gsl_vector_complex_long_double_const_ptr (const gsl_vector_complex_long_double * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_long_double.h", 235, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex_long_double*)&((v)->data[2*(i)*(v)->stride])); } # 5 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_complex_double.h" 1 # 27 "../gsl/gsl_vector_complex_double.h" # 1 "../gsl/gsl_vector_double.h" 1 # 26 "../gsl/gsl_vector_double.h" # 1 "../gsl/gsl_block_double.h" 1 # 36 "../gsl/gsl_block_double.h" struct gsl_block_struct { size_t size; double *data; }; typedef struct gsl_block_struct gsl_block; gsl_block *gsl_block_alloc (const size_t n); gsl_block *gsl_block_calloc (const size_t n); void gsl_block_free (gsl_block * b); int gsl_block_fread (FILE * stream, gsl_block * b); int gsl_block_fwrite (FILE * stream, const gsl_block * b); int gsl_block_fscanf (FILE * stream, gsl_block * b); int gsl_block_fprintf (FILE * stream, const gsl_block * b, const char *format); int gsl_block_raw_fread (FILE * stream, double * b, const size_t n, const size_t stride); int gsl_block_raw_fwrite (FILE * stream, const double * b, const size_t n, const size_t stride); int gsl_block_raw_fscanf (FILE * stream, double * b, const size_t n, const size_t stride); int gsl_block_raw_fprintf (FILE * stream, const double * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_size (const gsl_block * b); double * gsl_block_data (const gsl_block * b); # 27 "../gsl/gsl_vector_double.h" 2 # 38 "../gsl/gsl_vector_double.h" typedef struct { size_t size; size_t stride; double *data; gsl_block *block; int owner; } gsl_vector; typedef struct { gsl_vector vector; } _gsl_vector_view; typedef _gsl_vector_view gsl_vector_view; typedef struct { gsl_vector vector; } _gsl_vector_const_view; typedef const _gsl_vector_const_view gsl_vector_const_view; gsl_vector *gsl_vector_alloc (const size_t n); gsl_vector *gsl_vector_calloc (const size_t n); gsl_vector *gsl_vector_alloc_from_block (gsl_block * b, const size_t offset, const size_t n, const size_t stride); gsl_vector *gsl_vector_alloc_from_vector (gsl_vector * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_free (gsl_vector * v); _gsl_vector_view gsl_vector_view_array (double *v, size_t n); _gsl_vector_view gsl_vector_view_array_with_stride (double *base, size_t stride, size_t n); _gsl_vector_const_view gsl_vector_const_view_array (const double *v, size_t n); _gsl_vector_const_view gsl_vector_const_view_array_with_stride (const double *base, size_t stride, size_t n); _gsl_vector_view gsl_vector_subvector (gsl_vector *v, size_t i, size_t n); _gsl_vector_view gsl_vector_subvector_with_stride (gsl_vector *v, size_t i, size_t stride, size_t n); _gsl_vector_const_view gsl_vector_const_subvector (const gsl_vector *v, size_t i, size_t n); _gsl_vector_const_view gsl_vector_const_subvector_with_stride (const gsl_vector *v, size_t i, size_t stride, size_t n); double gsl_vector_get (const gsl_vector * v, const size_t i); void gsl_vector_set (gsl_vector * v, const size_t i, double x); double *gsl_vector_ptr (gsl_vector * v, const size_t i); const double *gsl_vector_const_ptr (const gsl_vector * v, const size_t i); void gsl_vector_set_zero (gsl_vector * v); void gsl_vector_set_all (gsl_vector * v, double x); int gsl_vector_set_basis (gsl_vector * v, size_t i); int gsl_vector_fread (FILE * stream, gsl_vector * v); int gsl_vector_fwrite (FILE * stream, const gsl_vector * v); int gsl_vector_fscanf (FILE * stream, gsl_vector * v); int gsl_vector_fprintf (FILE * stream, const gsl_vector * v, const char *format); int gsl_vector_memcpy (gsl_vector * dest, const gsl_vector * src); int gsl_vector_reverse (gsl_vector * v); int gsl_vector_swap (gsl_vector * v, gsl_vector * w); int gsl_vector_swap_elements (gsl_vector * v, const size_t i, const size_t j); double gsl_vector_max (const gsl_vector * v); double gsl_vector_min (const gsl_vector * v); void gsl_vector_minmax (const gsl_vector * v, double * min_out, double * max_out); size_t gsl_vector_max_index (const gsl_vector * v); size_t gsl_vector_min_index (const gsl_vector * v); void gsl_vector_minmax_index (const gsl_vector * v, size_t * imin, size_t * imax); int gsl_vector_add (gsl_vector * a, const gsl_vector * b); int gsl_vector_sub (gsl_vector * a, const gsl_vector * b); int gsl_vector_mul (gsl_vector * a, const gsl_vector * b); int gsl_vector_div (gsl_vector * a, const gsl_vector * b); int gsl_vector_scale (gsl_vector * a, const double x); int gsl_vector_add_constant (gsl_vector * a, const double x); int gsl_vector_isnull (const gsl_vector * v); extern int gsl_check_range; extern inline double gsl_vector_get (const gsl_vector * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_double.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_set (gsl_vector * v, const size_t i, double x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_double.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline double * gsl_vector_ptr (gsl_vector * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_double.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (double *) (v->data + i * v->stride); } extern inline const double * gsl_vector_const_ptr (const gsl_vector * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_double.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const double *) (v->data + i * v->stride); } # 28 "../gsl/gsl_vector_complex_double.h" 2 # 1 "../gsl/gsl_block_complex_double.h" 1 # 36 "../gsl/gsl_block_complex_double.h" struct gsl_block_complex_struct { size_t size; double *data; }; typedef struct gsl_block_complex_struct gsl_block_complex; gsl_block_complex *gsl_block_complex_alloc (const size_t n); gsl_block_complex *gsl_block_complex_calloc (const size_t n); void gsl_block_complex_free (gsl_block_complex * b); int gsl_block_complex_fread (FILE * stream, gsl_block_complex * b); int gsl_block_complex_fwrite (FILE * stream, const gsl_block_complex * b); int gsl_block_complex_fscanf (FILE * stream, gsl_block_complex * b); int gsl_block_complex_fprintf (FILE * stream, const gsl_block_complex * b, const char *format); int gsl_block_complex_raw_fread (FILE * stream, double * b, const size_t n, const size_t stride); int gsl_block_complex_raw_fwrite (FILE * stream, const double * b, const size_t n, const size_t stride); int gsl_block_complex_raw_fscanf (FILE * stream, double * b, const size_t n, const size_t stride); int gsl_block_complex_raw_fprintf (FILE * stream, const double * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_complex_size (const gsl_block_complex * b); double * gsl_block_complex_data (const gsl_block_complex * b); # 30 "../gsl/gsl_vector_complex_double.h" 2 # 41 "../gsl/gsl_vector_complex_double.h" typedef struct { size_t size; size_t stride; double *data; gsl_block_complex *block; int owner; } gsl_vector_complex; typedef struct { gsl_vector_complex vector; } _gsl_vector_complex_view; typedef _gsl_vector_complex_view gsl_vector_complex_view; typedef struct { gsl_vector_complex vector; } _gsl_vector_complex_const_view; typedef const _gsl_vector_complex_const_view gsl_vector_complex_const_view; gsl_vector_complex *gsl_vector_complex_alloc (const size_t n); gsl_vector_complex *gsl_vector_complex_calloc (const size_t n); gsl_vector_complex * gsl_vector_complex_alloc_from_block (gsl_block_complex * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_complex * gsl_vector_complex_alloc_from_vector (gsl_vector_complex * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_complex_free (gsl_vector_complex * v); _gsl_vector_complex_view gsl_vector_complex_view_array (double *base, size_t n); _gsl_vector_complex_view gsl_vector_complex_view_array_with_stride (double *base, size_t stride, size_t n); _gsl_vector_complex_const_view gsl_vector_complex_const_view_array (const double *base, size_t n); _gsl_vector_complex_const_view gsl_vector_complex_const_view_array_with_stride (const double *base, size_t stride, size_t n); _gsl_vector_complex_view gsl_vector_complex_subvector (gsl_vector_complex *base, size_t i, size_t n); _gsl_vector_complex_view gsl_vector_complex_subvector_with_stride (gsl_vector_complex *v, size_t i, size_t stride, size_t n); _gsl_vector_complex_const_view gsl_vector_complex_const_subvector (const gsl_vector_complex *base, size_t i, size_t n); _gsl_vector_complex_const_view gsl_vector_complex_const_subvector_with_stride (const gsl_vector_complex *v, size_t i, size_t stride, size_t n); _gsl_vector_view gsl_vector_complex_real (gsl_vector_complex *v); _gsl_vector_view gsl_vector_complex_imag (gsl_vector_complex *v); _gsl_vector_const_view gsl_vector_complex_const_real (const gsl_vector_complex *v); _gsl_vector_const_view gsl_vector_complex_const_imag (const gsl_vector_complex *v); gsl_complex gsl_vector_complex_get (const gsl_vector_complex * v, const size_t i); void gsl_vector_complex_set (gsl_vector_complex * v, const size_t i, gsl_complex z); gsl_complex *gsl_vector_complex_ptr (gsl_vector_complex * v, const size_t i); const gsl_complex *gsl_vector_complex_const_ptr (const gsl_vector_complex * v, const size_t i); void gsl_vector_complex_set_zero (gsl_vector_complex * v); void gsl_vector_complex_set_all (gsl_vector_complex * v, gsl_complex z); int gsl_vector_complex_set_basis (gsl_vector_complex * v, size_t i); int gsl_vector_complex_fread (FILE * stream, gsl_vector_complex * v); int gsl_vector_complex_fwrite (FILE * stream, const gsl_vector_complex * v); int gsl_vector_complex_fscanf (FILE * stream, gsl_vector_complex * v); int gsl_vector_complex_fprintf (FILE * stream, const gsl_vector_complex * v, const char *format); int gsl_vector_complex_memcpy (gsl_vector_complex * dest, const gsl_vector_complex * src); int gsl_vector_complex_reverse (gsl_vector_complex * v); int gsl_vector_complex_swap (gsl_vector_complex * v, gsl_vector_complex * w); int gsl_vector_complex_swap_elements (gsl_vector_complex * v, const size_t i, const size_t j); int gsl_vector_complex_isnull (const gsl_vector_complex * v); extern int gsl_check_range; extern inline gsl_complex gsl_vector_complex_get (const gsl_vector_complex * v, const size_t i) { if (i >= v->size) { const gsl_complex zero = {{0, 0}}; do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_double.h", 193, GSL_EINVAL) ; return zero ; } while (0); } return *((gsl_complex*)&((v)->data[2*(i)*(v)->stride])); } extern inline void gsl_vector_complex_set (gsl_vector_complex * v, const size_t i, gsl_complex z) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_double.h", 207, GSL_EINVAL) ; return ; } while (0); } *((gsl_complex*)&((v)->data[2*(i)*(v)->stride])) = z; } extern inline gsl_complex * gsl_vector_complex_ptr (gsl_vector_complex * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_double.h", 221, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex*)&((v)->data[2*(i)*(v)->stride])); } extern inline const gsl_complex * gsl_vector_complex_const_ptr (const gsl_vector_complex * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_double.h", 235, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex*)&((v)->data[2*(i)*(v)->stride])); } # 6 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_complex_float.h" 1 # 27 "../gsl/gsl_vector_complex_float.h" # 1 "../gsl/gsl_vector_float.h" 1 # 26 "../gsl/gsl_vector_float.h" # 1 "../gsl/gsl_block_float.h" 1 # 36 "../gsl/gsl_block_float.h" struct gsl_block_float_struct { size_t size; float *data; }; typedef struct gsl_block_float_struct gsl_block_float; gsl_block_float *gsl_block_float_alloc (const size_t n); gsl_block_float *gsl_block_float_calloc (const size_t n); void gsl_block_float_free (gsl_block_float * b); int gsl_block_float_fread (FILE * stream, gsl_block_float * b); int gsl_block_float_fwrite (FILE * stream, const gsl_block_float * b); int gsl_block_float_fscanf (FILE * stream, gsl_block_float * b); int gsl_block_float_fprintf (FILE * stream, const gsl_block_float * b, const char *format); int gsl_block_float_raw_fread (FILE * stream, float * b, const size_t n, const size_t stride); int gsl_block_float_raw_fwrite (FILE * stream, const float * b, const size_t n, const size_t stride); int gsl_block_float_raw_fscanf (FILE * stream, float * b, const size_t n, const size_t stride); int gsl_block_float_raw_fprintf (FILE * stream, const float * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_float_size (const gsl_block_float * b); float * gsl_block_float_data (const gsl_block_float * b); # 27 "../gsl/gsl_vector_float.h" 2 # 38 "../gsl/gsl_vector_float.h" typedef struct { size_t size; size_t stride; float *data; gsl_block_float *block; int owner; } gsl_vector_float; typedef struct { gsl_vector_float vector; } _gsl_vector_float_view; typedef _gsl_vector_float_view gsl_vector_float_view; typedef struct { gsl_vector_float vector; } _gsl_vector_float_const_view; typedef const _gsl_vector_float_const_view gsl_vector_float_const_view; gsl_vector_float *gsl_vector_float_alloc (const size_t n); gsl_vector_float *gsl_vector_float_calloc (const size_t n); gsl_vector_float *gsl_vector_float_alloc_from_block (gsl_block_float * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_float *gsl_vector_float_alloc_from_vector (gsl_vector_float * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_float_free (gsl_vector_float * v); _gsl_vector_float_view gsl_vector_float_view_array (float *v, size_t n); _gsl_vector_float_view gsl_vector_float_view_array_with_stride (float *base, size_t stride, size_t n); _gsl_vector_float_const_view gsl_vector_float_const_view_array (const float *v, size_t n); _gsl_vector_float_const_view gsl_vector_float_const_view_array_with_stride (const float *base, size_t stride, size_t n); _gsl_vector_float_view gsl_vector_float_subvector (gsl_vector_float *v, size_t i, size_t n); _gsl_vector_float_view gsl_vector_float_subvector_with_stride (gsl_vector_float *v, size_t i, size_t stride, size_t n); _gsl_vector_float_const_view gsl_vector_float_const_subvector (const gsl_vector_float *v, size_t i, size_t n); _gsl_vector_float_const_view gsl_vector_float_const_subvector_with_stride (const gsl_vector_float *v, size_t i, size_t stride, size_t n); float gsl_vector_float_get (const gsl_vector_float * v, const size_t i); void gsl_vector_float_set (gsl_vector_float * v, const size_t i, float x); float *gsl_vector_float_ptr (gsl_vector_float * v, const size_t i); const float *gsl_vector_float_const_ptr (const gsl_vector_float * v, const size_t i); void gsl_vector_float_set_zero (gsl_vector_float * v); void gsl_vector_float_set_all (gsl_vector_float * v, float x); int gsl_vector_float_set_basis (gsl_vector_float * v, size_t i); int gsl_vector_float_fread (FILE * stream, gsl_vector_float * v); int gsl_vector_float_fwrite (FILE * stream, const gsl_vector_float * v); int gsl_vector_float_fscanf (FILE * stream, gsl_vector_float * v); int gsl_vector_float_fprintf (FILE * stream, const gsl_vector_float * v, const char *format); int gsl_vector_float_memcpy (gsl_vector_float * dest, const gsl_vector_float * src); int gsl_vector_float_reverse (gsl_vector_float * v); int gsl_vector_float_swap (gsl_vector_float * v, gsl_vector_float * w); int gsl_vector_float_swap_elements (gsl_vector_float * v, const size_t i, const size_t j); float gsl_vector_float_max (const gsl_vector_float * v); float gsl_vector_float_min (const gsl_vector_float * v); void gsl_vector_float_minmax (const gsl_vector_float * v, float * min_out, float * max_out); size_t gsl_vector_float_max_index (const gsl_vector_float * v); size_t gsl_vector_float_min_index (const gsl_vector_float * v); void gsl_vector_float_minmax_index (const gsl_vector_float * v, size_t * imin, size_t * imax); int gsl_vector_float_add (gsl_vector_float * a, const gsl_vector_float * b); int gsl_vector_float_sub (gsl_vector_float * a, const gsl_vector_float * b); int gsl_vector_float_mul (gsl_vector_float * a, const gsl_vector_float * b); int gsl_vector_float_div (gsl_vector_float * a, const gsl_vector_float * b); int gsl_vector_float_scale (gsl_vector_float * a, const double x); int gsl_vector_float_add_constant (gsl_vector_float * a, const double x); int gsl_vector_float_isnull (const gsl_vector_float * v); extern int gsl_check_range; extern inline float gsl_vector_float_get (const gsl_vector_float * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_float.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_float_set (gsl_vector_float * v, const size_t i, float x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_float.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline float * gsl_vector_float_ptr (gsl_vector_float * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_float.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (float *) (v->data + i * v->stride); } extern inline const float * gsl_vector_float_const_ptr (const gsl_vector_float * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_float.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const float *) (v->data + i * v->stride); } # 28 "../gsl/gsl_vector_complex_float.h" 2 # 1 "../gsl/gsl_block_complex_float.h" 1 # 36 "../gsl/gsl_block_complex_float.h" struct gsl_block_complex_float_struct { size_t size; float *data; }; typedef struct gsl_block_complex_float_struct gsl_block_complex_float; gsl_block_complex_float *gsl_block_complex_float_alloc (const size_t n); gsl_block_complex_float *gsl_block_complex_float_calloc (const size_t n); void gsl_block_complex_float_free (gsl_block_complex_float * b); int gsl_block_complex_float_fread (FILE * stream, gsl_block_complex_float * b); int gsl_block_complex_float_fwrite (FILE * stream, const gsl_block_complex_float * b); int gsl_block_complex_float_fscanf (FILE * stream, gsl_block_complex_float * b); int gsl_block_complex_float_fprintf (FILE * stream, const gsl_block_complex_float * b, const char *format); int gsl_block_complex_float_raw_fread (FILE * stream, float * b, const size_t n, const size_t stride); int gsl_block_complex_float_raw_fwrite (FILE * stream, const float * b, const size_t n, const size_t stride); int gsl_block_complex_float_raw_fscanf (FILE * stream, float * b, const size_t n, const size_t stride); int gsl_block_complex_float_raw_fprintf (FILE * stream, const float * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_complex_float_size (const gsl_block_complex_float * b); float * gsl_block_complex_float_data (const gsl_block_complex_float * b); # 30 "../gsl/gsl_vector_complex_float.h" 2 # 41 "../gsl/gsl_vector_complex_float.h" typedef struct { size_t size; size_t stride; float *data; gsl_block_complex_float *block; int owner; } gsl_vector_complex_float; typedef struct { gsl_vector_complex_float vector; } _gsl_vector_complex_float_view; typedef _gsl_vector_complex_float_view gsl_vector_complex_float_view; typedef struct { gsl_vector_complex_float vector; } _gsl_vector_complex_float_const_view; typedef const _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_view; gsl_vector_complex_float *gsl_vector_complex_float_alloc (const size_t n); gsl_vector_complex_float *gsl_vector_complex_float_calloc (const size_t n); gsl_vector_complex_float * gsl_vector_complex_float_alloc_from_block (gsl_block_complex_float * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_complex_float * gsl_vector_complex_float_alloc_from_vector (gsl_vector_complex_float * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_complex_float_free (gsl_vector_complex_float * v); _gsl_vector_complex_float_view gsl_vector_complex_float_view_array (float *base, size_t n); _gsl_vector_complex_float_view gsl_vector_complex_float_view_array_with_stride (float *base, size_t stride, size_t n); _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_view_array (const float *base, size_t n); _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_view_array_with_stride (const float *base, size_t stride, size_t n); _gsl_vector_complex_float_view gsl_vector_complex_float_subvector (gsl_vector_complex_float *base, size_t i, size_t n); _gsl_vector_complex_float_view gsl_vector_complex_float_subvector_with_stride (gsl_vector_complex_float *v, size_t i, size_t stride, size_t n); _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_subvector (const gsl_vector_complex_float *base, size_t i, size_t n); _gsl_vector_complex_float_const_view gsl_vector_complex_float_const_subvector_with_stride (const gsl_vector_complex_float *v, size_t i, size_t stride, size_t n); _gsl_vector_float_view gsl_vector_complex_float_real (gsl_vector_complex_float *v); _gsl_vector_float_view gsl_vector_complex_float_imag (gsl_vector_complex_float *v); _gsl_vector_float_const_view gsl_vector_complex_float_const_real (const gsl_vector_complex_float *v); _gsl_vector_float_const_view gsl_vector_complex_float_const_imag (const gsl_vector_complex_float *v); gsl_complex_float gsl_vector_complex_float_get (const gsl_vector_complex_float * v, const size_t i); void gsl_vector_complex_float_set (gsl_vector_complex_float * v, const size_t i, gsl_complex_float z); gsl_complex_float *gsl_vector_complex_float_ptr (gsl_vector_complex_float * v, const size_t i); const gsl_complex_float *gsl_vector_complex_float_const_ptr (const gsl_vector_complex_float * v, const size_t i); void gsl_vector_complex_float_set_zero (gsl_vector_complex_float * v); void gsl_vector_complex_float_set_all (gsl_vector_complex_float * v, gsl_complex_float z); int gsl_vector_complex_float_set_basis (gsl_vector_complex_float * v, size_t i); int gsl_vector_complex_float_fread (FILE * stream, gsl_vector_complex_float * v); int gsl_vector_complex_float_fwrite (FILE * stream, const gsl_vector_complex_float * v); int gsl_vector_complex_float_fscanf (FILE * stream, gsl_vector_complex_float * v); int gsl_vector_complex_float_fprintf (FILE * stream, const gsl_vector_complex_float * v, const char *format); int gsl_vector_complex_float_memcpy (gsl_vector_complex_float * dest, const gsl_vector_complex_float * src); int gsl_vector_complex_float_reverse (gsl_vector_complex_float * v); int gsl_vector_complex_float_swap (gsl_vector_complex_float * v, gsl_vector_complex_float * w); int gsl_vector_complex_float_swap_elements (gsl_vector_complex_float * v, const size_t i, const size_t j); int gsl_vector_complex_float_isnull (const gsl_vector_complex_float * v); extern int gsl_check_range; extern inline gsl_complex_float gsl_vector_complex_float_get (const gsl_vector_complex_float * v, const size_t i) { if (i >= v->size) { const gsl_complex_float zero = {{0, 0}}; do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_float.h", 193, GSL_EINVAL) ; return zero ; } while (0); } return *((gsl_complex_float*)&((v)->data[2*(i)*(v)->stride])); } extern inline void gsl_vector_complex_float_set (gsl_vector_complex_float * v, const size_t i, gsl_complex_float z) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_float.h", 207, GSL_EINVAL) ; return ; } while (0); } *((gsl_complex_float*)&((v)->data[2*(i)*(v)->stride])) = z; } extern inline gsl_complex_float * gsl_vector_complex_float_ptr (gsl_vector_complex_float * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_float.h", 221, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex_float*)&((v)->data[2*(i)*(v)->stride])); } extern inline const gsl_complex_float * gsl_vector_complex_float_const_ptr (const gsl_vector_complex_float * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_complex_float.h", 235, GSL_EINVAL) ; return 0 ; } while (0); } return ((gsl_complex_float*)&((v)->data[2*(i)*(v)->stride])); } # 7 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_ulong.h" 1 # 26 "../gsl/gsl_vector_ulong.h" # 1 "../gsl/gsl_block_ulong.h" 1 # 36 "../gsl/gsl_block_ulong.h" struct gsl_block_ulong_struct { size_t size; unsigned long *data; }; typedef struct gsl_block_ulong_struct gsl_block_ulong; gsl_block_ulong *gsl_block_ulong_alloc (const size_t n); gsl_block_ulong *gsl_block_ulong_calloc (const size_t n); void gsl_block_ulong_free (gsl_block_ulong * b); int gsl_block_ulong_fread (FILE * stream, gsl_block_ulong * b); int gsl_block_ulong_fwrite (FILE * stream, const gsl_block_ulong * b); int gsl_block_ulong_fscanf (FILE * stream, gsl_block_ulong * b); int gsl_block_ulong_fprintf (FILE * stream, const gsl_block_ulong * b, const char *format); int gsl_block_ulong_raw_fread (FILE * stream, unsigned long * b, const size_t n, const size_t stride); int gsl_block_ulong_raw_fwrite (FILE * stream, const unsigned long * b, const size_t n, const size_t stride); int gsl_block_ulong_raw_fscanf (FILE * stream, unsigned long * b, const size_t n, const size_t stride); int gsl_block_ulong_raw_fprintf (FILE * stream, const unsigned long * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_ulong_size (const gsl_block_ulong * b); unsigned long * gsl_block_ulong_data (const gsl_block_ulong * b); # 27 "../gsl/gsl_vector_ulong.h" 2 # 38 "../gsl/gsl_vector_ulong.h" typedef struct { size_t size; size_t stride; unsigned long *data; gsl_block_ulong *block; int owner; } gsl_vector_ulong; typedef struct { gsl_vector_ulong vector; } _gsl_vector_ulong_view; typedef _gsl_vector_ulong_view gsl_vector_ulong_view; typedef struct { gsl_vector_ulong vector; } _gsl_vector_ulong_const_view; typedef const _gsl_vector_ulong_const_view gsl_vector_ulong_const_view; gsl_vector_ulong *gsl_vector_ulong_alloc (const size_t n); gsl_vector_ulong *gsl_vector_ulong_calloc (const size_t n); gsl_vector_ulong *gsl_vector_ulong_alloc_from_block (gsl_block_ulong * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_ulong *gsl_vector_ulong_alloc_from_vector (gsl_vector_ulong * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_ulong_free (gsl_vector_ulong * v); _gsl_vector_ulong_view gsl_vector_ulong_view_array (unsigned long *v, size_t n); _gsl_vector_ulong_view gsl_vector_ulong_view_array_with_stride (unsigned long *base, size_t stride, size_t n); _gsl_vector_ulong_const_view gsl_vector_ulong_const_view_array (const unsigned long *v, size_t n); _gsl_vector_ulong_const_view gsl_vector_ulong_const_view_array_with_stride (const unsigned long *base, size_t stride, size_t n); _gsl_vector_ulong_view gsl_vector_ulong_subvector (gsl_vector_ulong *v, size_t i, size_t n); _gsl_vector_ulong_view gsl_vector_ulong_subvector_with_stride (gsl_vector_ulong *v, size_t i, size_t stride, size_t n); _gsl_vector_ulong_const_view gsl_vector_ulong_const_subvector (const gsl_vector_ulong *v, size_t i, size_t n); _gsl_vector_ulong_const_view gsl_vector_ulong_const_subvector_with_stride (const gsl_vector_ulong *v, size_t i, size_t stride, size_t n); unsigned long gsl_vector_ulong_get (const gsl_vector_ulong * v, const size_t i); void gsl_vector_ulong_set (gsl_vector_ulong * v, const size_t i, unsigned long x); unsigned long *gsl_vector_ulong_ptr (gsl_vector_ulong * v, const size_t i); const unsigned long *gsl_vector_ulong_const_ptr (const gsl_vector_ulong * v, const size_t i); void gsl_vector_ulong_set_zero (gsl_vector_ulong * v); void gsl_vector_ulong_set_all (gsl_vector_ulong * v, unsigned long x); int gsl_vector_ulong_set_basis (gsl_vector_ulong * v, size_t i); int gsl_vector_ulong_fread (FILE * stream, gsl_vector_ulong * v); int gsl_vector_ulong_fwrite (FILE * stream, const gsl_vector_ulong * v); int gsl_vector_ulong_fscanf (FILE * stream, gsl_vector_ulong * v); int gsl_vector_ulong_fprintf (FILE * stream, const gsl_vector_ulong * v, const char *format); int gsl_vector_ulong_memcpy (gsl_vector_ulong * dest, const gsl_vector_ulong * src); int gsl_vector_ulong_reverse (gsl_vector_ulong * v); int gsl_vector_ulong_swap (gsl_vector_ulong * v, gsl_vector_ulong * w); int gsl_vector_ulong_swap_elements (gsl_vector_ulong * v, const size_t i, const size_t j); unsigned long gsl_vector_ulong_max (const gsl_vector_ulong * v); unsigned long gsl_vector_ulong_min (const gsl_vector_ulong * v); void gsl_vector_ulong_minmax (const gsl_vector_ulong * v, unsigned long * min_out, unsigned long * max_out); size_t gsl_vector_ulong_max_index (const gsl_vector_ulong * v); size_t gsl_vector_ulong_min_index (const gsl_vector_ulong * v); void gsl_vector_ulong_minmax_index (const gsl_vector_ulong * v, size_t * imin, size_t * imax); int gsl_vector_ulong_add (gsl_vector_ulong * a, const gsl_vector_ulong * b); int gsl_vector_ulong_sub (gsl_vector_ulong * a, const gsl_vector_ulong * b); int gsl_vector_ulong_mul (gsl_vector_ulong * a, const gsl_vector_ulong * b); int gsl_vector_ulong_div (gsl_vector_ulong * a, const gsl_vector_ulong * b); int gsl_vector_ulong_scale (gsl_vector_ulong * a, const double x); int gsl_vector_ulong_add_constant (gsl_vector_ulong * a, const double x); int gsl_vector_ulong_isnull (const gsl_vector_ulong * v); extern int gsl_check_range; extern inline unsigned long gsl_vector_ulong_get (const gsl_vector_ulong * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ulong.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_ulong_set (gsl_vector_ulong * v, const size_t i, unsigned long x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ulong.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline unsigned long * gsl_vector_ulong_ptr (gsl_vector_ulong * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ulong.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (unsigned long *) (v->data + i * v->stride); } extern inline const unsigned long * gsl_vector_ulong_const_ptr (const gsl_vector_ulong * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ulong.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const unsigned long *) (v->data + i * v->stride); } # 13 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_long.h" 1 # 26 "../gsl/gsl_vector_long.h" # 1 "../gsl/gsl_block_long.h" 1 # 36 "../gsl/gsl_block_long.h" struct gsl_block_long_struct { size_t size; long *data; }; typedef struct gsl_block_long_struct gsl_block_long; gsl_block_long *gsl_block_long_alloc (const size_t n); gsl_block_long *gsl_block_long_calloc (const size_t n); void gsl_block_long_free (gsl_block_long * b); int gsl_block_long_fread (FILE * stream, gsl_block_long * b); int gsl_block_long_fwrite (FILE * stream, const gsl_block_long * b); int gsl_block_long_fscanf (FILE * stream, gsl_block_long * b); int gsl_block_long_fprintf (FILE * stream, const gsl_block_long * b, const char *format); int gsl_block_long_raw_fread (FILE * stream, long * b, const size_t n, const size_t stride); int gsl_block_long_raw_fwrite (FILE * stream, const long * b, const size_t n, const size_t stride); int gsl_block_long_raw_fscanf (FILE * stream, long * b, const size_t n, const size_t stride); int gsl_block_long_raw_fprintf (FILE * stream, const long * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_long_size (const gsl_block_long * b); long * gsl_block_long_data (const gsl_block_long * b); # 27 "../gsl/gsl_vector_long.h" 2 # 38 "../gsl/gsl_vector_long.h" typedef struct { size_t size; size_t stride; long *data; gsl_block_long *block; int owner; } gsl_vector_long; typedef struct { gsl_vector_long vector; } _gsl_vector_long_view; typedef _gsl_vector_long_view gsl_vector_long_view; typedef struct { gsl_vector_long vector; } _gsl_vector_long_const_view; typedef const _gsl_vector_long_const_view gsl_vector_long_const_view; gsl_vector_long *gsl_vector_long_alloc (const size_t n); gsl_vector_long *gsl_vector_long_calloc (const size_t n); gsl_vector_long *gsl_vector_long_alloc_from_block (gsl_block_long * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_long *gsl_vector_long_alloc_from_vector (gsl_vector_long * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_long_free (gsl_vector_long * v); _gsl_vector_long_view gsl_vector_long_view_array (long *v, size_t n); _gsl_vector_long_view gsl_vector_long_view_array_with_stride (long *base, size_t stride, size_t n); _gsl_vector_long_const_view gsl_vector_long_const_view_array (const long *v, size_t n); _gsl_vector_long_const_view gsl_vector_long_const_view_array_with_stride (const long *base, size_t stride, size_t n); _gsl_vector_long_view gsl_vector_long_subvector (gsl_vector_long *v, size_t i, size_t n); _gsl_vector_long_view gsl_vector_long_subvector_with_stride (gsl_vector_long *v, size_t i, size_t stride, size_t n); _gsl_vector_long_const_view gsl_vector_long_const_subvector (const gsl_vector_long *v, size_t i, size_t n); _gsl_vector_long_const_view gsl_vector_long_const_subvector_with_stride (const gsl_vector_long *v, size_t i, size_t stride, size_t n); long gsl_vector_long_get (const gsl_vector_long * v, const size_t i); void gsl_vector_long_set (gsl_vector_long * v, const size_t i, long x); long *gsl_vector_long_ptr (gsl_vector_long * v, const size_t i); const long *gsl_vector_long_const_ptr (const gsl_vector_long * v, const size_t i); void gsl_vector_long_set_zero (gsl_vector_long * v); void gsl_vector_long_set_all (gsl_vector_long * v, long x); int gsl_vector_long_set_basis (gsl_vector_long * v, size_t i); int gsl_vector_long_fread (FILE * stream, gsl_vector_long * v); int gsl_vector_long_fwrite (FILE * stream, const gsl_vector_long * v); int gsl_vector_long_fscanf (FILE * stream, gsl_vector_long * v); int gsl_vector_long_fprintf (FILE * stream, const gsl_vector_long * v, const char *format); int gsl_vector_long_memcpy (gsl_vector_long * dest, const gsl_vector_long * src); int gsl_vector_long_reverse (gsl_vector_long * v); int gsl_vector_long_swap (gsl_vector_long * v, gsl_vector_long * w); int gsl_vector_long_swap_elements (gsl_vector_long * v, const size_t i, const size_t j); long gsl_vector_long_max (const gsl_vector_long * v); long gsl_vector_long_min (const gsl_vector_long * v); void gsl_vector_long_minmax (const gsl_vector_long * v, long * min_out, long * max_out); size_t gsl_vector_long_max_index (const gsl_vector_long * v); size_t gsl_vector_long_min_index (const gsl_vector_long * v); void gsl_vector_long_minmax_index (const gsl_vector_long * v, size_t * imin, size_t * imax); int gsl_vector_long_add (gsl_vector_long * a, const gsl_vector_long * b); int gsl_vector_long_sub (gsl_vector_long * a, const gsl_vector_long * b); int gsl_vector_long_mul (gsl_vector_long * a, const gsl_vector_long * b); int gsl_vector_long_div (gsl_vector_long * a, const gsl_vector_long * b); int gsl_vector_long_scale (gsl_vector_long * a, const double x); int gsl_vector_long_add_constant (gsl_vector_long * a, const double x); int gsl_vector_long_isnull (const gsl_vector_long * v); extern int gsl_check_range; extern inline long gsl_vector_long_get (const gsl_vector_long * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_long_set (gsl_vector_long * v, const size_t i, long x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline long * gsl_vector_long_ptr (gsl_vector_long * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (long *) (v->data + i * v->stride); } extern inline const long * gsl_vector_long_const_ptr (const gsl_vector_long * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_long.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const long *) (v->data + i * v->stride); } # 14 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_uint.h" 1 # 26 "../gsl/gsl_vector_uint.h" # 1 "../gsl/gsl_block_uint.h" 1 # 36 "../gsl/gsl_block_uint.h" struct gsl_block_uint_struct { size_t size; unsigned int *data; }; typedef struct gsl_block_uint_struct gsl_block_uint; gsl_block_uint *gsl_block_uint_alloc (const size_t n); gsl_block_uint *gsl_block_uint_calloc (const size_t n); void gsl_block_uint_free (gsl_block_uint * b); int gsl_block_uint_fread (FILE * stream, gsl_block_uint * b); int gsl_block_uint_fwrite (FILE * stream, const gsl_block_uint * b); int gsl_block_uint_fscanf (FILE * stream, gsl_block_uint * b); int gsl_block_uint_fprintf (FILE * stream, const gsl_block_uint * b, const char *format); int gsl_block_uint_raw_fread (FILE * stream, unsigned int * b, const size_t n, const size_t stride); int gsl_block_uint_raw_fwrite (FILE * stream, const unsigned int * b, const size_t n, const size_t stride); int gsl_block_uint_raw_fscanf (FILE * stream, unsigned int * b, const size_t n, const size_t stride); int gsl_block_uint_raw_fprintf (FILE * stream, const unsigned int * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_uint_size (const gsl_block_uint * b); unsigned int * gsl_block_uint_data (const gsl_block_uint * b); # 27 "../gsl/gsl_vector_uint.h" 2 # 38 "../gsl/gsl_vector_uint.h" typedef struct { size_t size; size_t stride; unsigned int *data; gsl_block_uint *block; int owner; } gsl_vector_uint; typedef struct { gsl_vector_uint vector; } _gsl_vector_uint_view; typedef _gsl_vector_uint_view gsl_vector_uint_view; typedef struct { gsl_vector_uint vector; } _gsl_vector_uint_const_view; typedef const _gsl_vector_uint_const_view gsl_vector_uint_const_view; gsl_vector_uint *gsl_vector_uint_alloc (const size_t n); gsl_vector_uint *gsl_vector_uint_calloc (const size_t n); gsl_vector_uint *gsl_vector_uint_alloc_from_block (gsl_block_uint * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_uint *gsl_vector_uint_alloc_from_vector (gsl_vector_uint * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_uint_free (gsl_vector_uint * v); _gsl_vector_uint_view gsl_vector_uint_view_array (unsigned int *v, size_t n); _gsl_vector_uint_view gsl_vector_uint_view_array_with_stride (unsigned int *base, size_t stride, size_t n); _gsl_vector_uint_const_view gsl_vector_uint_const_view_array (const unsigned int *v, size_t n); _gsl_vector_uint_const_view gsl_vector_uint_const_view_array_with_stride (const unsigned int *base, size_t stride, size_t n); _gsl_vector_uint_view gsl_vector_uint_subvector (gsl_vector_uint *v, size_t i, size_t n); _gsl_vector_uint_view gsl_vector_uint_subvector_with_stride (gsl_vector_uint *v, size_t i, size_t stride, size_t n); _gsl_vector_uint_const_view gsl_vector_uint_const_subvector (const gsl_vector_uint *v, size_t i, size_t n); _gsl_vector_uint_const_view gsl_vector_uint_const_subvector_with_stride (const gsl_vector_uint *v, size_t i, size_t stride, size_t n); unsigned int gsl_vector_uint_get (const gsl_vector_uint * v, const size_t i); void gsl_vector_uint_set (gsl_vector_uint * v, const size_t i, unsigned int x); unsigned int *gsl_vector_uint_ptr (gsl_vector_uint * v, const size_t i); const unsigned int *gsl_vector_uint_const_ptr (const gsl_vector_uint * v, const size_t i); void gsl_vector_uint_set_zero (gsl_vector_uint * v); void gsl_vector_uint_set_all (gsl_vector_uint * v, unsigned int x); int gsl_vector_uint_set_basis (gsl_vector_uint * v, size_t i); int gsl_vector_uint_fread (FILE * stream, gsl_vector_uint * v); int gsl_vector_uint_fwrite (FILE * stream, const gsl_vector_uint * v); int gsl_vector_uint_fscanf (FILE * stream, gsl_vector_uint * v); int gsl_vector_uint_fprintf (FILE * stream, const gsl_vector_uint * v, const char *format); int gsl_vector_uint_memcpy (gsl_vector_uint * dest, const gsl_vector_uint * src); int gsl_vector_uint_reverse (gsl_vector_uint * v); int gsl_vector_uint_swap (gsl_vector_uint * v, gsl_vector_uint * w); int gsl_vector_uint_swap_elements (gsl_vector_uint * v, const size_t i, const size_t j); unsigned int gsl_vector_uint_max (const gsl_vector_uint * v); unsigned int gsl_vector_uint_min (const gsl_vector_uint * v); void gsl_vector_uint_minmax (const gsl_vector_uint * v, unsigned int * min_out, unsigned int * max_out); size_t gsl_vector_uint_max_index (const gsl_vector_uint * v); size_t gsl_vector_uint_min_index (const gsl_vector_uint * v); void gsl_vector_uint_minmax_index (const gsl_vector_uint * v, size_t * imin, size_t * imax); int gsl_vector_uint_add (gsl_vector_uint * a, const gsl_vector_uint * b); int gsl_vector_uint_sub (gsl_vector_uint * a, const gsl_vector_uint * b); int gsl_vector_uint_mul (gsl_vector_uint * a, const gsl_vector_uint * b); int gsl_vector_uint_div (gsl_vector_uint * a, const gsl_vector_uint * b); int gsl_vector_uint_scale (gsl_vector_uint * a, const double x); int gsl_vector_uint_add_constant (gsl_vector_uint * a, const double x); int gsl_vector_uint_isnull (const gsl_vector_uint * v); extern int gsl_check_range; extern inline unsigned int gsl_vector_uint_get (const gsl_vector_uint * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uint.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_uint_set (gsl_vector_uint * v, const size_t i, unsigned int x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uint.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline unsigned int * gsl_vector_uint_ptr (gsl_vector_uint * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uint.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (unsigned int *) (v->data + i * v->stride); } extern inline const unsigned int * gsl_vector_uint_const_ptr (const gsl_vector_uint * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uint.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const unsigned int *) (v->data + i * v->stride); } # 16 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_int.h" 1 # 26 "../gsl/gsl_vector_int.h" # 1 "../gsl/gsl_block_int.h" 1 # 36 "../gsl/gsl_block_int.h" struct gsl_block_int_struct { size_t size; int *data; }; typedef struct gsl_block_int_struct gsl_block_int; gsl_block_int *gsl_block_int_alloc (const size_t n); gsl_block_int *gsl_block_int_calloc (const size_t n); void gsl_block_int_free (gsl_block_int * b); int gsl_block_int_fread (FILE * stream, gsl_block_int * b); int gsl_block_int_fwrite (FILE * stream, const gsl_block_int * b); int gsl_block_int_fscanf (FILE * stream, gsl_block_int * b); int gsl_block_int_fprintf (FILE * stream, const gsl_block_int * b, const char *format); int gsl_block_int_raw_fread (FILE * stream, int * b, const size_t n, const size_t stride); int gsl_block_int_raw_fwrite (FILE * stream, const int * b, const size_t n, const size_t stride); int gsl_block_int_raw_fscanf (FILE * stream, int * b, const size_t n, const size_t stride); int gsl_block_int_raw_fprintf (FILE * stream, const int * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_int_size (const gsl_block_int * b); int * gsl_block_int_data (const gsl_block_int * b); # 27 "../gsl/gsl_vector_int.h" 2 # 38 "../gsl/gsl_vector_int.h" typedef struct { size_t size; size_t stride; int *data; gsl_block_int *block; int owner; } gsl_vector_int; typedef struct { gsl_vector_int vector; } _gsl_vector_int_view; typedef _gsl_vector_int_view gsl_vector_int_view; typedef struct { gsl_vector_int vector; } _gsl_vector_int_const_view; typedef const _gsl_vector_int_const_view gsl_vector_int_const_view; gsl_vector_int *gsl_vector_int_alloc (const size_t n); gsl_vector_int *gsl_vector_int_calloc (const size_t n); gsl_vector_int *gsl_vector_int_alloc_from_block (gsl_block_int * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_int *gsl_vector_int_alloc_from_vector (gsl_vector_int * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_int_free (gsl_vector_int * v); _gsl_vector_int_view gsl_vector_int_view_array (int *v, size_t n); _gsl_vector_int_view gsl_vector_int_view_array_with_stride (int *base, size_t stride, size_t n); _gsl_vector_int_const_view gsl_vector_int_const_view_array (const int *v, size_t n); _gsl_vector_int_const_view gsl_vector_int_const_view_array_with_stride (const int *base, size_t stride, size_t n); _gsl_vector_int_view gsl_vector_int_subvector (gsl_vector_int *v, size_t i, size_t n); _gsl_vector_int_view gsl_vector_int_subvector_with_stride (gsl_vector_int *v, size_t i, size_t stride, size_t n); _gsl_vector_int_const_view gsl_vector_int_const_subvector (const gsl_vector_int *v, size_t i, size_t n); _gsl_vector_int_const_view gsl_vector_int_const_subvector_with_stride (const gsl_vector_int *v, size_t i, size_t stride, size_t n); int gsl_vector_int_get (const gsl_vector_int * v, const size_t i); void gsl_vector_int_set (gsl_vector_int * v, const size_t i, int x); int *gsl_vector_int_ptr (gsl_vector_int * v, const size_t i); const int *gsl_vector_int_const_ptr (const gsl_vector_int * v, const size_t i); void gsl_vector_int_set_zero (gsl_vector_int * v); void gsl_vector_int_set_all (gsl_vector_int * v, int x); int gsl_vector_int_set_basis (gsl_vector_int * v, size_t i); int gsl_vector_int_fread (FILE * stream, gsl_vector_int * v); int gsl_vector_int_fwrite (FILE * stream, const gsl_vector_int * v); int gsl_vector_int_fscanf (FILE * stream, gsl_vector_int * v); int gsl_vector_int_fprintf (FILE * stream, const gsl_vector_int * v, const char *format); int gsl_vector_int_memcpy (gsl_vector_int * dest, const gsl_vector_int * src); int gsl_vector_int_reverse (gsl_vector_int * v); int gsl_vector_int_swap (gsl_vector_int * v, gsl_vector_int * w); int gsl_vector_int_swap_elements (gsl_vector_int * v, const size_t i, const size_t j); int gsl_vector_int_max (const gsl_vector_int * v); int gsl_vector_int_min (const gsl_vector_int * v); void gsl_vector_int_minmax (const gsl_vector_int * v, int * min_out, int * max_out); size_t gsl_vector_int_max_index (const gsl_vector_int * v); size_t gsl_vector_int_min_index (const gsl_vector_int * v); void gsl_vector_int_minmax_index (const gsl_vector_int * v, size_t * imin, size_t * imax); int gsl_vector_int_add (gsl_vector_int * a, const gsl_vector_int * b); int gsl_vector_int_sub (gsl_vector_int * a, const gsl_vector_int * b); int gsl_vector_int_mul (gsl_vector_int * a, const gsl_vector_int * b); int gsl_vector_int_div (gsl_vector_int * a, const gsl_vector_int * b); int gsl_vector_int_scale (gsl_vector_int * a, const double x); int gsl_vector_int_add_constant (gsl_vector_int * a, const double x); int gsl_vector_int_isnull (const gsl_vector_int * v); extern int gsl_check_range; extern inline int gsl_vector_int_get (const gsl_vector_int * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_int.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_int_set (gsl_vector_int * v, const size_t i, int x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_int.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline int * gsl_vector_int_ptr (gsl_vector_int * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_int.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (int *) (v->data + i * v->stride); } extern inline const int * gsl_vector_int_const_ptr (const gsl_vector_int * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_int.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const int *) (v->data + i * v->stride); } # 17 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_ushort.h" 1 # 26 "../gsl/gsl_vector_ushort.h" # 1 "../gsl/gsl_block_ushort.h" 1 # 36 "../gsl/gsl_block_ushort.h" struct gsl_block_ushort_struct { size_t size; unsigned short *data; }; typedef struct gsl_block_ushort_struct gsl_block_ushort; gsl_block_ushort *gsl_block_ushort_alloc (const size_t n); gsl_block_ushort *gsl_block_ushort_calloc (const size_t n); void gsl_block_ushort_free (gsl_block_ushort * b); int gsl_block_ushort_fread (FILE * stream, gsl_block_ushort * b); int gsl_block_ushort_fwrite (FILE * stream, const gsl_block_ushort * b); int gsl_block_ushort_fscanf (FILE * stream, gsl_block_ushort * b); int gsl_block_ushort_fprintf (FILE * stream, const gsl_block_ushort * b, const char *format); int gsl_block_ushort_raw_fread (FILE * stream, unsigned short * b, const size_t n, const size_t stride); int gsl_block_ushort_raw_fwrite (FILE * stream, const unsigned short * b, const size_t n, const size_t stride); int gsl_block_ushort_raw_fscanf (FILE * stream, unsigned short * b, const size_t n, const size_t stride); int gsl_block_ushort_raw_fprintf (FILE * stream, const unsigned short * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_ushort_size (const gsl_block_ushort * b); unsigned short * gsl_block_ushort_data (const gsl_block_ushort * b); # 27 "../gsl/gsl_vector_ushort.h" 2 # 38 "../gsl/gsl_vector_ushort.h" typedef struct { size_t size; size_t stride; unsigned short *data; gsl_block_ushort *block; int owner; } gsl_vector_ushort; typedef struct { gsl_vector_ushort vector; } _gsl_vector_ushort_view; typedef _gsl_vector_ushort_view gsl_vector_ushort_view; typedef struct { gsl_vector_ushort vector; } _gsl_vector_ushort_const_view; typedef const _gsl_vector_ushort_const_view gsl_vector_ushort_const_view; gsl_vector_ushort *gsl_vector_ushort_alloc (const size_t n); gsl_vector_ushort *gsl_vector_ushort_calloc (const size_t n); gsl_vector_ushort *gsl_vector_ushort_alloc_from_block (gsl_block_ushort * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_ushort *gsl_vector_ushort_alloc_from_vector (gsl_vector_ushort * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_ushort_free (gsl_vector_ushort * v); _gsl_vector_ushort_view gsl_vector_ushort_view_array (unsigned short *v, size_t n); _gsl_vector_ushort_view gsl_vector_ushort_view_array_with_stride (unsigned short *base, size_t stride, size_t n); _gsl_vector_ushort_const_view gsl_vector_ushort_const_view_array (const unsigned short *v, size_t n); _gsl_vector_ushort_const_view gsl_vector_ushort_const_view_array_with_stride (const unsigned short *base, size_t stride, size_t n); _gsl_vector_ushort_view gsl_vector_ushort_subvector (gsl_vector_ushort *v, size_t i, size_t n); _gsl_vector_ushort_view gsl_vector_ushort_subvector_with_stride (gsl_vector_ushort *v, size_t i, size_t stride, size_t n); _gsl_vector_ushort_const_view gsl_vector_ushort_const_subvector (const gsl_vector_ushort *v, size_t i, size_t n); _gsl_vector_ushort_const_view gsl_vector_ushort_const_subvector_with_stride (const gsl_vector_ushort *v, size_t i, size_t stride, size_t n); unsigned short gsl_vector_ushort_get (const gsl_vector_ushort * v, const size_t i); void gsl_vector_ushort_set (gsl_vector_ushort * v, const size_t i, unsigned short x); unsigned short *gsl_vector_ushort_ptr (gsl_vector_ushort * v, const size_t i); const unsigned short *gsl_vector_ushort_const_ptr (const gsl_vector_ushort * v, const size_t i); void gsl_vector_ushort_set_zero (gsl_vector_ushort * v); void gsl_vector_ushort_set_all (gsl_vector_ushort * v, unsigned short x); int gsl_vector_ushort_set_basis (gsl_vector_ushort * v, size_t i); int gsl_vector_ushort_fread (FILE * stream, gsl_vector_ushort * v); int gsl_vector_ushort_fwrite (FILE * stream, const gsl_vector_ushort * v); int gsl_vector_ushort_fscanf (FILE * stream, gsl_vector_ushort * v); int gsl_vector_ushort_fprintf (FILE * stream, const gsl_vector_ushort * v, const char *format); int gsl_vector_ushort_memcpy (gsl_vector_ushort * dest, const gsl_vector_ushort * src); int gsl_vector_ushort_reverse (gsl_vector_ushort * v); int gsl_vector_ushort_swap (gsl_vector_ushort * v, gsl_vector_ushort * w); int gsl_vector_ushort_swap_elements (gsl_vector_ushort * v, const size_t i, const size_t j); unsigned short gsl_vector_ushort_max (const gsl_vector_ushort * v); unsigned short gsl_vector_ushort_min (const gsl_vector_ushort * v); void gsl_vector_ushort_minmax (const gsl_vector_ushort * v, unsigned short * min_out, unsigned short * max_out); size_t gsl_vector_ushort_max_index (const gsl_vector_ushort * v); size_t gsl_vector_ushort_min_index (const gsl_vector_ushort * v); void gsl_vector_ushort_minmax_index (const gsl_vector_ushort * v, size_t * imin, size_t * imax); int gsl_vector_ushort_add (gsl_vector_ushort * a, const gsl_vector_ushort * b); int gsl_vector_ushort_sub (gsl_vector_ushort * a, const gsl_vector_ushort * b); int gsl_vector_ushort_mul (gsl_vector_ushort * a, const gsl_vector_ushort * b); int gsl_vector_ushort_div (gsl_vector_ushort * a, const gsl_vector_ushort * b); int gsl_vector_ushort_scale (gsl_vector_ushort * a, const double x); int gsl_vector_ushort_add_constant (gsl_vector_ushort * a, const double x); int gsl_vector_ushort_isnull (const gsl_vector_ushort * v); extern int gsl_check_range; extern inline unsigned short gsl_vector_ushort_get (const gsl_vector_ushort * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ushort.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_ushort_set (gsl_vector_ushort * v, const size_t i, unsigned short x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ushort.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline unsigned short * gsl_vector_ushort_ptr (gsl_vector_ushort * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ushort.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (unsigned short *) (v->data + i * v->stride); } extern inline const unsigned short * gsl_vector_ushort_const_ptr (const gsl_vector_ushort * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_ushort.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const unsigned short *) (v->data + i * v->stride); } # 19 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_short.h" 1 # 26 "../gsl/gsl_vector_short.h" # 1 "../gsl/gsl_block_short.h" 1 # 36 "../gsl/gsl_block_short.h" struct gsl_block_short_struct { size_t size; short *data; }; typedef struct gsl_block_short_struct gsl_block_short; gsl_block_short *gsl_block_short_alloc (const size_t n); gsl_block_short *gsl_block_short_calloc (const size_t n); void gsl_block_short_free (gsl_block_short * b); int gsl_block_short_fread (FILE * stream, gsl_block_short * b); int gsl_block_short_fwrite (FILE * stream, const gsl_block_short * b); int gsl_block_short_fscanf (FILE * stream, gsl_block_short * b); int gsl_block_short_fprintf (FILE * stream, const gsl_block_short * b, const char *format); int gsl_block_short_raw_fread (FILE * stream, short * b, const size_t n, const size_t stride); int gsl_block_short_raw_fwrite (FILE * stream, const short * b, const size_t n, const size_t stride); int gsl_block_short_raw_fscanf (FILE * stream, short * b, const size_t n, const size_t stride); int gsl_block_short_raw_fprintf (FILE * stream, const short * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_short_size (const gsl_block_short * b); short * gsl_block_short_data (const gsl_block_short * b); # 27 "../gsl/gsl_vector_short.h" 2 # 38 "../gsl/gsl_vector_short.h" typedef struct { size_t size; size_t stride; short *data; gsl_block_short *block; int owner; } gsl_vector_short; typedef struct { gsl_vector_short vector; } _gsl_vector_short_view; typedef _gsl_vector_short_view gsl_vector_short_view; typedef struct { gsl_vector_short vector; } _gsl_vector_short_const_view; typedef const _gsl_vector_short_const_view gsl_vector_short_const_view; gsl_vector_short *gsl_vector_short_alloc (const size_t n); gsl_vector_short *gsl_vector_short_calloc (const size_t n); gsl_vector_short *gsl_vector_short_alloc_from_block (gsl_block_short * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_short *gsl_vector_short_alloc_from_vector (gsl_vector_short * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_short_free (gsl_vector_short * v); _gsl_vector_short_view gsl_vector_short_view_array (short *v, size_t n); _gsl_vector_short_view gsl_vector_short_view_array_with_stride (short *base, size_t stride, size_t n); _gsl_vector_short_const_view gsl_vector_short_const_view_array (const short *v, size_t n); _gsl_vector_short_const_view gsl_vector_short_const_view_array_with_stride (const short *base, size_t stride, size_t n); _gsl_vector_short_view gsl_vector_short_subvector (gsl_vector_short *v, size_t i, size_t n); _gsl_vector_short_view gsl_vector_short_subvector_with_stride (gsl_vector_short *v, size_t i, size_t stride, size_t n); _gsl_vector_short_const_view gsl_vector_short_const_subvector (const gsl_vector_short *v, size_t i, size_t n); _gsl_vector_short_const_view gsl_vector_short_const_subvector_with_stride (const gsl_vector_short *v, size_t i, size_t stride, size_t n); short gsl_vector_short_get (const gsl_vector_short * v, const size_t i); void gsl_vector_short_set (gsl_vector_short * v, const size_t i, short x); short *gsl_vector_short_ptr (gsl_vector_short * v, const size_t i); const short *gsl_vector_short_const_ptr (const gsl_vector_short * v, const size_t i); void gsl_vector_short_set_zero (gsl_vector_short * v); void gsl_vector_short_set_all (gsl_vector_short * v, short x); int gsl_vector_short_set_basis (gsl_vector_short * v, size_t i); int gsl_vector_short_fread (FILE * stream, gsl_vector_short * v); int gsl_vector_short_fwrite (FILE * stream, const gsl_vector_short * v); int gsl_vector_short_fscanf (FILE * stream, gsl_vector_short * v); int gsl_vector_short_fprintf (FILE * stream, const gsl_vector_short * v, const char *format); int gsl_vector_short_memcpy (gsl_vector_short * dest, const gsl_vector_short * src); int gsl_vector_short_reverse (gsl_vector_short * v); int gsl_vector_short_swap (gsl_vector_short * v, gsl_vector_short * w); int gsl_vector_short_swap_elements (gsl_vector_short * v, const size_t i, const size_t j); short gsl_vector_short_max (const gsl_vector_short * v); short gsl_vector_short_min (const gsl_vector_short * v); void gsl_vector_short_minmax (const gsl_vector_short * v, short * min_out, short * max_out); size_t gsl_vector_short_max_index (const gsl_vector_short * v); size_t gsl_vector_short_min_index (const gsl_vector_short * v); void gsl_vector_short_minmax_index (const gsl_vector_short * v, size_t * imin, size_t * imax); int gsl_vector_short_add (gsl_vector_short * a, const gsl_vector_short * b); int gsl_vector_short_sub (gsl_vector_short * a, const gsl_vector_short * b); int gsl_vector_short_mul (gsl_vector_short * a, const gsl_vector_short * b); int gsl_vector_short_div (gsl_vector_short * a, const gsl_vector_short * b); int gsl_vector_short_scale (gsl_vector_short * a, const double x); int gsl_vector_short_add_constant (gsl_vector_short * a, const double x); int gsl_vector_short_isnull (const gsl_vector_short * v); extern int gsl_check_range; extern inline short gsl_vector_short_get (const gsl_vector_short * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_short.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_short_set (gsl_vector_short * v, const size_t i, short x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_short.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline short * gsl_vector_short_ptr (gsl_vector_short * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_short.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (short *) (v->data + i * v->stride); } extern inline const short * gsl_vector_short_const_ptr (const gsl_vector_short * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_short.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const short *) (v->data + i * v->stride); } # 20 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_uchar.h" 1 # 26 "../gsl/gsl_vector_uchar.h" # 1 "../gsl/gsl_block_uchar.h" 1 # 36 "../gsl/gsl_block_uchar.h" struct gsl_block_uchar_struct { size_t size; unsigned char *data; }; typedef struct gsl_block_uchar_struct gsl_block_uchar; gsl_block_uchar *gsl_block_uchar_alloc (const size_t n); gsl_block_uchar *gsl_block_uchar_calloc (const size_t n); void gsl_block_uchar_free (gsl_block_uchar * b); int gsl_block_uchar_fread (FILE * stream, gsl_block_uchar * b); int gsl_block_uchar_fwrite (FILE * stream, const gsl_block_uchar * b); int gsl_block_uchar_fscanf (FILE * stream, gsl_block_uchar * b); int gsl_block_uchar_fprintf (FILE * stream, const gsl_block_uchar * b, const char *format); int gsl_block_uchar_raw_fread (FILE * stream, unsigned char * b, const size_t n, const size_t stride); int gsl_block_uchar_raw_fwrite (FILE * stream, const unsigned char * b, const size_t n, const size_t stride); int gsl_block_uchar_raw_fscanf (FILE * stream, unsigned char * b, const size_t n, const size_t stride); int gsl_block_uchar_raw_fprintf (FILE * stream, const unsigned char * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_uchar_size (const gsl_block_uchar * b); unsigned char * gsl_block_uchar_data (const gsl_block_uchar * b); # 27 "../gsl/gsl_vector_uchar.h" 2 # 38 "../gsl/gsl_vector_uchar.h" typedef struct { size_t size; size_t stride; unsigned char *data; gsl_block_uchar *block; int owner; } gsl_vector_uchar; typedef struct { gsl_vector_uchar vector; } _gsl_vector_uchar_view; typedef _gsl_vector_uchar_view gsl_vector_uchar_view; typedef struct { gsl_vector_uchar vector; } _gsl_vector_uchar_const_view; typedef const _gsl_vector_uchar_const_view gsl_vector_uchar_const_view; gsl_vector_uchar *gsl_vector_uchar_alloc (const size_t n); gsl_vector_uchar *gsl_vector_uchar_calloc (const size_t n); gsl_vector_uchar *gsl_vector_uchar_alloc_from_block (gsl_block_uchar * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_uchar *gsl_vector_uchar_alloc_from_vector (gsl_vector_uchar * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_uchar_free (gsl_vector_uchar * v); _gsl_vector_uchar_view gsl_vector_uchar_view_array (unsigned char *v, size_t n); _gsl_vector_uchar_view gsl_vector_uchar_view_array_with_stride (unsigned char *base, size_t stride, size_t n); _gsl_vector_uchar_const_view gsl_vector_uchar_const_view_array (const unsigned char *v, size_t n); _gsl_vector_uchar_const_view gsl_vector_uchar_const_view_array_with_stride (const unsigned char *base, size_t stride, size_t n); _gsl_vector_uchar_view gsl_vector_uchar_subvector (gsl_vector_uchar *v, size_t i, size_t n); _gsl_vector_uchar_view gsl_vector_uchar_subvector_with_stride (gsl_vector_uchar *v, size_t i, size_t stride, size_t n); _gsl_vector_uchar_const_view gsl_vector_uchar_const_subvector (const gsl_vector_uchar *v, size_t i, size_t n); _gsl_vector_uchar_const_view gsl_vector_uchar_const_subvector_with_stride (const gsl_vector_uchar *v, size_t i, size_t stride, size_t n); unsigned char gsl_vector_uchar_get (const gsl_vector_uchar * v, const size_t i); void gsl_vector_uchar_set (gsl_vector_uchar * v, const size_t i, unsigned char x); unsigned char *gsl_vector_uchar_ptr (gsl_vector_uchar * v, const size_t i); const unsigned char *gsl_vector_uchar_const_ptr (const gsl_vector_uchar * v, const size_t i); void gsl_vector_uchar_set_zero (gsl_vector_uchar * v); void gsl_vector_uchar_set_all (gsl_vector_uchar * v, unsigned char x); int gsl_vector_uchar_set_basis (gsl_vector_uchar * v, size_t i); int gsl_vector_uchar_fread (FILE * stream, gsl_vector_uchar * v); int gsl_vector_uchar_fwrite (FILE * stream, const gsl_vector_uchar * v); int gsl_vector_uchar_fscanf (FILE * stream, gsl_vector_uchar * v); int gsl_vector_uchar_fprintf (FILE * stream, const gsl_vector_uchar * v, const char *format); int gsl_vector_uchar_memcpy (gsl_vector_uchar * dest, const gsl_vector_uchar * src); int gsl_vector_uchar_reverse (gsl_vector_uchar * v); int gsl_vector_uchar_swap (gsl_vector_uchar * v, gsl_vector_uchar * w); int gsl_vector_uchar_swap_elements (gsl_vector_uchar * v, const size_t i, const size_t j); unsigned char gsl_vector_uchar_max (const gsl_vector_uchar * v); unsigned char gsl_vector_uchar_min (const gsl_vector_uchar * v); void gsl_vector_uchar_minmax (const gsl_vector_uchar * v, unsigned char * min_out, unsigned char * max_out); size_t gsl_vector_uchar_max_index (const gsl_vector_uchar * v); size_t gsl_vector_uchar_min_index (const gsl_vector_uchar * v); void gsl_vector_uchar_minmax_index (const gsl_vector_uchar * v, size_t * imin, size_t * imax); int gsl_vector_uchar_add (gsl_vector_uchar * a, const gsl_vector_uchar * b); int gsl_vector_uchar_sub (gsl_vector_uchar * a, const gsl_vector_uchar * b); int gsl_vector_uchar_mul (gsl_vector_uchar * a, const gsl_vector_uchar * b); int gsl_vector_uchar_div (gsl_vector_uchar * a, const gsl_vector_uchar * b); int gsl_vector_uchar_scale (gsl_vector_uchar * a, const double x); int gsl_vector_uchar_add_constant (gsl_vector_uchar * a, const double x); int gsl_vector_uchar_isnull (const gsl_vector_uchar * v); extern int gsl_check_range; extern inline unsigned char gsl_vector_uchar_get (const gsl_vector_uchar * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uchar.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_uchar_set (gsl_vector_uchar * v, const size_t i, unsigned char x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uchar.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline unsigned char * gsl_vector_uchar_ptr (gsl_vector_uchar * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uchar.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (unsigned char *) (v->data + i * v->stride); } extern inline const unsigned char * gsl_vector_uchar_const_ptr (const gsl_vector_uchar * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_uchar.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const unsigned char *) (v->data + i * v->stride); } # 22 "../gsl/gsl_vector.h" 2 # 1 "../gsl/gsl_vector_char.h" 1 # 26 "../gsl/gsl_vector_char.h" # 1 "../gsl/gsl_block_char.h" 1 # 36 "../gsl/gsl_block_char.h" struct gsl_block_char_struct { size_t size; char *data; }; typedef struct gsl_block_char_struct gsl_block_char; gsl_block_char *gsl_block_char_alloc (const size_t n); gsl_block_char *gsl_block_char_calloc (const size_t n); void gsl_block_char_free (gsl_block_char * b); int gsl_block_char_fread (FILE * stream, gsl_block_char * b); int gsl_block_char_fwrite (FILE * stream, const gsl_block_char * b); int gsl_block_char_fscanf (FILE * stream, gsl_block_char * b); int gsl_block_char_fprintf (FILE * stream, const gsl_block_char * b, const char *format); int gsl_block_char_raw_fread (FILE * stream, char * b, const size_t n, const size_t stride); int gsl_block_char_raw_fwrite (FILE * stream, const char * b, const size_t n, const size_t stride); int gsl_block_char_raw_fscanf (FILE * stream, char * b, const size_t n, const size_t stride); int gsl_block_char_raw_fprintf (FILE * stream, const char * b, const size_t n, const size_t stride, const char *format); size_t gsl_block_char_size (const gsl_block_char * b); char * gsl_block_char_data (const gsl_block_char * b); # 27 "../gsl/gsl_vector_char.h" 2 # 38 "../gsl/gsl_vector_char.h" typedef struct { size_t size; size_t stride; char *data; gsl_block_char *block; int owner; } gsl_vector_char; typedef struct { gsl_vector_char vector; } _gsl_vector_char_view; typedef _gsl_vector_char_view gsl_vector_char_view; typedef struct { gsl_vector_char vector; } _gsl_vector_char_const_view; typedef const _gsl_vector_char_const_view gsl_vector_char_const_view; gsl_vector_char *gsl_vector_char_alloc (const size_t n); gsl_vector_char *gsl_vector_char_calloc (const size_t n); gsl_vector_char *gsl_vector_char_alloc_from_block (gsl_block_char * b, const size_t offset, const size_t n, const size_t stride); gsl_vector_char *gsl_vector_char_alloc_from_vector (gsl_vector_char * v, const size_t offset, const size_t n, const size_t stride); void gsl_vector_char_free (gsl_vector_char * v); _gsl_vector_char_view gsl_vector_char_view_array (char *v, size_t n); _gsl_vector_char_view gsl_vector_char_view_array_with_stride (char *base, size_t stride, size_t n); _gsl_vector_char_const_view gsl_vector_char_const_view_array (const char *v, size_t n); _gsl_vector_char_const_view gsl_vector_char_const_view_array_with_stride (const char *base, size_t stride, size_t n); _gsl_vector_char_view gsl_vector_char_subvector (gsl_vector_char *v, size_t i, size_t n); _gsl_vector_char_view gsl_vector_char_subvector_with_stride (gsl_vector_char *v, size_t i, size_t stride, size_t n); _gsl_vector_char_const_view gsl_vector_char_const_subvector (const gsl_vector_char *v, size_t i, size_t n); _gsl_vector_char_const_view gsl_vector_char_const_subvector_with_stride (const gsl_vector_char *v, size_t i, size_t stride, size_t n); char gsl_vector_char_get (const gsl_vector_char * v, const size_t i); void gsl_vector_char_set (gsl_vector_char * v, const size_t i, char x); char *gsl_vector_char_ptr (gsl_vector_char * v, const size_t i); const char *gsl_vector_char_const_ptr (const gsl_vector_char * v, const size_t i); void gsl_vector_char_set_zero (gsl_vector_char * v); void gsl_vector_char_set_all (gsl_vector_char * v, char x); int gsl_vector_char_set_basis (gsl_vector_char * v, size_t i); int gsl_vector_char_fread (FILE * stream, gsl_vector_char * v); int gsl_vector_char_fwrite (FILE * stream, const gsl_vector_char * v); int gsl_vector_char_fscanf (FILE * stream, gsl_vector_char * v); int gsl_vector_char_fprintf (FILE * stream, const gsl_vector_char * v, const char *format); int gsl_vector_char_memcpy (gsl_vector_char * dest, const gsl_vector_char * src); int gsl_vector_char_reverse (gsl_vector_char * v); int gsl_vector_char_swap (gsl_vector_char * v, gsl_vector_char * w); int gsl_vector_char_swap_elements (gsl_vector_char * v, const size_t i, const size_t j); char gsl_vector_char_max (const gsl_vector_char * v); char gsl_vector_char_min (const gsl_vector_char * v); void gsl_vector_char_minmax (const gsl_vector_char * v, char * min_out, char * max_out); size_t gsl_vector_char_max_index (const gsl_vector_char * v); size_t gsl_vector_char_min_index (const gsl_vector_char * v); void gsl_vector_char_minmax_index (const gsl_vector_char * v, size_t * imin, size_t * imax); int gsl_vector_char_add (gsl_vector_char * a, const gsl_vector_char * b); int gsl_vector_char_sub (gsl_vector_char * a, const gsl_vector_char * b); int gsl_vector_char_mul (gsl_vector_char * a, const gsl_vector_char * b); int gsl_vector_char_div (gsl_vector_char * a, const gsl_vector_char * b); int gsl_vector_char_scale (gsl_vector_char * a, const double x); int gsl_vector_char_add_constant (gsl_vector_char * a, const double x); int gsl_vector_char_isnull (const gsl_vector_char * v); extern int gsl_check_range; extern inline char gsl_vector_char_get (const gsl_vector_char * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_char.h", 175, GSL_EINVAL) ; return 0 ; } while (0); } return v->data[i * v->stride]; } extern inline void gsl_vector_char_set (gsl_vector_char * v, const size_t i, char x) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_char.h", 188, GSL_EINVAL) ; return ; } while (0); } v->data[i * v->stride] = x; } extern inline char * gsl_vector_char_ptr (gsl_vector_char * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_char.h", 201, GSL_EINVAL) ; return 0 ; } while (0); } return (char *) (v->data + i * v->stride); } extern inline const char * gsl_vector_char_const_ptr (const gsl_vector_char * v, const size_t i) { if (i >= v->size) { do { gsl_error ("index out of range", "../gsl/gsl_vector_char.h", 214, GSL_EINVAL) ; return 0 ; } while (0); } return (const char *) (v->data + i * v->stride); } # 23 "../gsl/gsl_vector.h" 2 # 31 "test.c" 2 # 1 "../gsl/gsl_test.h" 1 # 33 "../gsl/gsl_test.h" void gsl_test (int status, const char *test_description, ...); void gsl_test_rel (double result, double expected, double relative_error, const char *test_description, ...) ; void gsl_test_abs (double result, double expected, double absolute_error, const char *test_description, ...) ; void gsl_test_factor (double result, double expected, double factor, const char *test_description, ...) ; void gsl_test_int (int result, int expected, const char *test_description, ...) ; void gsl_test_str (const char * result, const char * expected, const char *test_description, ...) ; void gsl_test_verbose (int verbose) ; int gsl_test_summary (void) ; # 32 "test.c" 2 # 1 "../gsl/gsl_ieee_utils.h" 1 # 34 "../gsl/gsl_ieee_utils.h" enum { GSL_IEEE_TYPE_NAN = 1, GSL_IEEE_TYPE_INF = 2, GSL_IEEE_TYPE_NORMAL = 3, GSL_IEEE_TYPE_DENORMAL = 4, GSL_IEEE_TYPE_ZERO = 5 } ; typedef struct { int sign ; char mantissa[24] ; int exponent ; int type ; } gsl_ieee_float_rep ; typedef struct { int sign ; char mantissa[53] ; int exponent ; int type ; } gsl_ieee_double_rep ; void gsl_ieee_printf_float (const float * x) ; void gsl_ieee_printf_double (const double * x) ; void gsl_ieee_fprintf_float (FILE * stream, const float * x) ; void gsl_ieee_fprintf_double (FILE * stream, const double * x) ; void gsl_ieee_float_to_rep (const float * x, gsl_ieee_float_rep * r) ; void gsl_ieee_double_to_rep (const double * x, gsl_ieee_double_rep * r) ; enum { GSL_IEEE_SINGLE_PRECISION = 1, GSL_IEEE_DOUBLE_PRECISION = 2, GSL_IEEE_EXTENDED_PRECISION = 3 } ; enum { GSL_IEEE_ROUND_TO_NEAREST = 1, GSL_IEEE_ROUND_DOWN = 2, GSL_IEEE_ROUND_UP = 3, GSL_IEEE_ROUND_TO_ZERO = 4 } ; enum { GSL_IEEE_MASK_INVALID = 1, GSL_IEEE_MASK_DENORMALIZED = 2, GSL_IEEE_MASK_DIVISION_BY_ZERO = 4, GSL_IEEE_MASK_OVERFLOW = 8, GSL_IEEE_MASK_UNDERFLOW = 16, GSL_IEEE_MASK_ALL = 31, GSL_IEEE_TRAP_INEXACT = 32 } ; void gsl_ieee_env_setup (void) ; int gsl_ieee_read_mode_string (const char * description, int * precision, int * rounding, int * exception_mask) ; int gsl_ieee_set_mode (int precision, int rounding, int exception_mask) ; # 33 "test.c" 2 int status = 0; # 43 "test.c" # 1 "../templates_on.h" 1 # 44 "test.c" 2 # 1 "test_complex_source.c" 1 # 20 "test_complex_source.c" void test_complex_long_double_func (void); void test_complex_long_double_binary (void); void test_complex_long_double_trap (void); void test_complex_long_double_func (void) { size_t i; gsl_vector_complex_long_double * v = gsl_vector_complex_long_double_calloc (1027); gsl_test (v->data == 0, "gsl_vector_complex_long_double" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_complex_long_double" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_complex_long_double" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_complex_long_double x = {{0.0L,0.0L}}; ((x).dat[0]) = (long double)i; ((x).dat[1]) = (long double)(i + 1234); gsl_vector_complex_long_double_set (v, i, x); }; status = 0; for (i = 0; i < 1027; i++) { if (v->data[2 * i] != (long double) i || v->data[2 * i + 1] != (long double) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex_long_double" "_set writes into array"); status = 0; for (i = 0; i < 1027; i++) { gsl_complex_long_double x, y; ((x).dat[0]) = (long double)i; ((x).dat[1]) = (long double)(i + 1234); y = gsl_vector_complex_long_double_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex_long_double" "_get reads from array"); v->stride = 2 ; status = 0; for (i = 0; i < 1027 / 2; i++) { gsl_complex_long_double x, y; ((x).dat[0]) = (long double)(2 * i); ((x).dat[1]) = (long double)(2 * i + 1234); y = gsl_vector_complex_long_double_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex_long_double" "_get reads from array with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_complex_long_double x; ((x).dat[0]) = (long double)i ; ((x).dat[1]) = (long double)(i + 1234); gsl_vector_complex_long_double_set (v, i, x); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * 2 * i] != (long double) i || v->data[2 * 2 * i + 1] != (long double) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex_long_double" "_set writes into array with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_complex_long_double x = {{0.0L,0.0L}}; ((x).dat[0]) = (long double)i; ((x).dat[1]) = (long double)(i + 1234); gsl_vector_complex_long_double_set (v, i, x); }; { gsl_complex_long_double x, y, r, s ; ((x).dat[0]) = 2 ; ((x).dat[1]) = 2 + 1234; ((y).dat[0]) = 5 ; ((y).dat[1]) = 5 + 1234; gsl_vector_complex_long_double_swap_elements (v, 2, 5) ; r = gsl_vector_complex_long_double_get(v,2); s = gsl_vector_complex_long_double_get(v,5); status = ! (((r).dat[0] == (y).dat[0]) && ((r).dat[1] == (y).dat[1])) ; status |= ! (((s).dat[0] == (x).dat[0]) && ((s).dat[1] == (x).dat[1])) ; gsl_vector_complex_long_double_swap_elements (v, 2, 5) ; r = gsl_vector_complex_long_double_get(v,2); s = gsl_vector_complex_long_double_get(v,5); status |= ! (((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])) ; status |= ! (((s).dat[0] == (y).dat[0]) && ((s).dat[1] == (y).dat[1])) ; } gsl_test (status, "gsl_vector_complex_long_double" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_complex_long_double_reverse (v) ; for (i = 0; i < 1027; i++) { gsl_complex_long_double x,r ; ((x).dat[0]) = (long double)(1027 - i - 1) ; ((x).dat[1]) = (long double)(1027 - i - 1 + 1234); r = gsl_vector_complex_long_double_get (v, i); status |= !(((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])); } gsl_test (status, "gsl_vector_complex_long_double" "_reverse" " (static)" " reverses elements") ; gsl_vector_complex_long_double_free (v); } void test_complex_long_double_binary (void) { gsl_vector_complex_long_double * v = gsl_vector_complex_long_double_calloc (1027); gsl_vector_complex_long_double * w = gsl_vector_complex_long_double_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_complex_long_double x = {{0.0L,0.0L}}; ((x).dat[0]) = (long double)(1027 - i); ((x).dat[1]) = (long double)(1027 - i + 1); gsl_vector_complex_long_double_set (v, i, x); }; gsl_vector_complex_long_double_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_complex_long_double_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (long double) (1027 - i) || w->data[2 * i + 1] != (long double) (1027 - i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_long_double_free (v); gsl_vector_complex_long_double_free (w); gsl_test (status, "gsl_vector_complex_long_double" "_write and read work"); } void test_complex_long_double_trap (void) { gsl_vector_complex_long_double * vc = gsl_vector_complex_long_double_alloc (1027); gsl_complex_long_double z = {{(long double)1.2, (long double)3.4}}; gsl_complex_long_double z1 = {{(long double)4.5, (long double)6.7}}; size_t j = 0; status = 0; gsl_vector_complex_long_double_set (vc, j - 1, z); gsl_test (!status, "gsl_vector_complex_long_double" "_set traps index below lower bound"); status = 0; gsl_vector_complex_long_double_set (vc, 1027 + 1, z); gsl_test (!status, "gsl_vector_complex_long_double" "_set traps index above upper bound"); status = 0; gsl_vector_complex_long_double_set (vc, 1027, z); gsl_test (!status, "gsl_vector_complex_long_double" "_set traps index at upper bound"); status = 0; z1 = gsl_vector_complex_long_double_get (vc, j - 1); gsl_test (!status, "gsl_vector_complex_long_double" "_get traps index below lower bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_long_double" "_get returns zero real below lower bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_long_double" "_get returns zero imag below lower bound"); status = 0; z1 = gsl_vector_complex_long_double_get (vc, 1027 + 1); gsl_test (!status, "gsl_vector_complex_long_double" "_get traps index above upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_long_double" "_get returns zero real above upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_long_double" "_get returns zero imag above upper bound"); status = 0; z1 = gsl_vector_complex_long_double_get (vc, 1027); gsl_test (!status, "gsl_vector_complex_long_double" "_get traps index at upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_long_double" "_get returns zero real at upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_long_double" "_get returns zero imag at upper bound"); gsl_vector_complex_long_double_free (vc); } # 45 "test.c" 2 # 1 "test_complex_io.c" 1 # 20 "test_complex_io.c" void test_complex_long_double_text (void); void test_complex_long_double_text (void) { gsl_vector_complex_long_double * v = gsl_vector_complex_long_double_alloc (1027); gsl_vector_complex_long_double * w = gsl_vector_complex_long_double_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_complex_long_double x; ((x).dat[0]) = (long double)i; ((x).dat[1]) = (long double)(i + 1); gsl_vector_complex_long_double_set (v, i, x); }; gsl_vector_complex_long_double_fprintf (f, v, "%Lg"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_complex_long_double_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (long double) i || w->data[2 * i + 1] != (long double) (i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_long_double_free (v); gsl_vector_complex_long_double_free (w); gsl_test (status, "gsl_vector_complex_long_double" "_fprintf and fscanf"); } # 47 "test.c" 2 # 1 "../templates_off.h" 1 # 49 "test.c" 2 # 1 "../templates_on.h" 1 # 54 "test.c" 2 # 1 "test_complex_source.c" 1 # 20 "test_complex_source.c" void test_complex_func (void); void test_complex_binary (void); void test_complex_trap (void); void test_complex_func (void) { size_t i; gsl_vector_complex * v = gsl_vector_complex_calloc (1027); gsl_test (v->data == 0, "gsl_vector_complex" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_complex" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_complex" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_complex x = {{0.0,0.0}}; ((x).dat[0]) = (double)i; ((x).dat[1]) = (double)(i + 1234); gsl_vector_complex_set (v, i, x); }; status = 0; for (i = 0; i < 1027; i++) { if (v->data[2 * i] != (double) i || v->data[2 * i + 1] != (double) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex" "_set writes into array"); status = 0; for (i = 0; i < 1027; i++) { gsl_complex x, y; ((x).dat[0]) = (double)i; ((x).dat[1]) = (double)(i + 1234); y = gsl_vector_complex_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex" "_get reads from array"); v->stride = 2 ; status = 0; for (i = 0; i < 1027 / 2; i++) { gsl_complex x, y; ((x).dat[0]) = (double)(2 * i); ((x).dat[1]) = (double)(2 * i + 1234); y = gsl_vector_complex_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex" "_get reads from array with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_complex x; ((x).dat[0]) = (double)i ; ((x).dat[1]) = (double)(i + 1234); gsl_vector_complex_set (v, i, x); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * 2 * i] != (double) i || v->data[2 * 2 * i + 1] != (double) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex" "_set writes into array with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_complex x = {{0.0,0.0}}; ((x).dat[0]) = (double)i; ((x).dat[1]) = (double)(i + 1234); gsl_vector_complex_set (v, i, x); }; { gsl_complex x, y, r, s ; ((x).dat[0]) = 2 ; ((x).dat[1]) = 2 + 1234; ((y).dat[0]) = 5 ; ((y).dat[1]) = 5 + 1234; gsl_vector_complex_swap_elements (v, 2, 5) ; r = gsl_vector_complex_get(v,2); s = gsl_vector_complex_get(v,5); status = ! (((r).dat[0] == (y).dat[0]) && ((r).dat[1] == (y).dat[1])) ; status |= ! (((s).dat[0] == (x).dat[0]) && ((s).dat[1] == (x).dat[1])) ; gsl_vector_complex_swap_elements (v, 2, 5) ; r = gsl_vector_complex_get(v,2); s = gsl_vector_complex_get(v,5); status |= ! (((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])) ; status |= ! (((s).dat[0] == (y).dat[0]) && ((s).dat[1] == (y).dat[1])) ; } gsl_test (status, "gsl_vector_complex" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_complex_reverse (v) ; for (i = 0; i < 1027; i++) { gsl_complex x,r ; ((x).dat[0]) = (double)(1027 - i - 1) ; ((x).dat[1]) = (double)(1027 - i - 1 + 1234); r = gsl_vector_complex_get (v, i); status |= !(((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])); } gsl_test (status, "gsl_vector_complex" "_reverse" " (static)" " reverses elements") ; gsl_vector_complex_free (v); } void test_complex_binary (void) { gsl_vector_complex * v = gsl_vector_complex_calloc (1027); gsl_vector_complex * w = gsl_vector_complex_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_complex x = {{0.0,0.0}}; ((x).dat[0]) = (double)(1027 - i); ((x).dat[1]) = (double)(1027 - i + 1); gsl_vector_complex_set (v, i, x); }; gsl_vector_complex_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_complex_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (double) (1027 - i) || w->data[2 * i + 1] != (double) (1027 - i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_free (v); gsl_vector_complex_free (w); gsl_test (status, "gsl_vector_complex" "_write and read work"); } void test_complex_trap (void) { gsl_vector_complex * vc = gsl_vector_complex_alloc (1027); gsl_complex z = {{(double)1.2, (double)3.4}}; gsl_complex z1 = {{(double)4.5, (double)6.7}}; size_t j = 0; status = 0; gsl_vector_complex_set (vc, j - 1, z); gsl_test (!status, "gsl_vector_complex" "_set traps index below lower bound"); status = 0; gsl_vector_complex_set (vc, 1027 + 1, z); gsl_test (!status, "gsl_vector_complex" "_set traps index above upper bound"); status = 0; gsl_vector_complex_set (vc, 1027, z); gsl_test (!status, "gsl_vector_complex" "_set traps index at upper bound"); status = 0; z1 = gsl_vector_complex_get (vc, j - 1); gsl_test (!status, "gsl_vector_complex" "_get traps index below lower bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex" "_get returns zero real below lower bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex" "_get returns zero imag below lower bound"); status = 0; z1 = gsl_vector_complex_get (vc, 1027 + 1); gsl_test (!status, "gsl_vector_complex" "_get traps index above upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex" "_get returns zero real above upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex" "_get returns zero imag above upper bound"); status = 0; z1 = gsl_vector_complex_get (vc, 1027); gsl_test (!status, "gsl_vector_complex" "_get traps index at upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex" "_get returns zero real at upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex" "_get returns zero imag at upper bound"); gsl_vector_complex_free (vc); } # 55 "test.c" 2 # 1 "test_complex_io.c" 1 # 20 "test_complex_io.c" void test_complex_text (void); void test_complex_text (void) { gsl_vector_complex * v = gsl_vector_complex_alloc (1027); gsl_vector_complex * w = gsl_vector_complex_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_complex x; ((x).dat[0]) = (double)i; ((x).dat[1]) = (double)(i + 1); gsl_vector_complex_set (v, i, x); }; gsl_vector_complex_fprintf (f, v, "%g"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_complex_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (double) i || w->data[2 * i + 1] != (double) (i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_free (v); gsl_vector_complex_free (w); gsl_test (status, "gsl_vector_complex" "_fprintf and fscanf"); } # 56 "test.c" 2 # 1 "../templates_off.h" 1 # 57 "test.c" 2 # 1 "../templates_on.h" 1 # 61 "test.c" 2 # 1 "test_complex_source.c" 1 # 20 "test_complex_source.c" void test_complex_float_func (void); void test_complex_float_binary (void); void test_complex_float_trap (void); void test_complex_float_func (void) { size_t i; gsl_vector_complex_float * v = gsl_vector_complex_float_calloc (1027); gsl_test (v->data == 0, "gsl_vector_complex_float" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_complex_float" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_complex_float" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_complex_float x = {{0.0F,0.0F}}; ((x).dat[0]) = (float)i; ((x).dat[1]) = (float)(i + 1234); gsl_vector_complex_float_set (v, i, x); }; status = 0; for (i = 0; i < 1027; i++) { if (v->data[2 * i] != (float) i || v->data[2 * i + 1] != (float) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex_float" "_set writes into array"); status = 0; for (i = 0; i < 1027; i++) { gsl_complex_float x, y; ((x).dat[0]) = (float)i; ((x).dat[1]) = (float)(i + 1234); y = gsl_vector_complex_float_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex_float" "_get reads from array"); v->stride = 2 ; status = 0; for (i = 0; i < 1027 / 2; i++) { gsl_complex_float x, y; ((x).dat[0]) = (float)(2 * i); ((x).dat[1]) = (float)(2 * i + 1234); y = gsl_vector_complex_float_get (v, i); if (!(((x).dat[0] == (y).dat[0]) && ((x).dat[1] == (y).dat[1]))) status = 1; }; gsl_test (status, "gsl_vector_complex_float" "_get reads from array with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_complex_float x; ((x).dat[0]) = (float)i ; ((x).dat[1]) = (float)(i + 1234); gsl_vector_complex_float_set (v, i, x); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * 2 * i] != (float) i || v->data[2 * 2 * i + 1] != (float) (i + 1234)) status = 1; }; gsl_test (status, "gsl_vector_complex_float" "_set writes into array with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_complex_float x = {{0.0F,0.0F}}; ((x).dat[0]) = (float)i; ((x).dat[1]) = (float)(i + 1234); gsl_vector_complex_float_set (v, i, x); }; { gsl_complex_float x, y, r, s ; ((x).dat[0]) = 2 ; ((x).dat[1]) = 2 + 1234; ((y).dat[0]) = 5 ; ((y).dat[1]) = 5 + 1234; gsl_vector_complex_float_swap_elements (v, 2, 5) ; r = gsl_vector_complex_float_get(v,2); s = gsl_vector_complex_float_get(v,5); status = ! (((r).dat[0] == (y).dat[0]) && ((r).dat[1] == (y).dat[1])) ; status |= ! (((s).dat[0] == (x).dat[0]) && ((s).dat[1] == (x).dat[1])) ; gsl_vector_complex_float_swap_elements (v, 2, 5) ; r = gsl_vector_complex_float_get(v,2); s = gsl_vector_complex_float_get(v,5); status |= ! (((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])) ; status |= ! (((s).dat[0] == (y).dat[0]) && ((s).dat[1] == (y).dat[1])) ; } gsl_test (status, "gsl_vector_complex_float" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_complex_float_reverse (v) ; for (i = 0; i < 1027; i++) { gsl_complex_float x,r ; ((x).dat[0]) = (float)(1027 - i - 1) ; ((x).dat[1]) = (float)(1027 - i - 1 + 1234); r = gsl_vector_complex_float_get (v, i); status |= !(((r).dat[0] == (x).dat[0]) && ((r).dat[1] == (x).dat[1])); } gsl_test (status, "gsl_vector_complex_float" "_reverse" " (static)" " reverses elements") ; gsl_vector_complex_float_free (v); } void test_complex_float_binary (void) { gsl_vector_complex_float * v = gsl_vector_complex_float_calloc (1027); gsl_vector_complex_float * w = gsl_vector_complex_float_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_complex_float x = {{0.0F,0.0F}}; ((x).dat[0]) = (float)(1027 - i); ((x).dat[1]) = (float)(1027 - i + 1); gsl_vector_complex_float_set (v, i, x); }; gsl_vector_complex_float_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_complex_float_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (float) (1027 - i) || w->data[2 * i + 1] != (float) (1027 - i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_float_free (v); gsl_vector_complex_float_free (w); gsl_test (status, "gsl_vector_complex_float" "_write and read work"); } void test_complex_float_trap (void) { gsl_vector_complex_float * vc = gsl_vector_complex_float_alloc (1027); gsl_complex_float z = {{(float)1.2, (float)3.4}}; gsl_complex_float z1 = {{(float)4.5, (float)6.7}}; size_t j = 0; status = 0; gsl_vector_complex_float_set (vc, j - 1, z); gsl_test (!status, "gsl_vector_complex_float" "_set traps index below lower bound"); status = 0; gsl_vector_complex_float_set (vc, 1027 + 1, z); gsl_test (!status, "gsl_vector_complex_float" "_set traps index above upper bound"); status = 0; gsl_vector_complex_float_set (vc, 1027, z); gsl_test (!status, "gsl_vector_complex_float" "_set traps index at upper bound"); status = 0; z1 = gsl_vector_complex_float_get (vc, j - 1); gsl_test (!status, "gsl_vector_complex_float" "_get traps index below lower bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_float" "_get returns zero real below lower bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_float" "_get returns zero imag below lower bound"); status = 0; z1 = gsl_vector_complex_float_get (vc, 1027 + 1); gsl_test (!status, "gsl_vector_complex_float" "_get traps index above upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_float" "_get returns zero real above upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_float" "_get returns zero imag above upper bound"); status = 0; z1 = gsl_vector_complex_float_get (vc, 1027); gsl_test (!status, "gsl_vector_complex_float" "_get traps index at upper bound"); gsl_test (((z1).dat[0]) != 0, "gsl_vector_complex_float" "_get returns zero real at upper bound"); gsl_test (((z1).dat[1]) != 0, "gsl_vector_complex_float" "_get returns zero imag at upper bound"); gsl_vector_complex_float_free (vc); } # 62 "test.c" 2 # 1 "test_complex_io.c" 1 # 20 "test_complex_io.c" void test_complex_float_text (void); void test_complex_float_text (void) { gsl_vector_complex_float * v = gsl_vector_complex_float_alloc (1027); gsl_vector_complex_float * w = gsl_vector_complex_float_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_complex_float x; ((x).dat[0]) = (float)i; ((x).dat[1]) = (float)(i + 1); gsl_vector_complex_float_set (v, i, x); }; gsl_vector_complex_float_fprintf (f, v, "%g"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_complex_float_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[2 * i] != (float) i || w->data[2 * i + 1] != (float) (i + 1)) status = 1; }; fclose (f); } gsl_vector_complex_float_free (v); gsl_vector_complex_float_free (w); gsl_test (status, "gsl_vector_complex_float" "_fprintf and fscanf"); } # 63 "test.c" 2 # 1 "../templates_off.h" 1 # 64 "test.c" 2 # 1 "../templates_on.h" 1 # 68 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_long_double_func (void); void test_long_double_binary (void); void test_long_double_trap (void); void test_long_double_func (void) { gsl_vector_long_double * v; size_t i; v = gsl_vector_long_double_calloc (1027); gsl_test (v->data == 0, "gsl_vector_long_double" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_long_double" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_long_double" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_long_double_set (v, i, (long double) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (long double) i) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_long_double_get (v, i) != (long double) i) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_long_double_get (v, i) != (long double) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_long_double_set (v, i, (long double) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (long double) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_long_double_set (v, i, (long double) i); } gsl_vector_long_double_swap_elements (v, 2, 5) ; status = (gsl_vector_long_double_get(v,2) != 5) ; status |= (gsl_vector_long_double_get(v,5) != 2) ; gsl_vector_long_double_swap_elements (v, 2, 5) ; status |= (gsl_vector_long_double_get(v,2) != 2) ; status |= (gsl_vector_long_double_get(v,5) != 5) ; gsl_test (status, "gsl_vector_long_double" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_long_double_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_long_double_get (v, i) != (long double) (1027 - i - 1)); } gsl_test (status, "gsl_vector_long_double" "_reverse" " (static)" " reverses elements") ; { long double exp_max = gsl_vector_long_double_get(v, 0); long double exp_min = gsl_vector_long_double_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { long double k = gsl_vector_long_double_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_long_double_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { long double k = gsl_vector_long_double_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_long_double_get (v, i) ; exp_imax = i; } } { long double max = gsl_vector_long_double_max (v) ; gsl_test (max != exp_max, "gsl_vector_long_double" "_max returns correct maximum value"); } { long double min = gsl_vector_long_double_min (v) ; gsl_test (min != exp_min, "gsl_vector_long_double" "_min returns correct minimum value"); } { long double min, max; gsl_vector_long_double_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_long_double" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_long_double" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_long_double_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_long_double" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_long_double_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_long_double" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_long_double_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_long_double" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_long_double" "_minmax_index returns correct minimum i"); } } { gsl_vector_long_double * a = gsl_vector_long_double_calloc (1027); gsl_vector_long_double * b = gsl_vector_long_double_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_long_double_set (a, i, (long double)(3 + i)); gsl_vector_long_double_set (b, i, (long double)(3 + 2 * i)); } gsl_vector_long_double_memcpy (v, a); gsl_vector_long_double_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long double r = gsl_vector_long_double_get (v,i); long double x = gsl_vector_long_double_get (a,i); long double y = gsl_vector_long_double_get (b,i); long double z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long_double" "_add vector addition"); } gsl_vector_long_double_memcpy (v, a); gsl_vector_long_double_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long double r = gsl_vector_long_double_get (v,i); long double x = gsl_vector_long_double_get (a,i); long double y = gsl_vector_long_double_get (b,i); long double z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long_double" "_sub vector subtraction"); } gsl_vector_long_double_memcpy (v, a); gsl_vector_long_double_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long double r = gsl_vector_long_double_get (v,i); long double x = gsl_vector_long_double_get (a,i); long double y = gsl_vector_long_double_get (b,i); long double z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long_double" "_mul multiplication"); } gsl_vector_long_double_memcpy (v, a); gsl_vector_long_double_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long double r = gsl_vector_long_double_get (v,i); long double x = gsl_vector_long_double_get (a,i); long double y = gsl_vector_long_double_get (b,i); long double z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_long_double" "_div division"); } gsl_vector_long_double_free (a); gsl_vector_long_double_free (b); } gsl_vector_long_double_free (v); } void test_long_double_binary (void) { gsl_vector_long_double * v = gsl_vector_long_double_calloc (1027); gsl_vector_long_double * w = gsl_vector_long_double_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_long_double_set (v, i, (long double) (1027 - i)); }; gsl_vector_long_double_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_long_double_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (long double) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_write and read"); fclose (f); } gsl_vector_long_double_free (v); gsl_vector_long_double_free (w); } void test_long_double_trap (void) { gsl_vector_long_double * v = gsl_vector_long_double_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_long_double_set (v, j - 1, (long double)0); gsl_test (!status, "gsl_vector_long_double" "_set traps index below lower bound"); status = 0; gsl_vector_long_double_set (v, 1027 + 1, (long double)0); gsl_test (!status, "gsl_vector_long_double" "_set traps index above upper bound"); status = 0; gsl_vector_long_double_set (v, 1027, (long double)0); gsl_test (!status, "gsl_vector_long_double" "_set traps index at upper bound"); status = 0; x = gsl_vector_long_double_get (v, j - 1); gsl_test (!status, "gsl_vector_long_double" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_long_double" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_long_double_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_long_double" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_long_double" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_long_double_get (v, 1027); gsl_test (!status, "gsl_vector_long_double" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_long_double" "_get returns zero for index at upper bound"); gsl_vector_long_double_free (v); } # 69 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_long_double_text (void); void test_long_double_text (void) { gsl_vector_long_double * v = gsl_vector_long_double_alloc (1027); gsl_vector_long_double * w = gsl_vector_long_double_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_long_double_set (v, i, (long double) i); }; gsl_vector_long_double_fprintf (f, v, "%Lg"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_long_double_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (long double) i) status = 1; }; gsl_test (status, "gsl_vector_long_double" "_fprintf and fscanf"); fclose (f); } gsl_vector_long_double_free (v); gsl_vector_long_double_free (w); } # 71 "test.c" 2 # 1 "../templates_off.h" 1 # 73 "test.c" 2 # 1 "../templates_on.h" 1 # 77 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_func (void); void test_binary (void); void test_trap (void); void test_func (void) { gsl_vector * v; size_t i; v = gsl_vector_calloc (1027); gsl_test (v->data == 0, "gsl_vector" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_set (v, i, (double) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (double) i) status = 1; }; gsl_test (status, "gsl_vector" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_get (v, i) != (double) i) status = 1; }; gsl_test (status, "gsl_vector" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_get (v, i) != (double) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_set (v, i, (double) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (double) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_set (v, i, (double) i); } gsl_vector_swap_elements (v, 2, 5) ; status = (gsl_vector_get(v,2) != 5) ; status |= (gsl_vector_get(v,5) != 2) ; gsl_vector_swap_elements (v, 2, 5) ; status |= (gsl_vector_get(v,2) != 2) ; status |= (gsl_vector_get(v,5) != 5) ; gsl_test (status, "gsl_vector" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_get (v, i) != (double) (1027 - i - 1)); } gsl_test (status, "gsl_vector" "_reverse" " (static)" " reverses elements") ; { double exp_max = gsl_vector_get(v, 0); double exp_min = gsl_vector_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { double k = gsl_vector_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { double k = gsl_vector_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_get (v, i) ; exp_imax = i; } } { double max = gsl_vector_max (v) ; gsl_test (max != exp_max, "gsl_vector" "_max returns correct maximum value"); } { double min = gsl_vector_min (v) ; gsl_test (min != exp_min, "gsl_vector" "_min returns correct minimum value"); } { double min, max; gsl_vector_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector" "_minmax_index returns correct minimum i"); } } { gsl_vector * a = gsl_vector_calloc (1027); gsl_vector * b = gsl_vector_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_set (a, i, (double)(3 + i)); gsl_vector_set (b, i, (double)(3 + 2 * i)); } gsl_vector_memcpy (v, a); gsl_vector_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { double r = gsl_vector_get (v,i); double x = gsl_vector_get (a,i); double y = gsl_vector_get (b,i); double z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector" "_add vector addition"); } gsl_vector_memcpy (v, a); gsl_vector_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { double r = gsl_vector_get (v,i); double x = gsl_vector_get (a,i); double y = gsl_vector_get (b,i); double z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector" "_sub vector subtraction"); } gsl_vector_memcpy (v, a); gsl_vector_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { double r = gsl_vector_get (v,i); double x = gsl_vector_get (a,i); double y = gsl_vector_get (b,i); double z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector" "_mul multiplication"); } gsl_vector_memcpy (v, a); gsl_vector_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { double r = gsl_vector_get (v,i); double x = gsl_vector_get (a,i); double y = gsl_vector_get (b,i); double z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector" "_div division"); } gsl_vector_free (a); gsl_vector_free (b); } gsl_vector_free (v); } void test_binary (void) { gsl_vector * v = gsl_vector_calloc (1027); gsl_vector * w = gsl_vector_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_set (v, i, (double) (1027 - i)); }; gsl_vector_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (double) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector" "_write and read"); fclose (f); } gsl_vector_free (v); gsl_vector_free (w); } void test_trap (void) { gsl_vector * v = gsl_vector_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_set (v, j - 1, (double)0); gsl_test (!status, "gsl_vector" "_set traps index below lower bound"); status = 0; gsl_vector_set (v, 1027 + 1, (double)0); gsl_test (!status, "gsl_vector" "_set traps index above upper bound"); status = 0; gsl_vector_set (v, 1027, (double)0); gsl_test (!status, "gsl_vector" "_set traps index at upper bound"); status = 0; x = gsl_vector_get (v, j - 1); gsl_test (!status, "gsl_vector" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_get (v, 1027 + 1); gsl_test (!status, "gsl_vector" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_get (v, 1027); gsl_test (!status, "gsl_vector" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector" "_get returns zero for index at upper bound"); gsl_vector_free (v); } # 78 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_text (void); void test_text (void) { gsl_vector * v = gsl_vector_alloc (1027); gsl_vector * w = gsl_vector_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_set (v, i, (double) i); }; gsl_vector_fprintf (f, v, "%g"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (double) i) status = 1; }; gsl_test (status, "gsl_vector" "_fprintf and fscanf"); fclose (f); } gsl_vector_free (v); gsl_vector_free (w); } # 79 "test.c" 2 # 1 "../templates_off.h" 1 # 80 "test.c" 2 # 1 "../templates_on.h" 1 # 84 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_float_func (void); void test_float_binary (void); void test_float_trap (void); void test_float_func (void) { gsl_vector_float * v; size_t i; v = gsl_vector_float_calloc (1027); gsl_test (v->data == 0, "gsl_vector_float" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_float" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_float" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_float_set (v, i, (float) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (float) i) status = 1; }; gsl_test (status, "gsl_vector_float" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_float_get (v, i) != (float) i) status = 1; }; gsl_test (status, "gsl_vector_float" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_float_get (v, i) != (float) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_float" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_float_set (v, i, (float) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (float) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_float" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_float_set (v, i, (float) i); } gsl_vector_float_swap_elements (v, 2, 5) ; status = (gsl_vector_float_get(v,2) != 5) ; status |= (gsl_vector_float_get(v,5) != 2) ; gsl_vector_float_swap_elements (v, 2, 5) ; status |= (gsl_vector_float_get(v,2) != 2) ; status |= (gsl_vector_float_get(v,5) != 5) ; gsl_test (status, "gsl_vector_float" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_float_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_float_get (v, i) != (float) (1027 - i - 1)); } gsl_test (status, "gsl_vector_float" "_reverse" " (static)" " reverses elements") ; { float exp_max = gsl_vector_float_get(v, 0); float exp_min = gsl_vector_float_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { float k = gsl_vector_float_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_float_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { float k = gsl_vector_float_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_float_get (v, i) ; exp_imax = i; } } { float max = gsl_vector_float_max (v) ; gsl_test (max != exp_max, "gsl_vector_float" "_max returns correct maximum value"); } { float min = gsl_vector_float_min (v) ; gsl_test (min != exp_min, "gsl_vector_float" "_min returns correct minimum value"); } { float min, max; gsl_vector_float_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_float" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_float" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_float_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_float" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_float_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_float" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_float_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_float" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_float" "_minmax_index returns correct minimum i"); } } { gsl_vector_float * a = gsl_vector_float_calloc (1027); gsl_vector_float * b = gsl_vector_float_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_float_set (a, i, (float)(3 + i)); gsl_vector_float_set (b, i, (float)(3 + 2 * i)); } gsl_vector_float_memcpy (v, a); gsl_vector_float_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { float r = gsl_vector_float_get (v,i); float x = gsl_vector_float_get (a,i); float y = gsl_vector_float_get (b,i); float z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_float" "_add vector addition"); } gsl_vector_float_memcpy (v, a); gsl_vector_float_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { float r = gsl_vector_float_get (v,i); float x = gsl_vector_float_get (a,i); float y = gsl_vector_float_get (b,i); float z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_float" "_sub vector subtraction"); } gsl_vector_float_memcpy (v, a); gsl_vector_float_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { float r = gsl_vector_float_get (v,i); float x = gsl_vector_float_get (a,i); float y = gsl_vector_float_get (b,i); float z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_float" "_mul multiplication"); } gsl_vector_float_memcpy (v, a); gsl_vector_float_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { float r = gsl_vector_float_get (v,i); float x = gsl_vector_float_get (a,i); float y = gsl_vector_float_get (b,i); float z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_float" "_div division"); } gsl_vector_float_free (a); gsl_vector_float_free (b); } gsl_vector_float_free (v); } void test_float_binary (void) { gsl_vector_float * v = gsl_vector_float_calloc (1027); gsl_vector_float * w = gsl_vector_float_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_float_set (v, i, (float) (1027 - i)); }; gsl_vector_float_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_float_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (float) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_float" "_write and read"); fclose (f); } gsl_vector_float_free (v); gsl_vector_float_free (w); } void test_float_trap (void) { gsl_vector_float * v = gsl_vector_float_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_float_set (v, j - 1, (float)0); gsl_test (!status, "gsl_vector_float" "_set traps index below lower bound"); status = 0; gsl_vector_float_set (v, 1027 + 1, (float)0); gsl_test (!status, "gsl_vector_float" "_set traps index above upper bound"); status = 0; gsl_vector_float_set (v, 1027, (float)0); gsl_test (!status, "gsl_vector_float" "_set traps index at upper bound"); status = 0; x = gsl_vector_float_get (v, j - 1); gsl_test (!status, "gsl_vector_float" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_float" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_float_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_float" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_float" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_float_get (v, 1027); gsl_test (!status, "gsl_vector_float" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_float" "_get returns zero for index at upper bound"); gsl_vector_float_free (v); } # 85 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_float_text (void); void test_float_text (void) { gsl_vector_float * v = gsl_vector_float_alloc (1027); gsl_vector_float * w = gsl_vector_float_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_float_set (v, i, (float) i); }; gsl_vector_float_fprintf (f, v, "%g"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_float_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (float) i) status = 1; }; gsl_test (status, "gsl_vector_float" "_fprintf and fscanf"); fclose (f); } gsl_vector_float_free (v); gsl_vector_float_free (w); } # 86 "test.c" 2 # 1 "../templates_off.h" 1 # 87 "test.c" 2 # 1 "../templates_on.h" 1 # 91 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_ulong_func (void); void test_ulong_binary (void); void test_ulong_trap (void); void test_ulong_func (void) { gsl_vector_ulong * v; size_t i; v = gsl_vector_ulong_calloc (1027); gsl_test (v->data == 0, "gsl_vector_ulong" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_ulong" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_ulong" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_ulong_set (v, i, (unsigned long) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (unsigned long) i) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_ulong_get (v, i) != (unsigned long) i) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_ulong_get (v, i) != (unsigned long) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_ulong_set (v, i, (unsigned long) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (unsigned long) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_ulong_set (v, i, (unsigned long) i); } gsl_vector_ulong_swap_elements (v, 2, 5) ; status = (gsl_vector_ulong_get(v,2) != 5) ; status |= (gsl_vector_ulong_get(v,5) != 2) ; gsl_vector_ulong_swap_elements (v, 2, 5) ; status |= (gsl_vector_ulong_get(v,2) != 2) ; status |= (gsl_vector_ulong_get(v,5) != 5) ; gsl_test (status, "gsl_vector_ulong" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_ulong_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_ulong_get (v, i) != (unsigned long) (1027 - i - 1)); } gsl_test (status, "gsl_vector_ulong" "_reverse" " (static)" " reverses elements") ; { unsigned long exp_max = gsl_vector_ulong_get(v, 0); unsigned long exp_min = gsl_vector_ulong_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { unsigned long k = gsl_vector_ulong_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_ulong_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { unsigned long k = gsl_vector_ulong_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_ulong_get (v, i) ; exp_imax = i; } } { unsigned long max = gsl_vector_ulong_max (v) ; gsl_test (max != exp_max, "gsl_vector_ulong" "_max returns correct maximum value"); } { unsigned long min = gsl_vector_ulong_min (v) ; gsl_test (min != exp_min, "gsl_vector_ulong" "_min returns correct minimum value"); } { unsigned long min, max; gsl_vector_ulong_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_ulong" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_ulong" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_ulong_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_ulong" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_ulong_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_ulong" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_ulong_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_ulong" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_ulong" "_minmax_index returns correct minimum i"); } } { gsl_vector_ulong * a = gsl_vector_ulong_calloc (1027); gsl_vector_ulong * b = gsl_vector_ulong_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_ulong_set (a, i, (unsigned long)(3 + i)); gsl_vector_ulong_set (b, i, (unsigned long)(3 + 2 * i)); } gsl_vector_ulong_memcpy (v, a); gsl_vector_ulong_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned long r = gsl_vector_ulong_get (v,i); unsigned long x = gsl_vector_ulong_get (a,i); unsigned long y = gsl_vector_ulong_get (b,i); unsigned long z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ulong" "_add vector addition"); } gsl_vector_ulong_memcpy (v, a); gsl_vector_ulong_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned long r = gsl_vector_ulong_get (v,i); unsigned long x = gsl_vector_ulong_get (a,i); unsigned long y = gsl_vector_ulong_get (b,i); unsigned long z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ulong" "_sub vector subtraction"); } gsl_vector_ulong_memcpy (v, a); gsl_vector_ulong_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned long r = gsl_vector_ulong_get (v,i); unsigned long x = gsl_vector_ulong_get (a,i); unsigned long y = gsl_vector_ulong_get (b,i); unsigned long z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ulong" "_mul multiplication"); } gsl_vector_ulong_memcpy (v, a); gsl_vector_ulong_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned long r = gsl_vector_ulong_get (v,i); unsigned long x = gsl_vector_ulong_get (a,i); unsigned long y = gsl_vector_ulong_get (b,i); unsigned long z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_ulong" "_div division"); } gsl_vector_ulong_free (a); gsl_vector_ulong_free (b); } gsl_vector_ulong_free (v); } void test_ulong_binary (void) { gsl_vector_ulong * v = gsl_vector_ulong_calloc (1027); gsl_vector_ulong * w = gsl_vector_ulong_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_ulong_set (v, i, (unsigned long) (1027 - i)); }; gsl_vector_ulong_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_ulong_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned long) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_write and read"); fclose (f); } gsl_vector_ulong_free (v); gsl_vector_ulong_free (w); } void test_ulong_trap (void) { gsl_vector_ulong * v = gsl_vector_ulong_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_ulong_set (v, j - 1, (unsigned long)0); gsl_test (!status, "gsl_vector_ulong" "_set traps index below lower bound"); status = 0; gsl_vector_ulong_set (v, 1027 + 1, (unsigned long)0); gsl_test (!status, "gsl_vector_ulong" "_set traps index above upper bound"); status = 0; gsl_vector_ulong_set (v, 1027, (unsigned long)0); gsl_test (!status, "gsl_vector_ulong" "_set traps index at upper bound"); status = 0; x = gsl_vector_ulong_get (v, j - 1); gsl_test (!status, "gsl_vector_ulong" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_ulong" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_ulong_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_ulong" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_ulong" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_ulong_get (v, 1027); gsl_test (!status, "gsl_vector_ulong" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_ulong" "_get returns zero for index at upper bound"); gsl_vector_ulong_free (v); } # 92 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_ulong_text (void); void test_ulong_text (void) { gsl_vector_ulong * v = gsl_vector_ulong_alloc (1027); gsl_vector_ulong * w = gsl_vector_ulong_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_ulong_set (v, i, (unsigned long) i); }; gsl_vector_ulong_fprintf (f, v, "%lu"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_ulong_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned long) i) status = 1; }; gsl_test (status, "gsl_vector_ulong" "_fprintf and fscanf"); fclose (f); } gsl_vector_ulong_free (v); gsl_vector_ulong_free (w); } # 93 "test.c" 2 # 1 "../templates_off.h" 1 # 94 "test.c" 2 # 1 "../templates_on.h" 1 # 98 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_long_func (void); void test_long_binary (void); void test_long_trap (void); void test_long_func (void) { gsl_vector_long * v; size_t i; v = gsl_vector_long_calloc (1027); gsl_test (v->data == 0, "gsl_vector_long" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_long" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_long" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_long_set (v, i, (long) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (long) i) status = 1; }; gsl_test (status, "gsl_vector_long" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_long_get (v, i) != (long) i) status = 1; }; gsl_test (status, "gsl_vector_long" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_long_get (v, i) != (long) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_long" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_long_set (v, i, (long) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (long) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_long" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_long_set (v, i, (long) i); } gsl_vector_long_swap_elements (v, 2, 5) ; status = (gsl_vector_long_get(v,2) != 5) ; status |= (gsl_vector_long_get(v,5) != 2) ; gsl_vector_long_swap_elements (v, 2, 5) ; status |= (gsl_vector_long_get(v,2) != 2) ; status |= (gsl_vector_long_get(v,5) != 5) ; gsl_test (status, "gsl_vector_long" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_long_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_long_get (v, i) != (long) (1027 - i - 1)); } gsl_test (status, "gsl_vector_long" "_reverse" " (static)" " reverses elements") ; { long exp_max = gsl_vector_long_get(v, 0); long exp_min = gsl_vector_long_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { long k = gsl_vector_long_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_long_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { long k = gsl_vector_long_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_long_get (v, i) ; exp_imax = i; } } { long max = gsl_vector_long_max (v) ; gsl_test (max != exp_max, "gsl_vector_long" "_max returns correct maximum value"); } { long min = gsl_vector_long_min (v) ; gsl_test (min != exp_min, "gsl_vector_long" "_min returns correct minimum value"); } { long min, max; gsl_vector_long_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_long" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_long" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_long_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_long" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_long_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_long" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_long_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_long" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_long" "_minmax_index returns correct minimum i"); } } { gsl_vector_long * a = gsl_vector_long_calloc (1027); gsl_vector_long * b = gsl_vector_long_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_long_set (a, i, (long)(3 + i)); gsl_vector_long_set (b, i, (long)(3 + 2 * i)); } gsl_vector_long_memcpy (v, a); gsl_vector_long_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long r = gsl_vector_long_get (v,i); long x = gsl_vector_long_get (a,i); long y = gsl_vector_long_get (b,i); long z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long" "_add vector addition"); } gsl_vector_long_memcpy (v, a); gsl_vector_long_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long r = gsl_vector_long_get (v,i); long x = gsl_vector_long_get (a,i); long y = gsl_vector_long_get (b,i); long z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long" "_sub vector subtraction"); } gsl_vector_long_memcpy (v, a); gsl_vector_long_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long r = gsl_vector_long_get (v,i); long x = gsl_vector_long_get (a,i); long y = gsl_vector_long_get (b,i); long z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_long" "_mul multiplication"); } gsl_vector_long_memcpy (v, a); gsl_vector_long_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { long r = gsl_vector_long_get (v,i); long x = gsl_vector_long_get (a,i); long y = gsl_vector_long_get (b,i); long z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_long" "_div division"); } gsl_vector_long_free (a); gsl_vector_long_free (b); } gsl_vector_long_free (v); } void test_long_binary (void) { gsl_vector_long * v = gsl_vector_long_calloc (1027); gsl_vector_long * w = gsl_vector_long_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_long_set (v, i, (long) (1027 - i)); }; gsl_vector_long_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_long_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (long) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_long" "_write and read"); fclose (f); } gsl_vector_long_free (v); gsl_vector_long_free (w); } void test_long_trap (void) { gsl_vector_long * v = gsl_vector_long_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_long_set (v, j - 1, (long)0); gsl_test (!status, "gsl_vector_long" "_set traps index below lower bound"); status = 0; gsl_vector_long_set (v, 1027 + 1, (long)0); gsl_test (!status, "gsl_vector_long" "_set traps index above upper bound"); status = 0; gsl_vector_long_set (v, 1027, (long)0); gsl_test (!status, "gsl_vector_long" "_set traps index at upper bound"); status = 0; x = gsl_vector_long_get (v, j - 1); gsl_test (!status, "gsl_vector_long" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_long" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_long_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_long" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_long" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_long_get (v, 1027); gsl_test (!status, "gsl_vector_long" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_long" "_get returns zero for index at upper bound"); gsl_vector_long_free (v); } # 99 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_long_text (void); void test_long_text (void) { gsl_vector_long * v = gsl_vector_long_alloc (1027); gsl_vector_long * w = gsl_vector_long_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_long_set (v, i, (long) i); }; gsl_vector_long_fprintf (f, v, "%ld"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_long_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (long) i) status = 1; }; gsl_test (status, "gsl_vector_long" "_fprintf and fscanf"); fclose (f); } gsl_vector_long_free (v); gsl_vector_long_free (w); } # 100 "test.c" 2 # 1 "../templates_off.h" 1 # 101 "test.c" 2 # 1 "../templates_on.h" 1 # 105 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_uint_func (void); void test_uint_binary (void); void test_uint_trap (void); void test_uint_func (void) { gsl_vector_uint * v; size_t i; v = gsl_vector_uint_calloc (1027); gsl_test (v->data == 0, "gsl_vector_uint" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_uint" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_uint" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_uint_set (v, i, (unsigned int) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (unsigned int) i) status = 1; }; gsl_test (status, "gsl_vector_uint" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_uint_get (v, i) != (unsigned int) i) status = 1; }; gsl_test (status, "gsl_vector_uint" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_uint_get (v, i) != (unsigned int) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_uint" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_uint_set (v, i, (unsigned int) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (unsigned int) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_uint" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_uint_set (v, i, (unsigned int) i); } gsl_vector_uint_swap_elements (v, 2, 5) ; status = (gsl_vector_uint_get(v,2) != 5) ; status |= (gsl_vector_uint_get(v,5) != 2) ; gsl_vector_uint_swap_elements (v, 2, 5) ; status |= (gsl_vector_uint_get(v,2) != 2) ; status |= (gsl_vector_uint_get(v,5) != 5) ; gsl_test (status, "gsl_vector_uint" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_uint_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_uint_get (v, i) != (unsigned int) (1027 - i - 1)); } gsl_test (status, "gsl_vector_uint" "_reverse" " (static)" " reverses elements") ; { unsigned int exp_max = gsl_vector_uint_get(v, 0); unsigned int exp_min = gsl_vector_uint_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { unsigned int k = gsl_vector_uint_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_uint_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { unsigned int k = gsl_vector_uint_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_uint_get (v, i) ; exp_imax = i; } } { unsigned int max = gsl_vector_uint_max (v) ; gsl_test (max != exp_max, "gsl_vector_uint" "_max returns correct maximum value"); } { unsigned int min = gsl_vector_uint_min (v) ; gsl_test (min != exp_min, "gsl_vector_uint" "_min returns correct minimum value"); } { unsigned int min, max; gsl_vector_uint_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_uint" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_uint" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_uint_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_uint" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_uint_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_uint" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_uint_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_uint" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_uint" "_minmax_index returns correct minimum i"); } } { gsl_vector_uint * a = gsl_vector_uint_calloc (1027); gsl_vector_uint * b = gsl_vector_uint_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_uint_set (a, i, (unsigned int)(3 + i)); gsl_vector_uint_set (b, i, (unsigned int)(3 + 2 * i)); } gsl_vector_uint_memcpy (v, a); gsl_vector_uint_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned int r = gsl_vector_uint_get (v,i); unsigned int x = gsl_vector_uint_get (a,i); unsigned int y = gsl_vector_uint_get (b,i); unsigned int z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uint" "_add vector addition"); } gsl_vector_uint_memcpy (v, a); gsl_vector_uint_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned int r = gsl_vector_uint_get (v,i); unsigned int x = gsl_vector_uint_get (a,i); unsigned int y = gsl_vector_uint_get (b,i); unsigned int z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uint" "_sub vector subtraction"); } gsl_vector_uint_memcpy (v, a); gsl_vector_uint_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned int r = gsl_vector_uint_get (v,i); unsigned int x = gsl_vector_uint_get (a,i); unsigned int y = gsl_vector_uint_get (b,i); unsigned int z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uint" "_mul multiplication"); } gsl_vector_uint_memcpy (v, a); gsl_vector_uint_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned int r = gsl_vector_uint_get (v,i); unsigned int x = gsl_vector_uint_get (a,i); unsigned int y = gsl_vector_uint_get (b,i); unsigned int z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_uint" "_div division"); } gsl_vector_uint_free (a); gsl_vector_uint_free (b); } gsl_vector_uint_free (v); } void test_uint_binary (void) { gsl_vector_uint * v = gsl_vector_uint_calloc (1027); gsl_vector_uint * w = gsl_vector_uint_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_uint_set (v, i, (unsigned int) (1027 - i)); }; gsl_vector_uint_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_uint_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned int) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_uint" "_write and read"); fclose (f); } gsl_vector_uint_free (v); gsl_vector_uint_free (w); } void test_uint_trap (void) { gsl_vector_uint * v = gsl_vector_uint_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_uint_set (v, j - 1, (unsigned int)0); gsl_test (!status, "gsl_vector_uint" "_set traps index below lower bound"); status = 0; gsl_vector_uint_set (v, 1027 + 1, (unsigned int)0); gsl_test (!status, "gsl_vector_uint" "_set traps index above upper bound"); status = 0; gsl_vector_uint_set (v, 1027, (unsigned int)0); gsl_test (!status, "gsl_vector_uint" "_set traps index at upper bound"); status = 0; x = gsl_vector_uint_get (v, j - 1); gsl_test (!status, "gsl_vector_uint" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_uint" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_uint_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_uint" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_uint" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_uint_get (v, 1027); gsl_test (!status, "gsl_vector_uint" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_uint" "_get returns zero for index at upper bound"); gsl_vector_uint_free (v); } # 106 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_uint_text (void); void test_uint_text (void) { gsl_vector_uint * v = gsl_vector_uint_alloc (1027); gsl_vector_uint * w = gsl_vector_uint_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_uint_set (v, i, (unsigned int) i); }; gsl_vector_uint_fprintf (f, v, "%u"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_uint_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned int) i) status = 1; }; gsl_test (status, "gsl_vector_uint" "_fprintf and fscanf"); fclose (f); } gsl_vector_uint_free (v); gsl_vector_uint_free (w); } # 107 "test.c" 2 # 1 "../templates_off.h" 1 # 108 "test.c" 2 # 1 "../templates_on.h" 1 # 112 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_int_func (void); void test_int_binary (void); void test_int_trap (void); void test_int_func (void) { gsl_vector_int * v; size_t i; v = gsl_vector_int_calloc (1027); gsl_test (v->data == 0, "gsl_vector_int" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_int" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_int" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_int_set (v, i, (int) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (int) i) status = 1; }; gsl_test (status, "gsl_vector_int" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_int_get (v, i) != (int) i) status = 1; }; gsl_test (status, "gsl_vector_int" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_int_get (v, i) != (int) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_int" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_int_set (v, i, (int) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (int) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_int" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_int_set (v, i, (int) i); } gsl_vector_int_swap_elements (v, 2, 5) ; status = (gsl_vector_int_get(v,2) != 5) ; status |= (gsl_vector_int_get(v,5) != 2) ; gsl_vector_int_swap_elements (v, 2, 5) ; status |= (gsl_vector_int_get(v,2) != 2) ; status |= (gsl_vector_int_get(v,5) != 5) ; gsl_test (status, "gsl_vector_int" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_int_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_int_get (v, i) != (int) (1027 - i - 1)); } gsl_test (status, "gsl_vector_int" "_reverse" " (static)" " reverses elements") ; { int exp_max = gsl_vector_int_get(v, 0); int exp_min = gsl_vector_int_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { int k = gsl_vector_int_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_int_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { int k = gsl_vector_int_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_int_get (v, i) ; exp_imax = i; } } { int max = gsl_vector_int_max (v) ; gsl_test (max != exp_max, "gsl_vector_int" "_max returns correct maximum value"); } { int min = gsl_vector_int_min (v) ; gsl_test (min != exp_min, "gsl_vector_int" "_min returns correct minimum value"); } { int min, max; gsl_vector_int_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_int" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_int" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_int_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_int" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_int_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_int" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_int_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_int" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_int" "_minmax_index returns correct minimum i"); } } { gsl_vector_int * a = gsl_vector_int_calloc (1027); gsl_vector_int * b = gsl_vector_int_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_int_set (a, i, (int)(3 + i)); gsl_vector_int_set (b, i, (int)(3 + 2 * i)); } gsl_vector_int_memcpy (v, a); gsl_vector_int_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { int r = gsl_vector_int_get (v,i); int x = gsl_vector_int_get (a,i); int y = gsl_vector_int_get (b,i); int z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_int" "_add vector addition"); } gsl_vector_int_memcpy (v, a); gsl_vector_int_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { int r = gsl_vector_int_get (v,i); int x = gsl_vector_int_get (a,i); int y = gsl_vector_int_get (b,i); int z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_int" "_sub vector subtraction"); } gsl_vector_int_memcpy (v, a); gsl_vector_int_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { int r = gsl_vector_int_get (v,i); int x = gsl_vector_int_get (a,i); int y = gsl_vector_int_get (b,i); int z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_int" "_mul multiplication"); } gsl_vector_int_memcpy (v, a); gsl_vector_int_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { int r = gsl_vector_int_get (v,i); int x = gsl_vector_int_get (a,i); int y = gsl_vector_int_get (b,i); int z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_int" "_div division"); } gsl_vector_int_free (a); gsl_vector_int_free (b); } gsl_vector_int_free (v); } void test_int_binary (void) { gsl_vector_int * v = gsl_vector_int_calloc (1027); gsl_vector_int * w = gsl_vector_int_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_int_set (v, i, (int) (1027 - i)); }; gsl_vector_int_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_int_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (int) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_int" "_write and read"); fclose (f); } gsl_vector_int_free (v); gsl_vector_int_free (w); } void test_int_trap (void) { gsl_vector_int * v = gsl_vector_int_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_int_set (v, j - 1, (int)0); gsl_test (!status, "gsl_vector_int" "_set traps index below lower bound"); status = 0; gsl_vector_int_set (v, 1027 + 1, (int)0); gsl_test (!status, "gsl_vector_int" "_set traps index above upper bound"); status = 0; gsl_vector_int_set (v, 1027, (int)0); gsl_test (!status, "gsl_vector_int" "_set traps index at upper bound"); status = 0; x = gsl_vector_int_get (v, j - 1); gsl_test (!status, "gsl_vector_int" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_int" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_int_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_int" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_int" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_int_get (v, 1027); gsl_test (!status, "gsl_vector_int" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_int" "_get returns zero for index at upper bound"); gsl_vector_int_free (v); } # 113 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_int_text (void); void test_int_text (void) { gsl_vector_int * v = gsl_vector_int_alloc (1027); gsl_vector_int * w = gsl_vector_int_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_int_set (v, i, (int) i); }; gsl_vector_int_fprintf (f, v, "%d"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_int_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (int) i) status = 1; }; gsl_test (status, "gsl_vector_int" "_fprintf and fscanf"); fclose (f); } gsl_vector_int_free (v); gsl_vector_int_free (w); } # 114 "test.c" 2 # 1 "../templates_off.h" 1 # 115 "test.c" 2 # 1 "../templates_on.h" 1 # 119 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_ushort_func (void); void test_ushort_binary (void); void test_ushort_trap (void); void test_ushort_func (void) { gsl_vector_ushort * v; size_t i; v = gsl_vector_ushort_calloc (1027); gsl_test (v->data == 0, "gsl_vector_ushort" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_ushort" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_ushort" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_ushort_set (v, i, (unsigned short) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (unsigned short) i) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_ushort_get (v, i) != (unsigned short) i) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_ushort_get (v, i) != (unsigned short) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_ushort_set (v, i, (unsigned short) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (unsigned short) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_ushort_set (v, i, (unsigned short) i); } gsl_vector_ushort_swap_elements (v, 2, 5) ; status = (gsl_vector_ushort_get(v,2) != 5) ; status |= (gsl_vector_ushort_get(v,5) != 2) ; gsl_vector_ushort_swap_elements (v, 2, 5) ; status |= (gsl_vector_ushort_get(v,2) != 2) ; status |= (gsl_vector_ushort_get(v,5) != 5) ; gsl_test (status, "gsl_vector_ushort" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_ushort_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_ushort_get (v, i) != (unsigned short) (1027 - i - 1)); } gsl_test (status, "gsl_vector_ushort" "_reverse" " (static)" " reverses elements") ; { unsigned short exp_max = gsl_vector_ushort_get(v, 0); unsigned short exp_min = gsl_vector_ushort_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { unsigned short k = gsl_vector_ushort_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_ushort_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { unsigned short k = gsl_vector_ushort_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_ushort_get (v, i) ; exp_imax = i; } } { unsigned short max = gsl_vector_ushort_max (v) ; gsl_test (max != exp_max, "gsl_vector_ushort" "_max returns correct maximum value"); } { unsigned short min = gsl_vector_ushort_min (v) ; gsl_test (min != exp_min, "gsl_vector_ushort" "_min returns correct minimum value"); } { unsigned short min, max; gsl_vector_ushort_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_ushort" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_ushort" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_ushort_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_ushort" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_ushort_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_ushort" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_ushort_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_ushort" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_ushort" "_minmax_index returns correct minimum i"); } } { gsl_vector_ushort * a = gsl_vector_ushort_calloc (1027); gsl_vector_ushort * b = gsl_vector_ushort_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_ushort_set (a, i, (unsigned short)(3 + i)); gsl_vector_ushort_set (b, i, (unsigned short)(3 + 2 * i)); } gsl_vector_ushort_memcpy (v, a); gsl_vector_ushort_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned short r = gsl_vector_ushort_get (v,i); unsigned short x = gsl_vector_ushort_get (a,i); unsigned short y = gsl_vector_ushort_get (b,i); unsigned short z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ushort" "_add vector addition"); } gsl_vector_ushort_memcpy (v, a); gsl_vector_ushort_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned short r = gsl_vector_ushort_get (v,i); unsigned short x = gsl_vector_ushort_get (a,i); unsigned short y = gsl_vector_ushort_get (b,i); unsigned short z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ushort" "_sub vector subtraction"); } gsl_vector_ushort_memcpy (v, a); gsl_vector_ushort_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned short r = gsl_vector_ushort_get (v,i); unsigned short x = gsl_vector_ushort_get (a,i); unsigned short y = gsl_vector_ushort_get (b,i); unsigned short z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_ushort" "_mul multiplication"); } gsl_vector_ushort_memcpy (v, a); gsl_vector_ushort_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned short r = gsl_vector_ushort_get (v,i); unsigned short x = gsl_vector_ushort_get (a,i); unsigned short y = gsl_vector_ushort_get (b,i); unsigned short z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_ushort" "_div division"); } gsl_vector_ushort_free (a); gsl_vector_ushort_free (b); } gsl_vector_ushort_free (v); } void test_ushort_binary (void) { gsl_vector_ushort * v = gsl_vector_ushort_calloc (1027); gsl_vector_ushort * w = gsl_vector_ushort_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_ushort_set (v, i, (unsigned short) (1027 - i)); }; gsl_vector_ushort_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_ushort_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned short) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_write and read"); fclose (f); } gsl_vector_ushort_free (v); gsl_vector_ushort_free (w); } void test_ushort_trap (void) { gsl_vector_ushort * v = gsl_vector_ushort_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_ushort_set (v, j - 1, (unsigned short)0); gsl_test (!status, "gsl_vector_ushort" "_set traps index below lower bound"); status = 0; gsl_vector_ushort_set (v, 1027 + 1, (unsigned short)0); gsl_test (!status, "gsl_vector_ushort" "_set traps index above upper bound"); status = 0; gsl_vector_ushort_set (v, 1027, (unsigned short)0); gsl_test (!status, "gsl_vector_ushort" "_set traps index at upper bound"); status = 0; x = gsl_vector_ushort_get (v, j - 1); gsl_test (!status, "gsl_vector_ushort" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_ushort" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_ushort_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_ushort" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_ushort" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_ushort_get (v, 1027); gsl_test (!status, "gsl_vector_ushort" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_ushort" "_get returns zero for index at upper bound"); gsl_vector_ushort_free (v); } # 120 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_ushort_text (void); void test_ushort_text (void) { gsl_vector_ushort * v = gsl_vector_ushort_alloc (1027); gsl_vector_ushort * w = gsl_vector_ushort_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_ushort_set (v, i, (unsigned short) i); }; gsl_vector_ushort_fprintf (f, v, "%hu"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_ushort_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned short) i) status = 1; }; gsl_test (status, "gsl_vector_ushort" "_fprintf and fscanf"); fclose (f); } gsl_vector_ushort_free (v); gsl_vector_ushort_free (w); } # 121 "test.c" 2 # 1 "../templates_off.h" 1 # 122 "test.c" 2 # 1 "../templates_on.h" 1 # 126 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_short_func (void); void test_short_binary (void); void test_short_trap (void); void test_short_func (void) { gsl_vector_short * v; size_t i; v = gsl_vector_short_calloc (1027); gsl_test (v->data == 0, "gsl_vector_short" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_short" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_short" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_short_set (v, i, (short) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (short) i) status = 1; }; gsl_test (status, "gsl_vector_short" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_short_get (v, i) != (short) i) status = 1; }; gsl_test (status, "gsl_vector_short" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_short_get (v, i) != (short) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_short" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_short_set (v, i, (short) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (short) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_short" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_short_set (v, i, (short) i); } gsl_vector_short_swap_elements (v, 2, 5) ; status = (gsl_vector_short_get(v,2) != 5) ; status |= (gsl_vector_short_get(v,5) != 2) ; gsl_vector_short_swap_elements (v, 2, 5) ; status |= (gsl_vector_short_get(v,2) != 2) ; status |= (gsl_vector_short_get(v,5) != 5) ; gsl_test (status, "gsl_vector_short" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_short_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_short_get (v, i) != (short) (1027 - i - 1)); } gsl_test (status, "gsl_vector_short" "_reverse" " (static)" " reverses elements") ; { short exp_max = gsl_vector_short_get(v, 0); short exp_min = gsl_vector_short_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { short k = gsl_vector_short_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_short_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { short k = gsl_vector_short_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_short_get (v, i) ; exp_imax = i; } } { short max = gsl_vector_short_max (v) ; gsl_test (max != exp_max, "gsl_vector_short" "_max returns correct maximum value"); } { short min = gsl_vector_short_min (v) ; gsl_test (min != exp_min, "gsl_vector_short" "_min returns correct minimum value"); } { short min, max; gsl_vector_short_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_short" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_short" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_short_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_short" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_short_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_short" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_short_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_short" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_short" "_minmax_index returns correct minimum i"); } } { gsl_vector_short * a = gsl_vector_short_calloc (1027); gsl_vector_short * b = gsl_vector_short_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_short_set (a, i, (short)(3 + i)); gsl_vector_short_set (b, i, (short)(3 + 2 * i)); } gsl_vector_short_memcpy (v, a); gsl_vector_short_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { short r = gsl_vector_short_get (v,i); short x = gsl_vector_short_get (a,i); short y = gsl_vector_short_get (b,i); short z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_short" "_add vector addition"); } gsl_vector_short_memcpy (v, a); gsl_vector_short_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { short r = gsl_vector_short_get (v,i); short x = gsl_vector_short_get (a,i); short y = gsl_vector_short_get (b,i); short z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_short" "_sub vector subtraction"); } gsl_vector_short_memcpy (v, a); gsl_vector_short_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { short r = gsl_vector_short_get (v,i); short x = gsl_vector_short_get (a,i); short y = gsl_vector_short_get (b,i); short z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_short" "_mul multiplication"); } gsl_vector_short_memcpy (v, a); gsl_vector_short_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { short r = gsl_vector_short_get (v,i); short x = gsl_vector_short_get (a,i); short y = gsl_vector_short_get (b,i); short z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_short" "_div division"); } gsl_vector_short_free (a); gsl_vector_short_free (b); } gsl_vector_short_free (v); } void test_short_binary (void) { gsl_vector_short * v = gsl_vector_short_calloc (1027); gsl_vector_short * w = gsl_vector_short_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_short_set (v, i, (short) (1027 - i)); }; gsl_vector_short_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_short_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (short) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_short" "_write and read"); fclose (f); } gsl_vector_short_free (v); gsl_vector_short_free (w); } void test_short_trap (void) { gsl_vector_short * v = gsl_vector_short_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_short_set (v, j - 1, (short)0); gsl_test (!status, "gsl_vector_short" "_set traps index below lower bound"); status = 0; gsl_vector_short_set (v, 1027 + 1, (short)0); gsl_test (!status, "gsl_vector_short" "_set traps index above upper bound"); status = 0; gsl_vector_short_set (v, 1027, (short)0); gsl_test (!status, "gsl_vector_short" "_set traps index at upper bound"); status = 0; x = gsl_vector_short_get (v, j - 1); gsl_test (!status, "gsl_vector_short" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_short" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_short_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_short" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_short" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_short_get (v, 1027); gsl_test (!status, "gsl_vector_short" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_short" "_get returns zero for index at upper bound"); gsl_vector_short_free (v); } # 127 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_short_text (void); void test_short_text (void) { gsl_vector_short * v = gsl_vector_short_alloc (1027); gsl_vector_short * w = gsl_vector_short_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_short_set (v, i, (short) i); }; gsl_vector_short_fprintf (f, v, "%hd"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_short_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (short) i) status = 1; }; gsl_test (status, "gsl_vector_short" "_fprintf and fscanf"); fclose (f); } gsl_vector_short_free (v); gsl_vector_short_free (w); } # 128 "test.c" 2 # 1 "../templates_off.h" 1 # 129 "test.c" 2 # 1 "../templates_on.h" 1 # 133 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_uchar_func (void); void test_uchar_binary (void); void test_uchar_trap (void); void test_uchar_func (void) { gsl_vector_uchar * v; size_t i; v = gsl_vector_uchar_calloc (1027); gsl_test (v->data == 0, "gsl_vector_uchar" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_uchar" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_uchar" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_uchar_set (v, i, (unsigned char) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (unsigned char) i) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_uchar_get (v, i) != (unsigned char) i) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_uchar_get (v, i) != (unsigned char) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_uchar_set (v, i, (unsigned char) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (unsigned char) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_uchar_set (v, i, (unsigned char) i); } gsl_vector_uchar_swap_elements (v, 2, 5) ; status = (gsl_vector_uchar_get(v,2) != 5) ; status |= (gsl_vector_uchar_get(v,5) != 2) ; gsl_vector_uchar_swap_elements (v, 2, 5) ; status |= (gsl_vector_uchar_get(v,2) != 2) ; status |= (gsl_vector_uchar_get(v,5) != 5) ; gsl_test (status, "gsl_vector_uchar" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_uchar_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_uchar_get (v, i) != (unsigned char) (1027 - i - 1)); } gsl_test (status, "gsl_vector_uchar" "_reverse" " (static)" " reverses elements") ; { unsigned char exp_max = gsl_vector_uchar_get(v, 0); unsigned char exp_min = gsl_vector_uchar_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { unsigned char k = gsl_vector_uchar_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_uchar_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { unsigned char k = gsl_vector_uchar_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_uchar_get (v, i) ; exp_imax = i; } } { unsigned char max = gsl_vector_uchar_max (v) ; gsl_test (max != exp_max, "gsl_vector_uchar" "_max returns correct maximum value"); } { unsigned char min = gsl_vector_uchar_min (v) ; gsl_test (min != exp_min, "gsl_vector_uchar" "_min returns correct minimum value"); } { unsigned char min, max; gsl_vector_uchar_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_uchar" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_uchar" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_uchar_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_uchar" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_uchar_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_uchar" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_uchar_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_uchar" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_uchar" "_minmax_index returns correct minimum i"); } } { gsl_vector_uchar * a = gsl_vector_uchar_calloc (1027); gsl_vector_uchar * b = gsl_vector_uchar_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_uchar_set (a, i, (unsigned char)(3 + i)); gsl_vector_uchar_set (b, i, (unsigned char)(3 + 2 * i)); } gsl_vector_uchar_memcpy (v, a); gsl_vector_uchar_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned char r = gsl_vector_uchar_get (v,i); unsigned char x = gsl_vector_uchar_get (a,i); unsigned char y = gsl_vector_uchar_get (b,i); unsigned char z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uchar" "_add vector addition"); } gsl_vector_uchar_memcpy (v, a); gsl_vector_uchar_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned char r = gsl_vector_uchar_get (v,i); unsigned char x = gsl_vector_uchar_get (a,i); unsigned char y = gsl_vector_uchar_get (b,i); unsigned char z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uchar" "_sub vector subtraction"); } gsl_vector_uchar_memcpy (v, a); gsl_vector_uchar_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned char r = gsl_vector_uchar_get (v,i); unsigned char x = gsl_vector_uchar_get (a,i); unsigned char y = gsl_vector_uchar_get (b,i); unsigned char z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_uchar" "_mul multiplication"); } gsl_vector_uchar_memcpy (v, a); gsl_vector_uchar_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { unsigned char r = gsl_vector_uchar_get (v,i); unsigned char x = gsl_vector_uchar_get (a,i); unsigned char y = gsl_vector_uchar_get (b,i); unsigned char z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_uchar" "_div division"); } gsl_vector_uchar_free (a); gsl_vector_uchar_free (b); } gsl_vector_uchar_free (v); } void test_uchar_binary (void) { gsl_vector_uchar * v = gsl_vector_uchar_calloc (1027); gsl_vector_uchar * w = gsl_vector_uchar_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_uchar_set (v, i, (unsigned char) (1027 - i)); }; gsl_vector_uchar_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_uchar_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned char) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_write and read"); fclose (f); } gsl_vector_uchar_free (v); gsl_vector_uchar_free (w); } void test_uchar_trap (void) { gsl_vector_uchar * v = gsl_vector_uchar_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_uchar_set (v, j - 1, (unsigned char)0); gsl_test (!status, "gsl_vector_uchar" "_set traps index below lower bound"); status = 0; gsl_vector_uchar_set (v, 1027 + 1, (unsigned char)0); gsl_test (!status, "gsl_vector_uchar" "_set traps index above upper bound"); status = 0; gsl_vector_uchar_set (v, 1027, (unsigned char)0); gsl_test (!status, "gsl_vector_uchar" "_set traps index at upper bound"); status = 0; x = gsl_vector_uchar_get (v, j - 1); gsl_test (!status, "gsl_vector_uchar" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_uchar" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_uchar_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_uchar" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_uchar" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_uchar_get (v, 1027); gsl_test (!status, "gsl_vector_uchar" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_uchar" "_get returns zero for index at upper bound"); gsl_vector_uchar_free (v); } # 134 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_uchar_text (void); void test_uchar_text (void) { gsl_vector_uchar * v = gsl_vector_uchar_alloc (1027); gsl_vector_uchar * w = gsl_vector_uchar_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_uchar_set (v, i, (unsigned char) i); }; gsl_vector_uchar_fprintf (f, v, "%u"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_uchar_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (unsigned char) i) status = 1; }; gsl_test (status, "gsl_vector_uchar" "_fprintf and fscanf"); fclose (f); } gsl_vector_uchar_free (v); gsl_vector_uchar_free (w); } # 135 "test.c" 2 # 1 "../templates_off.h" 1 # 136 "test.c" 2 # 1 "../templates_on.h" 1 # 140 "test.c" 2 # 1 "test_source.c" 1 # 20 "test_source.c" void test_char_func (void); void test_char_binary (void); void test_char_trap (void); void test_char_func (void) { gsl_vector_char * v; size_t i; v = gsl_vector_char_calloc (1027); gsl_test (v->data == 0, "gsl_vector_char" "_alloc returns valid pointer"); gsl_test (v->size != 1027, "gsl_vector_char" "_alloc returns valid size"); gsl_test (v->stride != 1, "gsl_vector_char" "_alloc returns unit stride"); for (i = 0; i < 1027; i++) { gsl_vector_char_set (v, i, (char) i); } status = 0; for (i = 0; i < 1027; i++) { if (v->data[i] != (char) i) status = 1; }; gsl_test (status, "gsl_vector_char" "_set" " (static)" " writes into array"); status = 0; for (i = 0; i < 1027; i++) { if (gsl_vector_char_get (v, i) != (char) i) status = 1; }; gsl_test (status, "gsl_vector_char" "_get" " (static)" " reads from array"); v->stride = 2; status = 0; for (i = 0; i < 1027 / 2; i++) { if (gsl_vector_char_get (v, i) != (char) (2 * i)) status = 1; }; gsl_test (status, "gsl_vector_char" "_get" " (static)" " reads with stride"); for (i = 0; i < 1027 / 2; i++) { gsl_vector_char_set (v, i, (char) (i + 1000)); }; status = 0; for (i = 0; i < 1027 / 2; i++) { if (v->data[2 * i] != (char) (i + 1000)) status = 1; }; gsl_test (status, "gsl_vector_char" "_set" " (static)" " writes with stride"); v->stride = 1 ; for (i = 0; i < 1027; i++) { gsl_vector_char_set (v, i, (char) i); } gsl_vector_char_swap_elements (v, 2, 5) ; status = (gsl_vector_char_get(v,2) != 5) ; status |= (gsl_vector_char_get(v,5) != 2) ; gsl_vector_char_swap_elements (v, 2, 5) ; status |= (gsl_vector_char_get(v,2) != 2) ; status |= (gsl_vector_char_get(v,5) != 5) ; gsl_test (status, "gsl_vector_char" "_swap_elements" " (static)" " exchanges elements") ; status = 0; gsl_vector_char_reverse (v) ; for (i = 0; i < 1027; i++) { status |= (gsl_vector_char_get (v, i) != (char) (1027 - i - 1)); } gsl_test (status, "gsl_vector_char" "_reverse" " (static)" " reverses elements") ; { char exp_max = gsl_vector_char_get(v, 0); char exp_min = gsl_vector_char_get(v, 0); size_t exp_imax = 0, exp_imin = 0; for (i = 0; i < 1027; i++) { char k = gsl_vector_char_get (v, i) ; if (k < exp_min) { exp_min = gsl_vector_char_get (v, i); exp_imin = i; } } for (i = 0; i < 1027; i++) { char k = gsl_vector_char_get (v, i) ; if (k > exp_max) { exp_max = gsl_vector_char_get (v, i) ; exp_imax = i; } } { char max = gsl_vector_char_max (v) ; gsl_test (max != exp_max, "gsl_vector_char" "_max returns correct maximum value"); } { char min = gsl_vector_char_min (v) ; gsl_test (min != exp_min, "gsl_vector_char" "_min returns correct minimum value"); } { char min, max; gsl_vector_char_minmax (v, &min, &max); gsl_test (max != exp_max, "gsl_vector_char" "_minmax returns correct maximum value"); gsl_test (min != exp_min, "gsl_vector_char" "_minmax returns correct minimum value"); } { size_t imax = gsl_vector_char_max_index (v) ; gsl_test (imax != exp_imax, "gsl_vector_char" "_max_index returns correct maximum i"); } { size_t imin = gsl_vector_char_min_index (v) ; gsl_test (imin != exp_imin, "gsl_vector_char" "_min_index returns correct minimum i"); } { size_t imin, imax; gsl_vector_char_minmax_index (v, &imin, &imax); gsl_test (imax != exp_imax, "gsl_vector_char" "_minmax_index returns correct maximum i"); gsl_test (imin != exp_imin, "gsl_vector_char" "_minmax_index returns correct minimum i"); } } { gsl_vector_char * a = gsl_vector_char_calloc (1027); gsl_vector_char * b = gsl_vector_char_calloc (1027); for (i = 0; i < 1027; i++) { gsl_vector_char_set (a, i, (char)(3 + i)); gsl_vector_char_set (b, i, (char)(3 + 2 * i)); } gsl_vector_char_memcpy (v, a); gsl_vector_char_add (v, b); { int status = 0; for (i = 0; i < 1027; i++) { char r = gsl_vector_char_get (v,i); char x = gsl_vector_char_get (a,i); char y = gsl_vector_char_get (b,i); char z = x + y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_char" "_add vector addition"); } gsl_vector_char_memcpy (v, a); gsl_vector_char_sub (v, b); { int status = 0; for (i = 0; i < 1027; i++) { char r = gsl_vector_char_get (v,i); char x = gsl_vector_char_get (a,i); char y = gsl_vector_char_get (b,i); char z = x - y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_char" "_sub vector subtraction"); } gsl_vector_char_memcpy (v, a); gsl_vector_char_mul (v, b); { int status = 0; for (i = 0; i < 1027; i++) { char r = gsl_vector_char_get (v,i); char x = gsl_vector_char_get (a,i); char y = gsl_vector_char_get (b,i); char z = x * y; if (r != z) status = 1; } gsl_test (status, "gsl_vector_char" "_mul multiplication"); } gsl_vector_char_memcpy (v, a); gsl_vector_char_div (v, b); { int status = 0; for (i = 0; i < 1027; i++) { char r = gsl_vector_char_get (v,i); char x = gsl_vector_char_get (a,i); char y = gsl_vector_char_get (b,i); char z = x / y; if (fabs(r - z) > 2 * 1.1920928955078125e-07 * fabs(z)) status = 1; } gsl_test (status, "gsl_vector_char" "_div division"); } gsl_vector_char_free (a); gsl_vector_char_free (b); } gsl_vector_char_free (v); } void test_char_binary (void) { gsl_vector_char * v = gsl_vector_char_calloc (1027); gsl_vector_char * w = gsl_vector_char_calloc (1027); size_t i; { FILE *f = fopen ("test.dat", "wb"); for (i = 0; i < 1027; i++) { gsl_vector_char_set (v, i, (char) (1027 - i)); }; gsl_vector_char_fwrite (f, v); fclose (f); } { FILE *f = fopen ("test.dat", "rb"); gsl_vector_char_fread (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (char) (1027 - i)) status = 1; }; gsl_test (status, "gsl_vector_char" "_write and read"); fclose (f); } gsl_vector_char_free (v); gsl_vector_char_free (w); } void test_char_trap (void) { gsl_vector_char * v = gsl_vector_char_alloc (1027); size_t j = 0; double x; status = 0; gsl_vector_char_set (v, j - 1, (char)0); gsl_test (!status, "gsl_vector_char" "_set traps index below lower bound"); status = 0; gsl_vector_char_set (v, 1027 + 1, (char)0); gsl_test (!status, "gsl_vector_char" "_set traps index above upper bound"); status = 0; gsl_vector_char_set (v, 1027, (char)0); gsl_test (!status, "gsl_vector_char" "_set traps index at upper bound"); status = 0; x = gsl_vector_char_get (v, j - 1); gsl_test (!status, "gsl_vector_char" "_get traps index below lower bound"); gsl_test (x != 0, "gsl_vector_char" "_get returns zero for index below lower bound"); status = 0; x = gsl_vector_char_get (v, 1027 + 1); gsl_test (!status, "gsl_vector_char" "_get traps index above upper bound"); gsl_test (x != 0, "gsl_vector_char" "_get returns zero for index above upper bound"); status = 0; x = gsl_vector_char_get (v, 1027); gsl_test (!status, "gsl_vector_char" "_get traps index at upper bound"); gsl_test (x != 0, "gsl_vector_char" "_get returns zero for index at upper bound"); gsl_vector_char_free (v); } # 141 "test.c" 2 # 1 "test_io.c" 1 # 20 "test_io.c" void test_char_text (void); void test_char_text (void) { gsl_vector_char * v = gsl_vector_char_alloc (1027); gsl_vector_char * w = gsl_vector_char_alloc (1027); size_t i; { FILE *f = fopen ("test.txt", "w"); for (i = 0; i < 1027; i++) { gsl_vector_char_set (v, i, (char) i); }; gsl_vector_char_fprintf (f, v, "%d"); fclose (f); } { FILE *f = fopen ("test.txt", "r"); gsl_vector_char_fscanf (f, w); status = 0; for (i = 0; i < 1027; i++) { if (w->data[i] != (char) i) status = 1; }; gsl_test (status, "gsl_vector_char" "_fprintf and fscanf"); fclose (f); } gsl_vector_char_free (v); gsl_vector_char_free (w); } # 142 "test.c" 2 # 1 "../templates_off.h" 1 # 143 "test.c" 2 void my_error_handler (const char *reason, const char *file, int line, int err); int main (void) { gsl_ieee_env_setup (); test_func (); test_float_func (); test_long_double_func (); test_ulong_func (); test_long_func (); test_uint_func (); test_int_func (); test_ushort_func (); test_short_func (); test_uchar_func (); test_char_func (); test_complex_func (); test_complex_float_func (); test_complex_long_double_func (); test_text (); test_float_text (); test_long_double_text (); test_ulong_text (); test_long_text (); test_uint_text (); test_int_text (); test_ushort_text (); test_short_text (); test_uchar_text (); test_char_text (); test_complex_text (); test_complex_float_text (); test_complex_long_double_text (); test_binary (); test_float_binary (); test_long_double_binary (); test_ulong_binary (); test_long_binary (); test_uint_binary (); test_int_binary (); test_ushort_binary (); test_short_binary (); test_uchar_binary (); test_char_binary (); test_complex_binary (); test_complex_float_binary (); test_complex_long_double_binary (); gsl_warnings_off = 1; gsl_set_error_handler (&my_error_handler); test_trap (); test_float_trap (); test_long_double_trap (); test_ulong_trap (); test_long_trap (); test_uint_trap (); test_int_trap (); test_ushort_trap (); test_short_trap (); test_uchar_trap (); test_char_trap (); test_complex_trap (); test_complex_float_trap (); test_complex_long_double_trap (); exit (gsl_test_summary ()); } void my_error_handler (const char *reason, const char *file, int line, int err) { if (0) printf ("(caught [%s:%d: %s (%d)])\n", file, line, reason, err); status = 1; } # 7 "test_static.c" 2 --0-950081385-1049927687=:98732--