From: Jeff Law Date: Tue, 3 Aug 1999 09:26:29 +0000 (-0600) Subject: Delete questionable files X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7bc283c660eaa418baf945634ae813ab3dd8f30;p=gcc.git Delete questionable files From-SVN: r28459 --- diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum5.C b/gcc/testsuite/g++.old-deja/g++.law/enum5.C deleted file mode 100644 index 0c8b0dc5bef..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.law/enum5.C +++ /dev/null @@ -1,236 +0,0 @@ -// Build don't link: -// GROUPS passed enums -// excess errors test - XFAIL *-*-* -// enum file -// From: Peter Samuelson -// Date: Tue, 2 Nov 1993 23:44:34 -0800 (PST) -// Subject: compiler error 192 -// Message-ID: <199311030744.XAA23409@osiris.ac.hmc.edu> - -#include -#include -#include - -/* My program to generate D&D characters -* 10/25/93 -*/ - -//prototypes -int rndshift(); -int dice(int times, int sides); -void initialize(struct Crctr &character); -void cleararray(char thearray[24]); -void input(struct Crctr &character); -void rollscores(struct Crctr &character); -void output(struct Crctr &character); - -int main() -{ - enum goopes - { - cleric, druid, fighter, knight, paladin, avenger, magicuser, thief, - dwarf, halfelf, elf, halfling, mystic, ranger, scout, monster, - immortal, special - }; - - enum alignments - { - lawful, neutral, chaotic - }; - - struct savingthrows - { - int psn_dth, wands, petr_paral, breath, rod_staff_spell; - }; - - struct abilities - { - int str, ite, wis, dex, con, cha; - }; - struct valuables - { - char type[16]; - int value; - }; - struct money - { - int pp, gp, ep, sp, cp; - valuables gems[24], jewelry[24]; - }; - - struct Crctr - { - Crctr() : goop(fighter) {} - - char dm[24], campaign[24], name[24], player[24]; - goopes goop; - alignments alignment; - int level, maxhit, hitpoints, ac; - abitities scores;// ERROR - .* - savingthrows saves; - money wealth; - int experience; - float bonus; - }; - - Crctr character; - - cout << "The D&D Character generator!!" << endl; - - rndshift(); - - initialize(character);// ERROR - .* - input(character); - rollscores(character); - output(character); - - cout << "Thank you for using this program." << endl; - cout << "Copyright 1993, Chase Enterprises, Inc." << endl; - cout << "D&D and Dungeons and Dragons are registered trademarks" << endl; - cout << "of TSR, Inc." << endl; -} //end of main - - -void initialize(Crctr &character) -{ - cleararray(character.dm); - cleararray(character.campaign); - cleararray(character.name); - cleararray(character.player); - character.level = 0; - character.maxhit = 0; - character.hitpoints = 0; - character.ac = 9; - character.experience = 0; - character.bonus = 0.0; -} //end of initialize - -void cleararray(char thearray[]) -{ - for (int i = 0 ; i < 24 ; i++) - thearray[i] = 0; -} //end of cleararray - -void input(Crctr &character) -{ - cout << "Please input name of the Dungeon Master." << endl; - cin >> character.dm; - cout << endl << "Pleas input the name of the campaign." << endl; - cin >> character.campaign; - cout << endl << "Please input the name of the character." << endl; - cin >> character.name; - cout << endl << "Please input player name." << endl; - cin >> character.player; - cout << endl << "Enter desired goop." << endl; - cin >> character.goop; - cout << endl << "Enter desired alignment." << endl; -} //end of input - -void rollscores(Crctr &character) -{ - character.scores.str = dice(3,6); - character.scores.ite = dice(3,6); - character.scores.wis = dice(3,6); - character.scores.dex = dice(3,6); - character.scores.con = dice(3,6); - character.scores.cha = dice(3,6); - character.level = 1; - - switch (character.goop) - { - case fighter: - case dwarf: - case half-elf: - character.maxhit = dice(1,8); - character.hitpoints = character.maxhit; - break; - case cleric: - case elf: - case halfling: - case mystic: - case scout: - character.maxhit = dice(1,6); - character.hitpoints = character.maxhit; - break; - case magic-user: - case thief: - character.maxhit = dice(1,4); - character.hitpoints = character.maxhit; - break; - default: - character.maxhit = 1; - character.hitpoints = character.maxhit; - break; - } -} //end of rollscores - - -void output(Crctr &character) -{ - cout << "Your character is:" << endl; - cout << "Your DM:\t" << character.dm << "\t\t\t" << "Campaign: " - << character.campaign << endl; - cout << "Player's name:\t" << character.player << endl; - cout << "Character Name:\t" << character.name << endl; - cout << "goop:\t" << character.goop << "\t\t\t" << "Alignment:\t" - << character.alignment << endl; - cout << "level:\t" << character.level << endl; - cout << "Max. HP:\t" << character.maxhit << "\t\t\t" << "Current HP:\t" - << character.hitpoints << endl; - cout << "Abilities" << "\t\t\t" << "Saves" << endl; - cout << endl; - cout << "Str:\t" << character.scores.str << "\t\t" << "Poison/Death Ray:\t" - << character.saves.psn_dth << endl; - cout << "Int:\t" << character.scores.ite << "\t\t" << "Wands: \t" - << character.saves.wands << endl; - cout << "Wis:\t" << character.scores.wis << "\t\t" << "Petrification" - << "/Paralysis" << character.saves.petr_paral << endl; - -/* abitities scores; - savingthrows saves; - money wealth; - int experience; - float bonus; -*/ -} - - -int rndshift() -{ -//Chase Tsang 10/25/93 -//cheap way to shift the random number generator sequence -//because I can't change the randomseed -//requires and - -int shiftnumber; -int date; -int luckynumber; - -cout << "Please input the date in 8 digits, no spaces, no other" << endl; -cout << "characters. (ex 10041974 for October 4, 1974)" << endl; -cin >> date; -cout << "Please input your lucky number for today (7 or less" << endl; -cout << "digits, and positive integer, please)" << endl; -cin >> luckynumber; - -shiftnumber = date / luckynumber; - -for (int i = 0; i < shiftnumber; i++) - rand(); -return 0; -} - - - -int dice(int times, int sides) -{ - //dice rolling function, Chase Tsang 10/25/93 - //requires #include - - int total = 0; - - for (int i = 0; i < times; i++) - total = total + (rand() % sides) + 1; - - return total; -} diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline1.C b/gcc/testsuite/g++.old-deja/g++.law/inline1.C deleted file mode 100644 index 11e8d0a6c5d..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.law/inline1.C +++ /dev/null @@ -1,3598 +0,0 @@ -// Build don't link: -// Special g++ Options: -fno-for-scope -// GROUPS passed inlining -# 1 "NISTImages.cc" -# 1 "Vision.h" 1 - - - - - - - - - -extern "C" { -# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3 - - - - - - - - - - - - - - - - - - - - -#pragma interface - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/_G_config.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 33 "/sym/gnu/lib/g++-include/stdio.h" 2 3 - - -extern "C" { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 1 3 - -# 1 "/sym/gnu/lib/g++-include/stdarg.h" 1 3 -extern "C" { -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 1 3 - - - - - - - - - - - -typedef char * __gnuc_va_list; - - - - - - - - - -# 79 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 3 - - -# 32 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 2 3 - -# 77 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3 - - - - - - -# 140 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3 - - - - - -# 2 "/sym/gnu/lib/g++-include/stdarg.h" 2 3 - -} -# 2 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 2 3 - - - - - - -extern struct _iobuf { - int _cnt; - unsigned char *_ptr; - unsigned char *_base; - int _bufsiz; - short _flag; - char _file; -} _iob[]; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -extern struct _iobuf *__hide_fopen (); -extern struct _iobuf *__hide_fdopen (); -extern struct _iobuf *__hide_freopen (); -extern struct _iobuf *__hide_popen (); -extern struct _iobuf *tmpfile(); -extern long __hide_ftell (); -extern char *fgets(); -extern char *gets(); -extern char *__hide_sprintf (); -extern char *ctermid(); -extern char *cuserid(); -extern char *__hide_tempnam (); -extern char *tmpnam(); - - - - - - -# 69 "/sym/gnu/lib/g++-include/stdio.h" 2 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} - -extern "C" { - -int fclose(struct _iobuf *); -struct _iobuf * fdopen(int, const char*); -int fflush(struct _iobuf *); -int fgetc(struct _iobuf *); -char* fgets(char*, int, struct _iobuf *); -struct _iobuf * fopen(const char*, const char*); -int fprintf(struct _iobuf *, const char* ...); -int fputc(int, struct _iobuf *); -int fputs(const char*, struct _iobuf *); -int fread(void*, int , int , struct _iobuf *); - - - -struct _iobuf * freopen(const char*, const char*, struct _iobuf *); - -int fscanf(struct _iobuf *, const char* ...); -int fseek(struct _iobuf *, long, int); -long ftell(struct _iobuf *); -int fwrite(const void*, int , int , struct _iobuf *); -char* gets(char*); -int getw(struct _iobuf *); -int pclose(struct _iobuf *); -void perror(const char*); -struct _iobuf * popen(const char*, const char*); -int printf(const char* ...); -int puts(const char*); -int putw(int, struct _iobuf *); -int rewind(struct _iobuf *); -int scanf(const char* ...); -void setbuf(struct _iobuf *, char*); -void setbuffer(struct _iobuf *, char*, int); -int setlinebuf(struct _iobuf *); -int setvbuf(struct _iobuf *, char*, int, int ); -int sscanf(char*, const char* ...); -struct _iobuf * tmpfile(); -int ungetc(int, struct _iobuf *); -int vfprintf (...) ; -int vprintf (...) ; -char* sprintf (...) ; -char* vsprintf (...) ; - -extern int _filbuf (...) ; -extern int _flsbuf (...) ; - -} - - - - - - - - - - - - - - - - - - -# 11 "Vision.h" 2 - -# 1 "/usr/include/floatingpoint.h" 1 3 - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 1 3 - - - - - - - - - - - - - - - - - -enum fp_direction_type - { - fp_nearest = 0, - fp_tozero = 1, - fp_positive = 2, - fp_negative = 3 - } ; - -# 34 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -# 43 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - - -# 53 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -enum fp_precision_type - { - fp_extended = 0, - fp_single = 1, - fp_double = 2, - fp_precision_3 = 3 - } ; - - -# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -enum fp_exception_type - { - fp_inexact = 0, - fp_division = 1, - fp_underflow = 2, - fp_overflow = 3, - fp_invalid = 4 - } ; - - -enum fp_class_type - { - fp_zero = 0, - fp_subnormal = 1, - fp_normal = 2, - fp_infinity = 3, - fp_quiet = 4, - fp_signaling = 5 - } ; - - -# 18 "/usr/include/floatingpoint.h" 2 3 - - - - -typedef float single; -typedef unsigned long extended[3]; - -typedef long double quadruple; - - - - - - - - -typedef unsigned fp_exception_field_type; - - - - -typedef int sigfpe_code_type; - -typedef void (*sigfpe_handler_type) (); - - - - - - - - -extern enum fp_direction_type fp_direction; - - - - -extern enum fp_precision_type fp_precision; - - - - -extern fp_exception_field_type fp_accrued_exceptions; - - - - - - - - - - - -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 double_to_decimal(); -extern void quadruple_to_decimal(); -extern char *econvert(); -extern char *fconvert(); -extern char *gconvert(); -extern char *qeconvert(); -extern char *qfconvert(); -extern char *qgconvert(); - - - - - -extern sigfpe_handler_type ieee_handlers[5 ]; - - - - - - - -extern sigfpe_handler_type sigfpe(); - -extern void single_to_decimal(); -extern void extended_to_decimal(); - -extern void decimal_to_single(); -extern void decimal_to_double(); -extern void decimal_to_extended(); -extern void decimal_to_quadruple(); - -extern char *seconvert(); -extern char *sfconvert(); -extern char *sgconvert(); - -extern void string_to_decimal(); -extern void file_to_decimal(); -extern void func_to_decimal(); - - - -extern double atof(); - - - -extern int errno; - -extern double strtod(); - - -# 12 "Vision.h" 2 - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/malloc.h" 1 3 - - - - - - - - - - - - - - - - -struct mallinfo { - int arena; - int ordblks; - int smblks; - int hblks; - int hblkhd; - int usmblks; - int fsmblks; - int uordblks; - int fordblks; - int keepcost; - - int mxfast; - int nlblks; - int grain; - int uordbytes; - int allocated; - int treeoverhead; -}; - -typedef void * malloc_t; - -extern malloc_t calloc( ); -extern void free( ); -extern malloc_t malloc( ); -extern malloc_t realloc( ); -extern int mallopt(); -extern struct mallinfo mallinfo(); - - -# 13 "Vision.h" 2 - -long time(long *); -int ieee_handler(); -} - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/stddef.h" 1 3 - - -extern "C" { - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 41 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -typedef int ptrdiff_t; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -typedef __wchar_t wchar_t; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 7 "/sym/gnu/lib/g++-include/stddef.h" 2 3 - - - - -} - -# 24 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/stdlib.h" 1 3 - - - - - - - -extern "C" { - -int abs(int); - - -void abort(void); - - - - -double atof(const char*); -int atoi(const char*); -long atol(const char*); - -int atexit(auto void (*p) (void)); -int bsearch (const void *, const void *, int , - int , auto int (*ptf)(const void*, const void*)); -void* calloc(int , int ); -void cfree(void*); - - -void exit(int); - - - - -char* fcvt(double, int, int*, int*); -void free(void*); -char* getenv(const char*); -int getopt(int, char * const *, const char*); -int getpw(int, char*); -char* gcvt(double, int, char*); -char* ecvt(double, int, int*, int*); -extern char** environ; - -long labs(long); -void* malloc(int ); -int malloc_usable_size(void*); -int putenv(const char*); -extern char* optarg; -extern int opterr; -extern int optind; -void qsort(void*, int , int , auto int (*ptf)(void*,void*)); -int rand(void); -void* realloc(void*, int ); -int setkey(const char*); -int srand(unsigned int); -double strtod(const char*, char**); -long strtol(const char*, char**, int); -unsigned long stroul(const char**, int); -int system(const char*); - -long random(void); -void srandom(int); -char* setstate(char*); -char* initstate(unsigned, char*, int); - -double drand48(void); -void lcong48(short*); -long jrand48(short*); -long lrand48(void); -long mrand48(void); -long nrand48(short*); -short* seed48(short*); -void srand48(long); - -char* ctermid(char*); -char* cuserid(char*); -char* tempnam(const char*, const char*); -char* tmpnam(char*); - -} - -# 25 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/string.h" 1 3 - - - - - - - - - - - - - - -extern "C" { - -char* strcat(char*, const char*); -char* strchr(const char*, int); -int strcmp(const char*, const char*); -int strcoll(const char*, const char*); -char* strcpy(char*, const char*); -int strcspn(const char*, const char*); -char* strdup(const char*); - - - - -char* strncat(char*, const char*, int ); -int strncmp(const char*, const char*, int ); -char* strncpy(char*, const char*, int ); -char* strpbrk(const char*, const char*); -char* strrchr(const char*, int); -int strspn(const char*, const char*); -char* strstr(const char*, const char *); -char* strtok(char*, const char*); -int strxfrm(char*, const char*, int ); - -char* index(const char*, int); -char* rindex(const char*, int); -} - -# 1 "/sym/gnu/lib/g++-include/memory.h" 1 3 - - - - - - - -extern "C" { - -void* memalign (...) ; -void* memccpy (...) ; -void* memchr (...) ; -int memcmp (...) ; -void* memcpy (...) ; -void* memmove (...) ; -void* memset (...) ; -int ffs (...) ; -int getpagesize (...) ; -void* valloc (...) ; - -void bcopy (...) ; -int bcmp (...) ; -void bzero (...) ; -} - - - - - - - - - - - - - - -# 43 "/sym/gnu/lib/g++-include/string.h" 2 3 - - - -# 26 "/sym/gnu/lib/g++-include/std.h" 2 3 - - -# 1 "/sym/gnu/lib/g++-include/unistd.h" 1 3 - - - - - -extern "C" { - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/sys/types.h" 1 3 - - -extern "C" -{ - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 1 3 - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/stdtypes.h" 1 3 - - - - - - - - - - - - - -typedef int sigset_t; - -typedef unsigned int speed_t; -typedef unsigned long tcflag_t; -typedef unsigned char cc_t; -typedef int pid_t; - -typedef unsigned short mode_t; -typedef short nlink_t; - -typedef long clock_t; -typedef long time_t; - - - - - - - - - - - - - - - - -# 16 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3 - - - -# 1 "/usr/include/sys/sysmacros.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 19 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3 - - - - - -typedef unsigned char u_char; -typedef unsigned short u_short; -typedef unsigned int u_int; -typedef unsigned long u_long; -typedef unsigned short ushort; -typedef unsigned int uint; - - - - - - - - - - - - - - - -typedef struct _physadr_t { int r[1]; } *physadr_t; -typedef struct label_t { - int val[2]; -} label_t; - - - - - - - -typedef struct _quad_t { long val[2]; } quad_t; -typedef long daddr_t; -typedef char * caddr_t; -typedef unsigned long ino_t; -typedef short dev_t; -typedef long off_t; -typedef unsigned short uid_t; -typedef unsigned short gid_t; -typedef long key_t; -typedef char * addr_t; - - - - - - - - - - - - - - -typedef long fd_mask; - - - - - - - - - -typedef struct fd_set { - fd_mask fds_bits[(((256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ]; -} fd_set; - - - - - - - -# 113 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 3 - - - -# 15 "/sym/gnu/lib/g++-include/sys/types.h" 2 3 - - - - - - -} - - - - -# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 2 3 - - -extern int access( ); -extern unsigned alarm( ); -extern int chdir( ); -extern int __hide_chmod ( ); -extern int __hide_chown ( ); -extern int close( ); -extern char *ctermid( ); -extern char *cuserid( ); -extern int dup( ); -extern int dup2( ); -extern int __hide_execl ( ); -extern int __hide_execle ( ); -extern int __hide_execlp ( ); -extern int execv( ); -extern int execve( ); -extern int execvp( ); -extern pid_t fork( ); -extern long fpathconf( ); -extern char *getcwd( ); -extern gid_t getegid( ); -extern uid_t geteuid( ); -extern gid_t getgid( ); -extern int getgroups( ); -extern char *getlogin( ); -extern pid_t getpgrp( ); -extern pid_t getpid( ); -extern pid_t getppid( ); -extern uid_t getuid( ); -extern int isatty( ); -extern int link( ); -extern off_t lseek( ); -extern long pathconf( ); -extern int pause( ); -extern int pipe( ); -extern int read( ); -extern int rmdir( ); -extern int __hide_setgid ( ); -extern int setpgid( ); -extern pid_t setsid( ); -extern int __hide_setuid ( ); -extern unsigned sleep( ); -extern long sysconf( ); -extern pid_t tcgetpgrp( ); -extern int tcsetpgrp( ); -extern char *ttyname( ); -extern int unlink( ); -extern int write( ); - - - -# 25 "/sym/gnu/lib/g++-include/unistd.h" 2 3 - - - - - - - - - - - - - - - -# 59 "/sym/gnu/lib/g++-include/unistd.h" 3 - - - -extern void _exit(int); - - - - -extern unsigned alarm (...) ; -extern int brk (...) ; -extern int chdir (...) ; -extern int chmod (...) ; -extern int chown (const char*, unsigned short , unsigned short ); -extern int close (...) ; -extern char* crypt (...) ; -extern int dup (...) ; -extern int dup2 (...) ; -extern void encrypt (...) ; -extern int execl (const char*, const char *, ...); -extern int execle (const char*, const char *, ...); -extern int execlp (const char*, const char*, ...); -extern int exect (...) ; -extern int execv (...) ; -extern int execve (...) ; -extern int execvp (...) ; -extern int fchown (int, unsigned short , unsigned short ); -extern int fork (...) ; -extern int fsync (...) ; -extern int ftruncate (...) ; -extern char* getcwd (...) ; -extern int getdomainname (...) ; -extern int getdtablesize (...) ; -extern int getgroups (...) ; -extern unsigned short geteuid (...) ; -extern unsigned short getegid (...) ; -extern unsigned short getgid (...) ; -extern long gethostid (...) ; -extern int gethostname (...) ; -extern int getpgrp (...) ; -extern int getpid (...) ; -extern int getppid (...) ; -extern char* getlogin (...) ; -extern char* getpass (...) ; -extern unsigned short getuid (...) ; -extern int ioctl (int, int, ... ); -extern int isatty (...) ; -extern int link (...) ; -extern int mkstemp (...) ; -extern char* mktemp (...) ; -extern int nice (...) ; -extern int pause (...) ; -extern int pipe (...) ; -extern int readlink (...) ; -extern int rename (...) ; -extern int rmdir (...) ; -extern void* sbrk (...) ; -extern int syscall (...) ; -extern int setgid (unsigned short ); -extern int sethostname (...) ; - - - - -extern int setpgrp (...) ; - -extern int setregid (...) ; -extern int setreuid (...) ; -extern int setuid (unsigned short ); -extern unsigned sleep (...) ; -extern void swab (...) ; -extern int symlink (...) ; -extern long sysconf (...) ; -extern int truncate (...) ; -extern char* ttyname (...) ; -extern int ttyslot (...) ; - -extern int unlink (...) ; -extern int vfork (...) ; -extern int vadvise (...) ; -extern int vhangup (...) ; -extern long lseek (...) ; -extern int read (...) ; -extern int write (...) ; -extern int access (...) ; - -extern int flock (...) ; - - -} - - -# 28 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3 - - - - - - - - - - - - - - - - - - -# 174 "/sym/gnu/lib/g++-include/stdio.h" 3 - -# 29 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/errno.h" 1 3 - - -extern "C" { - - - - - -# 1 "/usr/include/errno.h" 1 3 - - - - - - - - - -# 1 "/usr/include/sys/errno.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 10 "/usr/include/errno.h" 2 3 - -extern int errno; - - -# 9 "/sym/gnu/lib/g++-include/errno.h" 2 3 - - - - -extern char* sys_errlist[]; -extern int sys_nerr; - -extern int errno; - -void perror(const char*); -char* strerr(int); - - -} - - -# 30 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/fcntl.h" 1 3 - - -extern "C" { - - - - - - - - - - -# 1 "/usr/include/fcntl.h" 1 3 - - - - - -# 1 "/usr/include/sys/fcntlcom.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -struct flock { - short l_type; - short l_whence; - long l_start; - long l_len; - short l_pid; - short l_xxx; -}; - - - -struct eflock { - short l_type; - short l_whence; - long l_start; - long l_len; - short l_pid; - short l_xxx; - long l_rpid; - long l_rsys; -}; - - - -# 1 "/sym/gnu/lib/g++-include/sys/stat.h" 1 3 - - -extern "C" -{ - - - - - - - - - -# 1 "/usr/include/sys/stat.h" 1 3 - - - - - - - - - - - -struct stat { - dev_t st_dev; - ino_t st_ino; - mode_t st_mode; - short st_nlink; - uid_t st_uid; - gid_t st_gid; - dev_t st_rdev; - off_t st_size; - time_t st_atime; - int st_spare1; - time_t st_mtime; - int st_spare2; - time_t st_ctime; - int st_spare3; - long st_blksize; - long st_blocks; - long st_spare4[2]; -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int __hide_chmod ( ); -int fstat( ); -int mkdir( ); -int mkfifo( ); -int stat( ); -mode_t umask( ); - - - -# 14 "/sym/gnu/lib/g++-include/sys/stat.h" 2 3 - - - - - - -extern int chmod (...) ; -extern int stat (...) ; -extern int lstat (...) ; -extern int fstat (...) ; - - - - - - - - - - - - - - - - - - -} - - -# 149 "/usr/include/sys/fcntlcom.h" 2 3 - - -int __hide_open ( ); -int __hide_creat ( ); -int __hide_fcntl ( ); - - -# 6 "/usr/include/fcntl.h" 2 3 - - - - - -# 14 "/sym/gnu/lib/g++-include/fcntl.h" 2 3 - - - - - - - - -int fcntl(int, int, ...); -int creat (...) ; - -int open (...) ; - - -} - -# 31 "/sym/gnu/lib/g++-include/std.h" 2 3 - - -extern "C" { -int strcasecmp (...) ; -} - - -# 18 "Vision.h" 2 - -# 1 "/sym/gnu/lib/g++-include/math.h" 1 3 - - - - - - - - - - - - - - - - - - - - - -#pragma interface - - - - - - - - - - - -# 64 "/sym/gnu/lib/g++-include/math.h" 3 - -extern "C" { - -double acos(double); -double acosh(double); -double asin(double); -double asinh(double); -double atan(double); -double atan2(double, double); -double atanh(double); -double cbrt(double); -double ceil(double); -double copysign(double,double); -double cos(double); -double cosh(double); -double drem(double,double); -double erf(double); -double erfc(double); -double exp(double); -double expm1(double); -double fabs(double); -double finite(double); -double floor(double); -double fmod(double, double); -double frexp(double, int*); -double gamma(double); -double hypot(double,double); -double infnan(int); - - -int isinf(double); -int isnan(double); - -double j0(double); -double j1(double); -double jn(int, double); -double ldexp(double, int); -double lgamma(double); -double log(double); -double log10(double); -double log1p(double); -double logb(double); -double modf(double, double*); -double pow(double, double); -double rint(double); -double scalb(double, int); -double sin(double); -double sinh(double); -double sqrt(double); -double tan(double); -double tanh(double); -double y0(double); -double y1(double); -double yn(int, double); - -double aint(double); -double anint(double); -int irint(double); -int nint(double); -} - - - - - - - - -struct libm_exception -{ - int type; - char* name; - double arg1, arg2, retval; -}; - - - - - - - - -extern "C" int matherr(libm_exception*); - - - -# 1 "/sym/gnu/lib/g++-include/values.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 57 "/sym/gnu/lib/g++-include/values.h" 3 - - - - - - - - - - - - - - - -# 166 "/sym/gnu/lib/g++-include/values.h" 3 - - - - - - - - - -# 150 "/sym/gnu/lib/g++-include/math.h" 2 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 19 "Vision.h" 2 - - -# 1 "MiscUtilities.h" 1 - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 6 "MiscUtilities.h" 2 - - - - - - - - - -inline int used_mem() { - struct mallinfo mi = mallinfo(); - return mi.usmblks+mi.uordblks; -} -inline void abort(void) { - fprintf((&_iob[2]) ,"abort\n"); - exit(1); -} - -inline volatile void error(char *s) { - fprintf((&_iob[2]) ,"FATAL ERROR: "); - fprintf((&_iob[2]) ,"%s\n",s); - exit(1); -} -template -struct NameValuePair { - char *name; - Y y; -}; - -template -Y lookup(NameValuePair *data,char *name) { - while(data->name) { - if(!strcmp(data->name,name)) return data->y; - data++; - } - abort(); - return data->y; -} - -template -void swap(T &x,T &y) { - T temp = x; - x = y; - y = temp; -} - - -# 21 "Vision.h" 2 - -# 1 "Counted.h" 1 - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 6 "Counted.h" 2 - - -template -struct Counted { - private: - int *count; - T *object; - T *operator&() { - return object; - } - void dec_count() { - if(!count) return; - (*count)--; - if(*count<=0) { - delete count; - delete object; - count=0; - object=0; - } - } - void inc_count() { - if(!count) return; - (*count)++; - } - public: - Counted() { - count=0; - object=0; - } - Counted(T *object):object(object) { - count = new int(1); - } - ~Counted() { - dec_count(); - } - Counted(Counted &other) { - count=other.count; - object=other.object; - inc_count(); - } - Counted &operator=(Counted &other) { - other.inc_count(); - dec_count(); - count=other.count; - object=other.object; - return *this; - } - - T &operator*() {if(!object) abort(); else return *object; return *object;} - T *operator->() {if(!object) abort(); else return object; return object;} - operator T&() {if(!object) abort(); else return *object; return *object;} - - -}; - - -# 22 "Vision.h" 2 - -# 1 "Art.h" 1 - - - - - - -extern "C" { void abort(); } - - - - - - - - - - - - -template -inline void art_initialize(X *,int) {} - -# 39 "Art.h" - - - - - - -template -class Art { -protected: - int mark_temp; - T *data; - int dims[1]; - void constructor(int d) { - if(d<0) abort() ; - mark_temp=0; - dims[0]=d; - if(d>0) { - data=new T[d]; - if(!data) abort() ; - } else data=0; - art_initialize(data,d); - } - void destructor() { - if(!data) return; - delete [] data; - mark_temp=0; - data=0; - dims[0]=0; - } - void copy(Art &other) { - int d0=dims[0]=unsigned(dims[0])) abort() ; - return data[i]; - } - T &sub(int i) {return data[i];} - void resize(int nd) { - if(nd<0) abort() ; - Art t(nd); - int limit=nd -class Stk { -protected: - Art stack; - int fill; -public: - Stk() {stack.resize(4); fill=0;} - Stk(Stk &other) { - stack=other.stack; - fill=other.fill; - } - int dim(int i) {return stack.dim(i);} - void push(const T &element) { - if(fill>=stack.dim(0)) stack.resize(2*fill); - stack.sub(fill++)=element; - } - T &tos() { - return stack(fill-1); - } - T &pop() { - return stack(--fill); - } - T &operator()(int i) {return stack(i);} - T &sub(int i) {return stack.sub(i);} - void clear() { - stack.resize(0); - stack.resize(4); - fill=0; - } - void compact() { - stack.resize(fill+1); - } - Stk temp() { stack.temp(); return *this; } - T *pointer() {return stack.pointer();} - operator Art&() {return stack;} - - int length() {return fill;} - T &operator[](int i) {return operator()(i);} -}; - - - - - -template -class Art2 { -protected: - int mark_temp; - T **data; - int dims[2]; - int total_length; - void constructor(int d0,int d1) { - if(d0<0||d1<0) abort() ; - mark_temp=0; - dims[0]=d0; - dims[1]=d1; - total_length=dims[0]*dims[1]; - if(d0>0) { - data=new T*[d0]; - if(!data) abort() ; - } else data=0; - if(d0>0&&d1>0) { - T *p=new T[d0*d1]; - if(!p) abort() ; - for(int i=0;i=unsigned(dims[0])||unsigned(j)>=unsigned(dims[1])) - abort() ; - return data[i][j]; - } - T &sub(int i,int j) {return data[i][j];} - void resize(int nd0,int nd1) { - if(nd0<0||nd1<0) abort() ; - Art2 t(nd0,nd1); - int limit0=nd0=total_length) abort() ; - return data[0][i]; - } -}; - -template -inline void art_swap(T &x,T &y) { - T temp = x; - x = y; - y = temp; -} - -template -inline void reverse(Art &a) { - int i; - for(i=a.length()/2;i>=0;i--) art_swap(a.sub(i),a.sub(a.length()-i-1)); -} - -template -inline void reverse(Stk &a) { - reverse(a.stack); -} - -template -inline void bag_remove(Stk &a,T &element) { - for(int i=0;i -inline void ordered_remove(Stk &a,T &element) { - int source=0,dest=0; - while(source -inline Art concatenate(Art &a,Art &b) { - int i,k; - k=a.length(); - Art result(k+b.length()); - for(i=0;i -inline Stk concatenate(Stk &a,Stk &b) { - int i; - Stk result; - for(i=0;i -class vec { -protected: - T v[n]; -public: - int length() {return n;} - int dim(int) {return n;} - vec() {} - vec(T v0) { v[0]=v0; } - vec(T v0,T v1) { v[0]=v0; v[1]=v1; } - vec(T v0,T v1,T v2) { v[0]=v0; v[1]=v1; v[2]=v2; } - vec(T v0,T v1,T v2,T v3) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; } - vec(T v0,T v1,T v2,T v3,T v4) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; v[4]=v4; } - - T &operator[](int i) {return v[i];} - T &sub(int i) {return v[i];} - T &operator()(int i) { - if(unsigned(i)>=n) abort(); - return v[i]; - } - - - - - - - - - - - - - T operator*(vec &other) { - T result=0; - for(int i=0;i?(vec &other) { - vec result; - for(int i=0;i?other.sub(i); - return result; - } - - - int operator==(vec &other) { - for(int i=0;i=other.sub(i)) return 0; - return 1; - } - int operator>(vec &other) { - for(int i=0;iother.sub(i)) return 0; - return 1; - } - int operator>=(vec &other) { - for(int i=0;i -inline float euclidean_norm(T &v) { - float total=0.0; - for(int i=0;i -inline float euclidean_distance(T &u,T &v) { - float total=0.0; - for(int i=0;i -class mat:vec { -protected: -public: - int dim(int) {return n;} - T &operator[](int i) {return v[i];} - T &sub(int i,int j) {return v[i*n+j];} - T &operator()(int i,int j) { - if(unsigned(i)>=n||unsigned(j)>=n) abort(); - return sub(i,j); - } - mat operator*(mat &other) { - mat result; - for(int i=0;i operator*(vec &other) { - vec result; - for(int i=0;i vec2; -typedef vec vec3; -typedef vec vec4; - -typedef mat mat2; -typedef mat mat3; -typedef mat mat4; - -typedef vec ivec2; - - - - - - - -inline float norm_angle(float p) { - while(p<0) p+=2* 3.14159265358979323846 ; while(p>=2* 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p; -} -inline float norm_angle0(float p) { - while(p<- 3.14159265358979323846 ) p+=2* 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p; -} -inline float norm_orientation(float p) { - while(p<0) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-= 3.14159265358979323846 ; return p; -} -inline float norm_orientation0(float p) { - while(p<- 3.14159265358979323846 /2) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 /2) p-= 3.14159265358979323846 ; return p; -} -inline float orientation_difference(float p,float q) { - fabs(norm_orientation0(p-q)); -} - - - - - - - - - - - - - - -inline vec2 cmul(vec2 &p,vec2 &q) { - return vec2(p.sub(0)*q.sub(0)-p.sub(1)*q.sub(1), - p.sub(0)*q.sub(1)+p.sub(1)*q.sub(0)); -} - -inline vec2 cdiv(vec2 &p,vec2 &q) { - float n=q*q; - return vec2((p.sub(0)*q.sub(0)+p.sub(1)*q.sub(1))/n, - (p.sub(1)*q.sub(0)-p.sub(0)*q.sub(1))/n); -} - -inline vec2 csqrt(vec2 &x) { - if (x.sub(0)==0.0&&x.sub(1)==0.0) - return vec2(0.0,0.0); - else { - float a=sqrt((fabs(x.sub(0))+hypot(x.sub(0),x.sub(1)))*0.5); - float b=0.5*(x.sub(1)/a); - if(x.sub(0)>0.0) return vec2(a, b); - else if(x.sub(1)>=0.0) return vec2(a,b); - else return vec2(-a,-b); - } -} -inline vec2 cpow(vec2& x, double p) { - float h=hypot(x.sub(0),x.sub(1)); - if (h<=0.0) abort(); - float lr=pow(h,p); - float a=atan2(x.sub(1),x.sub(0)); - float li=p*a; - return vec2(lr*cos(li),lr*sin(li)); -} - - - -inline float cross(vec2 p,vec2 q) { - return p.sub(0)*q.sub(1)-p.sub(1)*q.sub(0); -} - - - - - -struct TRS2 { - vec2 t; - vec2 r; - TRS2(vec2 t=vec2(0.0,0.0),vec2 r=vec2(1.0,0.0)):t(t),r(r) { - } - vec2 operator()(vec2 &arg) { - return cmul(r,arg)+t; - } - float rotation() { - return atan2(r(1),r(0)); - } -}; - - - -# 24 "Vision.h" 2 - - - - -# 1 "VisionTypes.h" 1 - - - - -typedef Art2 FImage; -typedef Art2 IImage; -typedef Art2 CImage; - -struct FImageOp {virtual FImage operator()(FImage &) = 0;}; -struct FImageOp2 {virtual FImage operator()(FImage &,FImage &) = 0;}; -struct CImageOp {virtual CImage operator()(CImage &) = 0;}; -struct CImageOp2 {virtual CImage operator()(CImage &,CImage &) = 0;}; - - - - - -struct PFeature { - ivec2 p; - float a; - short group; - short type; - PFeature() {} - PFeature(ivec2 p,float a,int group,int type):p(p),a(a),group(group),type(type) {} -}; - -typedef Stk PFeatureStk; - -struct FIExtractor {virtual PFeatureStk operator()(FImage &) = 0;}; -struct CIExtractor {virtual PFeatureStk operator()(CImage &) = 0;}; -# 28 "Vision.h" 2 - -# 1 "ImageDatabase.h" 1 - - - - - -# 1 "Art.h" 1 - - -# 339 "Art.h" - -# 6 "ImageDatabase.h" 2 - - -typedef Art2 CImage; - - - - - - - - -struct ImageDatabase { - - - - - virtual int length() = 0; - virtual int nclassifications() = 0; - virtual int nusers() = 0; - - - - - virtual int classification(int offset) = 0; - virtual int user(int offset) = 0; - - virtual CImage cimage(int offset) {abort();} - virtual PFeatureStk features(int offset) {abort();} - - - - - - - virtual int user_offset(int user) = 0; - virtual int user_length(int user) = 0; -}; - -ImageDatabase *make_NISTDigitImages(); - - - - - -struct ImageDatabaseIterator { - virtual int done() = 0; - virtual void next() = 0; - virtual operator int() = 0; - virtual void mark_upto_here() {} -}; - -ImageDatabaseIterator *make_IDI_Sequential(ImageDatabase *digits,int current,int stride); -ImageDatabaseIterator *make_IDI_OnePerUser(ImageDatabase *digits,int current); -ImageDatabaseIterator *make_IDI_FromFile(char *name); - - -# 29 "Vision.h" 2 - - - -# 1 "NISTImages.cc" 2 - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 11 "NISTImages.cc" 2 - -# 1 "Art.h" 1 - - -# 339 "Art.h" - -# 12 "NISTImages.cc" 2 - - -extern "C" { -# 1 "./nist/ihead.h" 1 - - - - - - - - - - - - - - -typedef struct ihead{ - char id[ 80 ]; - char created[ 26 ]; - char width[ 8 ]; - char height[ 8 ]; - char depth[ 8 ]; - char density[ 8 ]; - char compress[ 8 ]; - char complen[ 8 ]; - char align[ 8 ]; - char unitsize[ 8 ]; - char sigbit; - char byte_order; - char pix_offset[ 8 ]; - char whitepix[ 8 ]; - char issigned; - char rm_cm; - char tb_bt; - char lr_rl; - char parent[ 80 ]; - char par_x[ 8 ]; - char par_y[ 8 ]; -}IHEAD; - - - - - - - - - - - - - - - - - - - - - -# 15 "NISTImages.cc" 2 - -int readihdrfile(); - -} - -typedef Art2 CImage; - -Stk mis_files; - -extern "C" { - char *re_comp(char *); - int re_exec(char *); -} - -struct NISTCharFile { - private: - NISTCharFile(NISTCharFile &); - void operator=(NISTCharFile &); - public: - IHEAD *bit_header; - int bit_w,bit_h; - char *bit_data; - int field_w,field_h; - Stk classes; - - static void maybe_read_mis_files() { - if(mis_files.length()>0) return; - struct _iobuf *stream = fopen("/com/nist/mis-files" ,"r"); - if(!stream) abort() ; - char buf[1024]; - while(fgets(buf,sizeof buf,stream)) { - buf[strlen(buf)-1]='\0'; - mis_files.push(strdup(buf)); - } - fclose(stream); - } - - static char *find_matching_mis_file_prefix(char *pattern) { - if(re_comp(pattern)) abort() ; - int i; - for(i=0;ipar_x); - field_h=atoi(bit_header->par_y); - - strcpy(file,prefix); strcat(file,".cls"); - struct _iobuf *stream = fopen(file,"r"); - if(!stream) - abort() ; - int total=atoi(fgets(buf,sizeof buf,stream)); - if(total!=bit_h/field_h) - abort() ; - while(fgets(buf,sizeof buf,stream)) classes.push(strtol(buf,0,16)); - fclose(stream); - } - - ~NISTCharFile() { - free(bit_header); - free(bit_data); - } - - int length() { - return bit_h/field_h; - } - - CImage image(int i0) { - ; - CImage result(field_w,field_h); - int bit_w8=bit_w/8; - int offset=i0*field_h; - if(offset>=bit_h) abort() ; - int i,j; - - - for(i=0;i>3)]&(1<<(7-i&7)))) ; - } - - return result.temp(); - } - - int classification(int i) { - return classes(i); - } -}; - -int *NISTDigitImages_table; - -struct NISTDigitImages:ImageDatabase { - private: - NISTDigitImages(NISTDigitImages&); - void operator=(NISTDigitImages&); - public: - enum {table_size=2101}; - - int nclassifications() {return 10;} - int nusers() {return 2200;} - - static void init_table() { - struct _iobuf *stream=fopen("/com/nist/nist-digits" ,"r"); - NISTDigitImages_table = new int[table_size]; - if(!stream) abort() ; - int i=1; - while(fscanf(stream,"%d",&NISTDigitImages_table[i])==1) i++; - if(i!=table_size) abort() ; - fclose(stream); - int total=0; - for(i=1;i=NISTDigitImages_table[table_size-1]) abort() ; - while(low+1=2100) abort() ; - return NISTDigitImages_table[user]; - } - - int user_length(int user) { - if(unsigned(user)>=2100) abort() ; - return NISTDigitImages_table[user+1]-NISTDigitImages_table[user]; - } - - int current_user; - NISTCharFile *current_file; - - private: - void get_cache(int user) { - if(user!=current_user) { - delete current_file; - current_file = new NISTCharFile(user,0); - current_user = user; - } - } - - public: - NISTDigitImages() { - ; - if(!NISTDigitImages_table) init_table(); - current_user=0; - current_file=new NISTCharFile(0,0); - ; - } - - ~NISTDigitImages() { - delete current_file; - } - - int length() {return NISTDigitImages_table[table_size-1];} - - int user(int i) { - return locate(i); - } - - CImage image(int i) { - int user = locate(i); - get_cache(user); - int offset = i-NISTDigitImages_table[user]; - return current_file->image(offset); - } - - int classification(int i) { - int user = locate(i); - get_cache(user); - int offset = i-NISTDigitImages_table[user]; - return current_file->classification(offset); - } -}; - -ImageDatabase *make_NISTDigitImages() { - return new NISTDigitImages(); -} - diff --git a/gcc/testsuite/g++.old-deja/g++.law/inline2.C b/gcc/testsuite/g++.old-deja/g++.law/inline2.C deleted file mode 100644 index 2eb5b38f7e7..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.law/inline2.C +++ /dev/null @@ -1,3601 +0,0 @@ -// excess errors test - XFAIL - *-*-* -// Build don't link: -// Special g++ Options: -O2 -// GROUPS passed inlining -# 1 "NISTImages.cc" -# 1 "Vision.h" 1 - - - - - - - - - -extern "C" { -# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3 - - - - - - - - - - - - - - - - - - - - -#pragma interface - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/_G_config.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 33 "/sym/gnu/lib/g++-include/stdio.h" 2 3 - - -extern "C" { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 1 3 - -# 1 "/sym/gnu/lib/g++-include/stdarg.h" 1 3 -extern "C" { -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 1 3 - - - - - - - - - - - -typedef char * __gnuc_va_list; - - - - - - - - - -# 79 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/va-sparc.h" 3 - - -# 32 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 2 3 - -# 77 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3 - - - - - - -# 140 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdarg.h" 3 - - - - - -# 2 "/sym/gnu/lib/g++-include/stdarg.h" 2 3 - -} -# 2 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stdio.h" 2 3 - - - - - - -extern struct _iobuf { - int _cnt; - unsigned char *_ptr; - unsigned char *_base; - int _bufsiz; - short _flag; - char _file; -} _iob[]; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -extern struct _iobuf *__hide_fopen (); -extern struct _iobuf *__hide_fdopen (); -extern struct _iobuf *__hide_freopen (); -extern struct _iobuf *__hide_popen (); -extern struct _iobuf *tmpfile(); -extern long __hide_ftell (); -extern char *fgets(); -extern char *gets(); -extern char *__hide_sprintf (); -extern char *ctermid(); -extern char *cuserid(); -extern char *__hide_tempnam (); -extern char *tmpnam(); - - - - - - -# 69 "/sym/gnu/lib/g++-include/stdio.h" 2 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} - -extern "C" { - -int fclose(struct _iobuf *); -struct _iobuf * fdopen(int, const char*); -int fflush(struct _iobuf *); -int fgetc(struct _iobuf *); -char* fgets(char*, int, struct _iobuf *); -struct _iobuf * fopen(const char*, const char*); -int fprintf(struct _iobuf *, const char* ...); -int fputc(int, struct _iobuf *); -int fputs(const char*, struct _iobuf *); -int fread(void*, int , int , struct _iobuf *); - - - -struct _iobuf * freopen(const char*, const char*, struct _iobuf *); - -int fscanf(struct _iobuf *, const char* ...); -int fseek(struct _iobuf *, long, int); -long ftell(struct _iobuf *); -int fwrite(const void*, int , int , struct _iobuf *); -char* gets(char*); -int getw(struct _iobuf *); -int pclose(struct _iobuf *); -void perror(const char*); -struct _iobuf * popen(const char*, const char*); -int printf(const char* ...); -int puts(const char*); -int putw(int, struct _iobuf *); -int rewind(struct _iobuf *); -int scanf(const char* ...); -void setbuf(struct _iobuf *, char*); -void setbuffer(struct _iobuf *, char*, int); -int setlinebuf(struct _iobuf *); -int setvbuf(struct _iobuf *, char*, int, int ); -int sscanf(char*, const char* ...); -struct _iobuf * tmpfile(); -int ungetc(int, struct _iobuf *); -int vfprintf (...) ; -int vprintf (...) ; -char* sprintf (...) ; -char* vsprintf (...) ; - -extern int _filbuf (...) ; -extern int _flsbuf (...) ; - -} - - - - - - - - - - - - - - - - - - -# 11 "Vision.h" 2 - -# 1 "/usr/include/floatingpoint.h" 1 3 - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 1 3 - - - - - - - - - - - - - - - - - -enum fp_direction_type - { - fp_nearest = 0, - fp_tozero = 1, - fp_positive = 2, - fp_negative = 3 - } ; - -# 34 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -# 43 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - - -# 53 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -enum fp_precision_type - { - fp_extended = 0, - fp_single = 1, - fp_double = 2, - fp_precision_3 = 3 - } ; - - -# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/ieeefp.h" 3 - -enum fp_exception_type - { - fp_inexact = 0, - fp_division = 1, - fp_underflow = 2, - fp_overflow = 3, - fp_invalid = 4 - } ; - - -enum fp_class_type - { - fp_zero = 0, - fp_subnormal = 1, - fp_normal = 2, - fp_infinity = 3, - fp_quiet = 4, - fp_signaling = 5 - } ; - - -# 18 "/usr/include/floatingpoint.h" 2 3 - - - - -typedef float single; -typedef unsigned long extended[3]; - -typedef long double quadruple; - - - - - - - - -typedef unsigned fp_exception_field_type; - - - - -typedef int sigfpe_code_type; - -typedef void (*sigfpe_handler_type) (); - - - - - - - - -extern enum fp_direction_type fp_direction; - - - - -extern enum fp_precision_type fp_precision; - - - - -extern fp_exception_field_type fp_accrued_exceptions; - - - - - - - - - - - -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 double_to_decimal(); -extern void quadruple_to_decimal(); -extern char *econvert(); -extern char *fconvert(); -extern char *gconvert(); -extern char *qeconvert(); -extern char *qfconvert(); -extern char *qgconvert(); - - - - - -extern sigfpe_handler_type ieee_handlers[5 ]; - - - - - - - -extern sigfpe_handler_type sigfpe(); - -extern void single_to_decimal(); -extern void extended_to_decimal(); - -extern void decimal_to_single(); -extern void decimal_to_double(); -extern void decimal_to_extended(); -extern void decimal_to_quadruple(); - -extern char *seconvert(); -extern char *sfconvert(); -extern char *sgconvert(); - -extern void string_to_decimal(); -extern void file_to_decimal(); -extern void func_to_decimal(); - - - -extern double atof(); - - - -extern int errno; - -extern double strtod(); - - -# 12 "Vision.h" 2 - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/malloc.h" 1 3 - - - - - - - - - - - - - - - - -struct mallinfo { - int arena; - int ordblks; - int smblks; - int hblks; - int hblkhd; - int usmblks; - int fsmblks; - int uordblks; - int fordblks; - int keepcost; - - int mxfast; - int nlblks; - int grain; - int uordbytes; - int allocated; - int treeoverhead; -}; - -typedef void * malloc_t; - -extern malloc_t calloc( ); -extern void free( ); -extern malloc_t malloc( ); -extern malloc_t realloc( ); -extern int mallopt(); -extern struct mallinfo mallinfo(); - - -# 13 "Vision.h" 2 - -long time(long *); -int ieee_handler(); -} - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/stddef.h" 1 3 - - -extern "C" { - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 41 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/stddef.h" 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -typedef int ptrdiff_t; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -typedef int int ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -typedef __wchar_t wchar_t; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 7 "/sym/gnu/lib/g++-include/stddef.h" 2 3 - - - - -} - -# 24 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/stdlib.h" 1 3 - - - - - - - -extern "C" { - -int abs(int); - - -void volatile abort(void); - - - - -double atof(const char*); -int atoi(const char*); -long atol(const char*); - -int atexit(auto void (*p) (void)); -int bsearch (const void *, const void *, int , - int , auto int (*ptf)(const void*, const void*)); -void* calloc(int , int ); -void cfree(void*); - - -void volatile exit(int); - - - - -char* fcvt(double, int, int*, int*); -void free(void*); -char* getenv(const char*); -int getopt(int, char * const *, const char*); -int getpw(int, char*); -char* gcvt(double, int, char*); -char* ecvt(double, int, int*, int*); -extern char** environ; - -long labs(long); -void* malloc(int ); -int malloc_usable_size(void*); -int putenv(const char*); -extern char* optarg; -extern int opterr; -extern int optind; -void qsort(void*, int , int , auto int (*ptf)(void*,void*)); -int rand(void); -void* realloc(void*, int ); -int setkey(const char*); -int srand(unsigned int); -double strtod(const char*, char**); -long strtol(const char*, char**, int); -unsigned long stroul(const char**, int); -int system(const char*); - -long random(void); -void srandom(int); -char* setstate(char*); -char* initstate(unsigned, char*, int); - -double drand48(void); -void lcong48(short*); -long jrand48(short*); -long lrand48(void); -long mrand48(void); -long nrand48(short*); -short* seed48(short*); -void srand48(long); - -char* ctermid(char*); -char* cuserid(char*); -char* tempnam(const char*, const char*); -char* tmpnam(char*); - -} - -# 25 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/string.h" 1 3 - - - - - - - - - - - - - - -extern "C" { - -char* strcat(char*, const char*); -char* strchr(const char*, int); -int strcmp(const char*, const char*); -int strcoll(const char*, const char*); -char* strcpy(char*, const char*); -int strcspn(const char*, const char*); -char* strdup(const char*); - - - - -int strlen(const char*); -char* strncat(char*, const char*, int ); -int strncmp(const char*, const char*, int ); -char* strncpy(char*, const char*, int ); -char* strpbrk(const char*, const char*); -char* strrchr(const char*, int); -int strspn(const char*, const char*); -char* strstr(const char*, const char *); -char* strtok(char*, const char*); -int strxfrm(char*, const char*, int ); - -char* index(const char*, int); -char* rindex(const char*, int); -} - -# 1 "/sym/gnu/lib/g++-include/memory.h" 1 3 - - - - - - - -extern "C" { - -void* memalign (...) ; -void* memccpy (...) ; -void* memchr (...) ; -int memcmp (...) ; -void* memcpy (...) ; -void* memmove (...) ; -void* memset (...) ; -int ffs (...) ; -int getpagesize (...) ; -void* valloc (...) ; - -void bcopy (...) ; -int bcmp (...) ; -void bzero (...) ; -} - - - - - - - - - - - - - - -# 43 "/sym/gnu/lib/g++-include/string.h" 2 3 - - - -# 26 "/sym/gnu/lib/g++-include/std.h" 2 3 - - -# 1 "/sym/gnu/lib/g++-include/unistd.h" 1 3 - - - - - -extern "C" { - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/sys/types.h" 1 3 - - -extern "C" -{ - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 1 3 - - - - - - - - - - - - - - - -# 1 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/stdtypes.h" 1 3 - - - - - - - - - - - - - -typedef int sigset_t; - -typedef unsigned int speed_t; -typedef unsigned long tcflag_t; -typedef unsigned char cc_t; -typedef int pid_t; - -typedef unsigned short mode_t; -typedef short nlink_t; - -typedef long clock_t; -typedef long time_t; - - - - - - - - - - - - - - - - -# 16 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3 - - - -# 1 "/usr/include/sys/sysmacros.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 19 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 2 3 - - - - - -typedef unsigned char u_char; -typedef unsigned short u_short; -typedef unsigned int u_int; -typedef unsigned long u_long; -typedef unsigned short ushort; -typedef unsigned int uint; - - - - - - - - - - - - - - - -typedef struct _physadr_t { int r[1]; } *physadr_t; -typedef struct label_t { - int val[2]; -} label_t; - - - - - - - -typedef struct _quad_t { long val[2]; } quad_t; -typedef long daddr_t; -typedef char * caddr_t; -typedef unsigned long ino_t; -typedef short dev_t; -typedef long off_t; -typedef unsigned short uid_t; -typedef unsigned short gid_t; -typedef long key_t; -typedef char * addr_t; - - - - - - - - - - - - - - -typedef long fd_mask; - - - - - - - - - -typedef struct fd_set { - fd_mask fds_bits[(((256 )+(( (sizeof (fd_mask) * 8 ) )-1))/( (sizeof (fd_mask) * 8 ) )) ]; -} fd_set; - - - - - - - -# 113 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/sys/types.h" 3 - - - -# 15 "/sym/gnu/lib/g++-include/sys/types.h" 2 3 - - - - - - -} - - - - -# 73 "/sym/gnu/lib/gcc-lib/sparc-sun-sunos4.1/2.3.1/include/unistd.h" 2 3 - - -extern void _exit( ); -extern int access( ); -extern unsigned alarm( ); -extern int chdir( ); -extern int __hide_chmod ( ); -extern int __hide_chown ( ); -extern int close( ); -extern char *ctermid( ); -extern char *cuserid( ); -extern int dup( ); -extern int dup2( ); -extern int __hide_execl ( ); -extern int __hide_execle ( ); -extern int __hide_execlp ( ); -extern int execv( ); -extern int execve( ); -extern int execvp( ); -extern pid_t fork( ); -extern long fpathconf( ); -extern char *getcwd( ); -extern gid_t getegid( ); -extern uid_t geteuid( ); -extern gid_t getgid( ); -extern int getgroups( ); -extern char *getlogin( ); -extern pid_t getpgrp( ); -extern pid_t getpid( ); -extern pid_t getppid( ); -extern uid_t getuid( ); -extern int isatty( ); -extern int link( ); -extern off_t lseek( ); -extern long pathconf( ); -extern int pause( ); -extern int pipe( ); -extern int read( ); -extern int rmdir( ); -extern int __hide_setgid ( ); -extern int setpgid( ); -extern pid_t setsid( ); -extern int __hide_setuid ( ); -extern unsigned sleep( ); -extern long sysconf( ); -extern pid_t tcgetpgrp( ); -extern int tcsetpgrp( ); -extern char *ttyname( ); -extern int unlink( ); -extern int write( ); - - - -# 25 "/sym/gnu/lib/g++-include/unistd.h" 2 3 - - - - - - - - - - - - - - - -# 59 "/sym/gnu/lib/g++-include/unistd.h" 3 - - - -extern void volatile _exit(int); - - - - -extern unsigned alarm (...) ; -extern int brk (...) ; -extern int chdir (...) ; -extern int chmod (...) ; -extern int chown (const char*, unsigned short , unsigned short ); -extern int close (...) ; -extern char* crypt (...) ; -extern int dup (...) ; -extern int dup2 (...) ; -extern void encrypt (...) ; -extern int execl (const char*, const char *, ...); -extern int execle (const char*, const char *, ...); -extern int execlp (const char*, const char*, ...); -extern int exect (...) ; -extern int execv (...) ; -extern int execve (...) ; -extern int execvp (...) ; -extern int fchown (int, unsigned short , unsigned short ); -extern int fork (...) ; -extern int fsync (...) ; -extern int ftruncate (...) ; -extern char* getcwd (...) ; -extern int getdomainname (...) ; -extern int getdtablesize (...) ; -extern int getgroups (...) ; -extern unsigned short geteuid (...) ; -extern unsigned short getegid (...) ; -extern unsigned short getgid (...) ; -extern long gethostid (...) ; -extern int gethostname (...) ; -extern int getpgrp (...) ; -extern int getpid (...) ; -extern int getppid (...) ; -extern char* getlogin (...) ; -extern char* getpass (...) ; -extern unsigned short getuid (...) ; -extern int ioctl (int, int, ... ); -extern int isatty (...) ; -extern int link (...) ; -extern int mkstemp (...) ; -extern char* mktemp (...) ; -extern int nice (...) ; -extern int pause (...) ; -extern int pipe (...) ; -extern int readlink (...) ; -extern int rename (...) ; -extern int rmdir (...) ; -extern void* sbrk (...) ; -extern int syscall (...) ; -extern int setgid (unsigned short ); -extern int sethostname (...) ; - - - - -extern int setpgrp (...) ; - -extern int setregid (...) ; -extern int setreuid (...) ; -extern int setuid (unsigned short ); -extern unsigned sleep (...) ; -extern void swab (...) ; -extern int symlink (...) ; -extern long sysconf (...) ; -extern int truncate (...) ; -extern char* ttyname (...) ; -extern int ttyslot (...) ; - -extern int unlink (...) ; -extern int vfork (...) ; -extern int vadvise (...) ; -extern int vhangup (...) ; -extern long lseek (...) ; -extern int read (...) ; -extern int write (...) ; -extern int access (...) ; - -extern int flock (...) ; - - -} - - -# 28 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/stdio.h" 1 3 - - - - - - - - - - - - - - - - - - -# 174 "/sym/gnu/lib/g++-include/stdio.h" 3 - -# 29 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/errno.h" 1 3 - - -extern "C" { - - - - - -# 1 "/usr/include/errno.h" 1 3 - - - - - - - - - -# 1 "/usr/include/sys/errno.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 10 "/usr/include/errno.h" 2 3 - -extern int errno; - - -# 9 "/sym/gnu/lib/g++-include/errno.h" 2 3 - - - - -extern char* sys_errlist[]; -extern int sys_nerr; - -extern int errno; - -void perror(const char*); -char* strerr(int); - - -} - - -# 30 "/sym/gnu/lib/g++-include/std.h" 2 3 - -# 1 "/sym/gnu/lib/g++-include/fcntl.h" 1 3 - - -extern "C" { - - - - - - - - - - -# 1 "/usr/include/fcntl.h" 1 3 - - - - - -# 1 "/usr/include/sys/fcntlcom.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -struct flock { - short l_type; - short l_whence; - long l_start; - long l_len; - short l_pid; - short l_xxx; -}; - - - -struct eflock { - short l_type; - short l_whence; - long l_start; - long l_len; - short l_pid; - short l_xxx; - long l_rpid; - long l_rsys; -}; - - - -# 1 "/sym/gnu/lib/g++-include/sys/stat.h" 1 3 - - -extern "C" -{ - - - - - - - - - -# 1 "/usr/include/sys/stat.h" 1 3 - - - - - - - - - - - -struct stat { - dev_t st_dev; - ino_t st_ino; - mode_t st_mode; - short st_nlink; - uid_t st_uid; - gid_t st_gid; - dev_t st_rdev; - off_t st_size; - time_t st_atime; - int st_spare1; - time_t st_mtime; - int st_spare2; - time_t st_ctime; - int st_spare3; - long st_blksize; - long st_blocks; - long st_spare4[2]; -}; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -int __hide_chmod ( ); -int fstat( ); -int mkdir( ); -int mkfifo( ); -int stat( ); -mode_t umask( ); - - - -# 14 "/sym/gnu/lib/g++-include/sys/stat.h" 2 3 - - - - - - -extern int chmod (...) ; -extern int stat (...) ; -extern int lstat (...) ; -extern int fstat (...) ; - - - - - - - - - - - - - - - - - - -} - - -# 149 "/usr/include/sys/fcntlcom.h" 2 3 - - -int __hide_open ( ); -int __hide_creat ( ); -int __hide_fcntl ( ); - - -# 6 "/usr/include/fcntl.h" 2 3 - - - - - -# 14 "/sym/gnu/lib/g++-include/fcntl.h" 2 3 - - - - - - - - -int fcntl(int, int, ...); -int creat (...) ; - -int open (...) ; - - -} - -# 31 "/sym/gnu/lib/g++-include/std.h" 2 3 - - -extern "C" { -int strcasecmp (...) ; -} - - -# 18 "Vision.h" 2 - -# 1 "/sym/gnu/lib/g++-include/math.h" 1 3 - - - - - - - - - - - - - - - - - - - - - -#pragma interface - - - - - - - - - - - -# 64 "/sym/gnu/lib/g++-include/math.h" 3 - -extern "C" { - -double acos(double); -double acosh(double); -double asin(double); -double asinh(double); -double atan(double); -double atan2(double, double); -double atanh(double); -double cbrt(double); -double ceil(double); -double copysign(double,double); -double cos(double); -double cosh(double); -double drem(double,double); -double erf(double); -double erfc(double); -double exp(double); -double expm1(double); -double fabs(double); -double finite(double); -double floor(double); -double fmod(double, double); -double frexp(double, int*); -double gamma(double); -double hypot(double,double); -double infnan(int); - - -int isinf(double); -int isnan(double); - -double j0(double); -double j1(double); -double jn(int, double); -double ldexp(double, int); -double lgamma(double); -double log(double); -double log10(double); -double log1p(double); -double logb(double); -double modf(double, double*); -double pow(double, double); -double rint(double); -double scalb(double, int); -double sin(double); -double sinh(double); -double sqrt(double); -double tan(double); -double tanh(double); -double y0(double); -double y1(double); -double yn(int, double); - -double aint(double); -double anint(double); -int irint(double); -int nint(double); -} - - - - - - - - -struct libm_exception -{ - int type; - char* name; - double arg1, arg2, retval; -}; - - - - - - - - -extern "C" int matherr(libm_exception*); - - - -# 1 "/sym/gnu/lib/g++-include/values.h" 1 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 57 "/sym/gnu/lib/g++-include/values.h" 3 - - - - - - - - - - - - - - - -# 166 "/sym/gnu/lib/g++-include/values.h" 3 - - - - - - - - - -# 150 "/sym/gnu/lib/g++-include/math.h" 2 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# 19 "Vision.h" 2 - - -# 1 "MiscUtilities.h" 1 - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 6 "MiscUtilities.h" 2 - - - - - - - - - -inline int used_mem() { - struct mallinfo mi = mallinfo(); - return mi.usmblks+mi.uordblks; -} -inline volatile void abort() { - fprintf((&_iob[2]) ,"abort\n"); - exit(1); -} - -inline volatile void error(char *s) { - fprintf((&_iob[2]) ,"FATAL ERROR: "); - fprintf((&_iob[2]) ,"%s\n",s); - exit(1); -} -template -struct NameValuePair { - char *name; - Y y; -}; - -template -Y lookup(NameValuePair *data,char *name) { - while(data->name) { - if(!strcmp(data->name,name)) return data->y; - data++; - } - abort(); - return data->y; -} - -template -void swap(T &x,T &y) { - T temp = x; - x = y; - y = temp; -} - - -# 21 "Vision.h" 2 - -# 1 "Counted.h" 1 - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 6 "Counted.h" 2 - - -template -struct Counted { - private: - int *count; - T *object; - T *operator&() { - return object; - } - void dec_count() { - if(!count) return; - (*count)--; - if(*count<=0) { - delete count; - delete object; - count=0; - object=0; - } - } - void inc_count() { - if(!count) return; - (*count)++; - } - public: - Counted() { - count=0; - object=0; - } - Counted(T *object):object(object) { - count = new int(1); - } - ~Counted() { - dec_count(); - } - Counted(Counted &other) { - count=other.count; - object=other.object; - inc_count(); - } - Counted &operator=(Counted &other) { - other.inc_count(); - dec_count(); - count=other.count; - object=other.object; - return *this; - } - - T &operator*() {if(!object) abort(); else return *object; return *object;} - T *operator->() {if(!object) abort(); else return object; return object;} - operator T&() {if(!object) abort(); else return *object; return *object;} - - -}; - - -# 22 "Vision.h" 2 - -# 1 "Art.h" 1 - - - - - - -extern "C" { void abort(); } - - - - - - - - - - - - -template -inline void art_initialize(X *,int) {} - -# 39 "Art.h" - - - - - - -template -class Art { -protected: - int mark_temp; - T *data; - int dims[1]; - void constructor(int d) { - if(d<0) abort() ; - mark_temp=0; - dims[0]=d; - if(d>0) { - data=new T[d]; - if(!data) abort() ; - } else data=0; - art_initialize(data,d); - } - void destructor() { - if(!data) return; - delete [] data; - mark_temp=0; - data=0; - dims[0]=0; - } - void copy(Art &other) { - int d0=dims[0]=unsigned(dims[0])) abort() ; - return data[i]; - } - T &sub(int i) {return data[i];} - void resize(int nd) { - if(nd<0) abort() ; - Art t(nd); - int limit=nd -class Stk { -protected: - Art stack; - int fill; -public: - Stk() {stack.resize(4); fill=0;} - Stk(Stk &other) { - stack=other.stack; - fill=other.fill; - } - int dim(int i) {return stack.dim(i);} - void push(T &element) { - if(fill>=stack.dim(0)) stack.resize(2*fill); - stack.sub(fill++)=element; - } - T &tos() { - return stack(fill-1); - } - T &pop() { - return stack(--fill); - } - T &operator()(int i) {return stack(i);} - T &sub(int i) {return stack.sub(i);} - void clear() { - stack.resize(0); - stack.resize(4); - fill=0; - } - void compact() { - stack.resize(fill+1); - } - Stk temp() { stack.temp(); return *this; } - T *pointer() {return stack.pointer();} - operator Art&() {return stack;} - - int length() {return fill;} - T &operator[](int i) {return operator()(i);} -}; - - - - - -template -class Art2 { -protected: - int mark_temp; - T **data; - int dims[2]; - int total_length; - void constructor(int d0,int d1) { - if(d0<0||d1<0) abort() ; - mark_temp=0; - dims[0]=d0; - dims[1]=d1; - total_length=dims[0]*dims[1]; - if(d0>0) { - data=new T*[d0]; - if(!data) abort() ; - } else data=0; - if(d0>0&&d1>0) { - T *p=new T[d0*d1]; - if(!p) abort() ; - for(int i=0;i=unsigned(dims[0])||unsigned(j)>=unsigned(dims[1])) - abort() ; - return data[i][j]; - } - T &sub(int i,int j) {return data[i][j];} - void resize(int nd0,int nd1) { - if(nd0<0||nd1<0) abort() ; - Art2 t(nd0,nd1); - int limit0=nd0=total_length) abort() ; - return data[0][i]; - } -}; - -template -inline void art_swap(T &x,T &y) { - T temp = x; - x = y; - y = temp; -} - -template -inline void reverse(Art &a) { - int i; - for(i=a.length()/2;i>=0;i--) art_swap(a.sub(i),a.sub(a.length()-i-1)); -} - -template -inline void reverse(Stk &a) { - reverse(a.stack); -} - -template -inline void bag_remove(Stk &a,T &element) { - for(int i=0;i -inline void ordered_remove(Stk &a,T &element) { - int source=0,dest=0; - while(source -inline Art concatenate(Art &a,Art &b) { - int i,k; - k=a.length(); - Art result(k+b.length()); - for(i=0;i -inline Stk concatenate(Stk &a,Stk &b) { - int i; - Stk result; - for(i=0;i -class vec { -protected: - T v[n]; -public: - int length() {return n;} - int dim(int) {return n;} - vec() {} - vec(T v0) { v[0]=v0; } - vec(T v0,T v1) { v[0]=v0; v[1]=v1; } - vec(T v0,T v1,T v2) { v[0]=v0; v[1]=v1; v[2]=v2; } - vec(T v0,T v1,T v2,T v3) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; } - vec(T v0,T v1,T v2,T v3,T v4) { v[0]=v0; v[1]=v1; v[2]=v2; v[3]=v3; v[4]=v4; } - - T &operator[](int i) {return v[i];} - T &sub(int i) {return v[i];} - T &operator()(int i) { - if(unsigned(i)>=n) abort(); - return v[i]; - } - - - - - - - - - - - - - T operator*(vec &other) { - T result=0; - for(int i=0;i?(vec &other) { - vec result; - for(int i=0;i?other.sub(i); - return result; - } - - - int operator==(vec &other) { - for(int i=0;i=other.sub(i)) return 0; - return 1; - } - int operator>(vec &other) { - for(int i=0;iother.sub(i)) return 0; - return 1; - } - int operator>=(vec &other) { - for(int i=0;i -inline float euclidean_norm(T &v) { - float total=0.0; - for(int i=0;i -inline float euclidean_distance(T &u,T &v) { - float total=0.0; - for(int i=0;i -class mat:vec { -protected: -public: - int dim(int) {return n;} - T &operator[](int i) {return v[i];} - T &sub(int i,int j) {return v[i*n+j];} - T &operator()(int i,int j) { - if(unsigned(i)>=n||unsigned(j)>=n) abort(); - return sub(i,j); - } - mat operator*(mat &other) { - mat result; - for(int i=0;i operator*(vec &other) { - vec result; - for(int i=0;i vec2; -typedef vec vec3; -typedef vec vec4; - -typedef mat mat2; -typedef mat mat3; -typedef mat mat4; - -typedef vec ivec2; - - - - - - - -inline float norm_angle(float p) { - while(p<0) p+=2* 3.14159265358979323846 ; while(p>=2* 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p; -} -inline float norm_angle0(float p) { - while(p<- 3.14159265358979323846 ) p+=2* 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-=2* 3.14159265358979323846 ; return p; -} -inline float norm_orientation(float p) { - while(p<0) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 ) p-= 3.14159265358979323846 ; return p; -} -inline float norm_orientation0(float p) { - while(p<- 3.14159265358979323846 /2) p+= 3.14159265358979323846 ; while(p>= 3.14159265358979323846 /2) p-= 3.14159265358979323846 ; return p; -} -inline float orientation_difference(float p,float q) { - fabs(norm_orientation0(p-q)); -} - - - - - - - - - - - - - - -inline vec2 cmul(vec2 &p,vec2 &q) { - return vec2(p.sub(0)*q.sub(0)-p.sub(1)*q.sub(1), - p.sub(0)*q.sub(1)+p.sub(1)*q.sub(0)); -} - -inline vec2 cdiv(vec2 &p,vec2 &q) { - float n=q*q; - return vec2((p.sub(0)*q.sub(0)+p.sub(1)*q.sub(1))/n, - (p.sub(1)*q.sub(0)-p.sub(0)*q.sub(1))/n); -} - -inline vec2 csqrt(vec2 &x) { - if (x.sub(0)==0.0&&x.sub(1)==0.0) - return vec2(0.0,0.0); - else { - float a=sqrt((fabs(x.sub(0))+hypot(x.sub(0),x.sub(1)))*0.5); - float b=0.5*(x.sub(1)/a); - if(x.sub(0)>0.0) return vec2(a, b); - else if(x.sub(1)>=0.0) return vec2(a,b); - else return vec2(-a,-b); - } -} -inline vec2 cpow(vec2& x, double p) { - float h=hypot(x.sub(0),x.sub(1)); - if (h<=0.0) abort(); - float lr=pow(h,p); - float a=atan2(x.sub(1),x.sub(0)); - float li=p*a; - return vec2(lr*cos(li),lr*sin(li)); -} - - - -inline float cross(vec2 p,vec2 q) { - return p.sub(0)*q.sub(1)-p.sub(1)*q.sub(0); -} - - - - - -struct TRS2 { - vec2 t; - vec2 r; - TRS2(vec2 t=vec2(0.0,0.0),vec2 r=vec2(1.0,0.0)):t(t),r(r) { - } - vec2 operator()(vec2 &arg) { - return cmul(r,arg)+t; - } - float rotation() { - return atan2(r(1),r(0)); - } -}; - - - -# 24 "Vision.h" 2 - - - - -# 1 "VisionTypes.h" 1 - - - - -typedef Art2 FImage; -typedef Art2 IImage; -typedef Art2 CImage; - -struct FImageOp {virtual FImage operator()(FImage &) = 0;}; -struct FImageOp2 {virtual FImage operator()(FImage &,FImage &) = 0;}; -struct CImageOp {virtual CImage operator()(CImage &) = 0;}; -struct CImageOp2 {virtual CImage operator()(CImage &,CImage &) = 0;}; - - - - - -struct PFeature { - ivec2 p; - float a; - short group; - short type; - PFeature() {} - PFeature(ivec2 p,float a,int group,int type):p(p),a(a),group(group),type(type) {} -}; - -typedef Stk PFeatureStk; - -struct FIExtractor {virtual PFeatureStk operator()(FImage &) = 0;}; -struct CIExtractor {virtual PFeatureStk operator()(CImage &) = 0;}; -# 28 "Vision.h" 2 - -# 1 "ImageDatabase.h" 1 - - - - - -# 1 "Art.h" 1 - - -# 339 "Art.h" - -# 6 "ImageDatabase.h" 2 - - -typedef Art2 CImage; - - - - - - - - -struct ImageDatabase { - - - - - virtual int length() = 0; - virtual int nclassifications() = 0; - virtual int nusers() = 0; - - - - - virtual int classification(int offset) = 0; - virtual int user(int offset) = 0; - - virtual CImage cimage(int offset) {abort();} - virtual PFeatureStk features(int offset) {abort();} - - - - - - - virtual int user_offset(int user) = 0; - virtual int user_length(int user) = 0; -}; - -ImageDatabase *make_NISTDigitImages(); - - - - - -struct ImageDatabaseIterator { - virtual int done() = 0; - virtual void next() = 0; - virtual operator int() = 0; - virtual void mark_upto_here() {} -}; - -ImageDatabaseIterator *make_IDI_Sequential(ImageDatabase *digits,int current,int stride); -ImageDatabaseIterator *make_IDI_OnePerUser(ImageDatabase *digits,int current); -ImageDatabaseIterator *make_IDI_FromFile(char *name); - - -# 29 "Vision.h" 2 - - - -# 1 "NISTImages.cc" 2 - - - - - - - - - - -# 1 "/sym/gnu/lib/g++-include/std.h" 1 3 - - - - - - - - - - - - - - - - - - - -# 37 "/sym/gnu/lib/g++-include/std.h" 3 - -# 11 "NISTImages.cc" 2 - -# 1 "Art.h" 1 - - -# 339 "Art.h" - -# 12 "NISTImages.cc" 2 - - -extern "C" { -# 1 "./nist/ihead.h" 1 - - - - - - - - - - - - - - -typedef struct ihead{ - char id[ 80 ]; - char created[ 26 ]; - char width[ 8 ]; - char height[ 8 ]; - char depth[ 8 ]; - char density[ 8 ]; - char compress[ 8 ]; - char complen[ 8 ]; - char align[ 8 ]; - char unitsize[ 8 ]; - char sigbit; - char byte_order; - char pix_offset[ 8 ]; - char whitepix[ 8 ]; - char issigned; - char rm_cm; - char tb_bt; - char lr_rl; - char parent[ 80 ]; - char par_x[ 8 ]; - char par_y[ 8 ]; -}IHEAD; - - - - - - - - - - - - - - - - - - - - - -# 15 "NISTImages.cc" 2 - -int readihdrfile(); - -} - -typedef Art2 CImage; - -Stk mis_files; - -extern "C" { - char *re_comp(char *); - int re_exec(char *); -} - -struct NISTCharFile { - private: - NISTCharFile(NISTCharFile &); - void operator=(NISTCharFile &); - public: - IHEAD *bit_header; - int bit_w,bit_h; - char *bit_data; - int field_w,field_h; - Stk classes; - - static void maybe_read_mis_files() { - if(mis_files.length()>0) return; - struct _iobuf *stream = fopen("/com/nist/mis-files" ,"r"); - if(!stream) abort() ; - char buf[1024]; - while(fgets(buf,sizeof buf,stream)) { - buf[strlen(buf)-1]='\0'; - mis_files.push(strdup(buf)); - } - fclose(stream); - } - - static char *find_matching_mis_file_prefix(char *pattern) { - if(re_comp(pattern)) abort() ; - for(int i=0;ipar_x); - field_h=atoi(bit_header->par_y); - - strcpy(file,prefix); strcat(file,".cls"); - struct _iobuf *stream = fopen(file,"r"); - if(!stream) - abort() ; - int total=atoi(fgets(buf,sizeof buf,stream)); - if(total!=bit_h/field_h) - abort() ; - while(fgets(buf,sizeof buf,stream)) classes.push(strtol(buf,0,16)); - fclose(stream); - } - - ~NISTCharFile() { - free(bit_header); - free(bit_data); - } - - int length() { - return bit_h/field_h; - } - - CImage image(int i) { - ; - CImage result(field_w,field_h); - int bit_w8=bit_w/8; - int offset=i*field_h; - if(offset>=bit_h) abort() ; - int i,j; - - - for(i=0;i>3)]&(1<<(7-i&7)))) ; - } - - return result.temp(); - } - - int classification(int i) { - return classes(i); - } -}; - -int *NISTDigitImages_table; - -struct NISTDigitImages:ImageDatabase { - private: - NISTDigitImages(NISTDigitImages&); - void operator=(NISTDigitImages&); - public: - enum {table_size=2101}; - - int nclassifications() {return 10;} - int nusers() {return 2200;} - - static void init_table() { - struct _iobuf *stream=fopen("/com/nist/nist-digits" ,"r"); - NISTDigitImages_table = new int[table_size]; - if(!stream) abort() ; - int i=1; - while(fscanf(stream,"%d",&NISTDigitImages_table[i])==1) i++; - if(i!=table_size) abort() ; - fclose(stream); - int total=0; - for(i=1;i=NISTDigitImages_table[table_size-1]) abort() ; - while(low+1=2100) abort() ; - return NISTDigitImages_table[user]; - } - - int user_length(int user) { - if(unsigned(user)>=2100) abort() ; - return NISTDigitImages_table[user+1]-NISTDigitImages_table[user]; - } - - int current_user; - NISTCharFile *current_file; - - private: - void get_cache(int user) { - if(user!=current_user) { - delete current_file; - current_file = new NISTCharFile(user,0); - current_user = user; - } - } - - public: - NISTDigitImages() { - ; - if(!NISTDigitImages_table) init_table(); - current_user=0; - current_file=new NISTCharFile(0,0); - ; - } - - ~NISTDigitImages() { - delete current_file; - } - - int length() {return NISTDigitImages_table[table_size-1];} - - int user(int i) { - return locate(i); - } - - CImage image(int i) { - int user = locate(i); - get_cache(user); - int offset = i-NISTDigitImages_table[user]; - return current_file->image(offset); - } - - int classification(int i) { - int user = locate(i); - get_cache(user); - int offset = i-NISTDigitImages_table[user]; - return current_file->classification(offset); - } -}; - -ImageDatabase *make_NISTDigitImages() { - return new NISTDigitImages(); -} -