gcc causing bus-error on solaris

Heiko Klein hklein@ikp.uni-koeln.de
Tue Oct 5 01:19:00 GMT 1999


Hi,

I have the following:
	Reading specs from
/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/specs
gcc version 2.95.1 19990816 (release)
Running on an SUN-ULTRA Enterprise 4000


I get with a program using about 250Mb of memory a bus error when I
compile it with gcc2.95, with gcc2.8 or earlier it works, and with the
sun workshop-compilers, it works to. 

Even when I create the *.o - file with gcc and link it with cc I get the
bus-error.
Even when I create the *.o - file with cc and link it with gcc I get the
bus-error.


There seems to be an intrinsic problem and I'm sorry that I can't go
further investigating it. I can't recreate it with a smaller program.

Sincerly,


-- 
Heiko Klein
Institut fuer Kernphysik 	Tel   : +49 0221/470-3617 
Universitaet zu Koeln		FAX   : +49 0221/470-5168 
Zuelpicher Str. 77		email : Heiko.Klein@ikp.uni-koeln.de     
D-50937 Koeln			WWW   : http://www.ikp.uni-koeln.de/~hklein
# 1 "x_two.cc"
 





































static char rcsid[] = "$Id: x_two.cc,v 1.4 1999/06/28 10:57:16 hklein Exp hklein $";


# 1 "x_two.h" 1
 


















# 1 "/usr/include/stdio.h" 1 3 4
 
 

 
 
 

 






#pragma ident	"@(#)stdio.h	1.39	95/12/04 SMI"	

# 1 "/usr/include/sys/feature_tests.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)feature_tests.h	1.7	94/12/06 SMI"


extern "C" {


 












}



# 17 "/usr/include/stdio.h" 2 3 4

# 1 "/usr/include/sys/va_list.h" 1 3 4
 







#pragma ident	"@(#)va_list.h	1.6	96/01/26 SMI"

 










extern "C" {


# 41 "/usr/include/sys/va_list.h" 3 4



typedef void *__va_list;







}



# 18 "/usr/include/stdio.h" 2 3 4



extern "C" {




typedef unsigned int	size_t;


typedef long	fpos_t;







 










 



















# 76 "/usr/include/stdio.h" 3 4




















































typedef struct	 
{




	int		_cnt;	 
	unsigned char	*_ptr;	 

	unsigned char	*_base;	 
	unsigned char	_flag;	 
	unsigned char	_file;	 
} FILE;


extern FILE		__iob[20 ];



extern FILE		*_lastbuf; /usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/cc1plus x_two.ii -quiet -dumpbase x_two.cc -version -o x_two.s
GNU C++ version 2.95.1 19990816 (release) (sparc-sun-solaris2.5.1) compiled by GNU C version 2.95.1 19990816 (release).
In file included from x_two.h:20,
                 from x_two.cc:42:
/usr/include/stdio.h:147: parse error before `/'
/usr/include/stdio.h:147: malformed floating constant
/usr/include/stdio.h:147: malformed floating constant
/usr/include/stdio.h:148: malformed floating constant
/usr/include/stdio.h:148: malformed floating constant
/usr/include/stdio.h:148: malformed floating constant
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	getchar(void);
extern char	*gets(char *);
extern int	putc(int, FILE *);
extern int	putchar(int);
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 *);

 





extern FILE	*fdopen(int, const char *);
extern char	*ctermid(char *);
extern int	fileno(FILE *);



 


# 234 "/usr/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 *);



# 338 "/usr/include/stdio.h" 3 4


 
































# 392 "/usr/include/stdio.h" 3 4





}



# 20 "x_two.h" 2

# 1 "/usr/include/stdlib.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)stdlib.h	1.27	95/08/28 SMI"	









extern "C" {


typedef	struct {
	int	quot;
	int	rem;
} div_t;

typedef struct {
	long	quot;
	long	rem;
} ldiv_t;


typedef struct {
	long long	quot;
	long long	rem;
} lldiv_t;









typedef long	uid_t;












typedef long wchar_t;




extern unsigned char	__ctype[];



extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
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 rand(void);
extern void srand(unsigned int);





extern void *calloc(size_t, size_t);
extern void free(void *);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);

extern void abort(void);
extern int atexit(void (*)(void));
extern void exit(int);
extern char *getenv(const char *);
extern int system(const char *);

extern void *bsearch(const void *, const void *, size_t, size_t,
	int (*)(const void *, const void *));
extern void qsort(void *, size_t, size_t,
	int (*)(const void *, const void *));

extern int abs(int);
extern div_t div(int, int);
extern long int labs(long);
extern ldiv_t ldiv(long, long);

extern int mbtowc(wchar_t *, const char *, size_t);
extern int mblen(const char *, size_t);
extern int wctomb(char *, wchar_t);

extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);





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(const char *);
extern void setkey(const char *);






extern void swab(const char *, char *, int);





extern long a64l(const char *);
extern int dup2(int, int);
extern char *ecvt(double, int, int *, int *);
extern char *fcvt(double, int, 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 char *getlogin(void);
extern int getopt(int, char *const *, const char *);
extern int getsubopt(char **, char *const *, char **);
extern char *optarg;
extern int optind, opterr, optopt;
extern char *getpass(const char *);
extern int getpw(uid_t, char *);
extern char *gcvt(double, int, char *);
extern int isatty(int);
extern char *l64a(long);
extern void *memalign(size_t, size_t);
extern char *mktemp(char *);
extern char *realpath(char *, char *);
extern char *ttyname(int);
extern int ttyslot(void);
extern void *valloc(size_t);
extern char *ptsname(int);
extern int  grantpt(int);
extern int  unlockpt(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 *);




# 276 "/usr/include/stdlib.h" 3 4



}



# 21 "x_two.h" 2

# 1 "/usr/include/string.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)string.h	1.17	95/08/28 SMI"	




extern "C" {













extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t);

extern char *strcat(char *, const char *);
extern char *strncat(char *, const char *, size_t);

extern int memcmp(const void *, const void *, size_t);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern int strncmp(const char *, const char *, size_t);
extern size_t strxfrm(char *, const char *, size_t);

extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern size_t strcspn(const char *, const char *);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern size_t strspn(const char *, const char *);
extern char *strstr(const char *, const char *);
extern char *strtok(char *, const char *);




extern void *memset(void *, int, size_t);
extern char *strerror(int);
extern size_t strlen(const char *);




extern void *memccpy(void *, const void *, int, size_t);






extern char *strdup(const char *);
extern char *strsignal(int);
extern int ffs(const int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);



# 119 "/usr/include/string.h" 3 4



}



# 22 "x_two.h" 2


# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/stdarg.h" 1 3 4
 




























# 1 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/va-sparc.h" 1 3 4
 


 








 

typedef void * __gnuc_va_list;



 





 









# 47 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/va-sparc.h" 3 4



void va_end (__gnuc_va_list);		 

 

enum __va_type_classes {
  __no_type_class = -1,
  __void_type_class,
  __integer_type_class,
  __char_type_class,
  __enumeral_type_class,
  __boolean_type_class,
  __pointer_type_class,
  __reference_type_class,
  __offset_type_class,
  __real_type_class,
  __complex_type_class,
  __function_type_class,
  __method_type_class,
  __record_type_class,
  __union_type_class,
  __array_type_class,
  __string_type_class,
  __set_type_class,
  __file_type_class,
  __lang_type_class
};




 




 




# 134 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/va-sparc.h" 3 4





 

 



# 159 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/va-sparc.h" 3 4



 



# 30 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/stdarg.h" 2 3 4

# 135 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/stdarg.h" 3 4








 
 














 










typedef __gnuc_va_list va_list;




# 207 "/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.95.1/include/stdarg.h" 3 4






# 24 "x_two.h" 2





# 1 "/usr/include/sys/types.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)types.h	1.38	95/11/14 SMI"


# 1 "/usr/include/sys/isa_defs.h" 1 3 4
 






#pragma ident	"@(#)isa_defs.h	1.7	94/10/26 SMI"

 













































































































extern "C" {



 






# 211 "/usr/include/sys/isa_defs.h" 3 4


 






 



















 







 







}



# 14 "/usr/include/sys/types.h" 2 3 4


 


# 1 "/usr/include/sys/machtypes.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)machtypes.h	1.9	94/11/05 SMI"




extern "C" {


 








typedef struct  _physadr_t { int r[1]; } *physadr_t;

typedef	struct	_label_t { int	val[2]; } label_t;



typedef	unsigned char	lock_t;		 


}



# 19 "/usr/include/sys/types.h" 2 3 4



extern "C" {


 

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	long		off_t;		 
typedef	short		cnt_t;		 

typedef	ulong_t		paddr_t;	 
typedef	uchar_t		use_t;		 
typedef	short		sysid_t;
typedef	short		index_t;




typedef enum { B_FALSE, B_TRUE } boolean_t;


 





typedef	long long		longlong_t;
typedef	unsigned long long	u_longlong_t;
# 66 "/usr/include/sys/types.h" 3 4





typedef	longlong_t	offset_t;
typedef	longlong_t	diskaddr_t;

 





# 88 "/usr/include/sys/types.h" 3 4



typedef union {
	offset_t	_f;	 
	struct {
		long _u;	 
		off_t _l;	 
	} _p;
} lloff_t;


# 108 "/usr/include/sys/types.h" 3 4



typedef union {
	diskaddr_t	_f;	 
	struct {
		long _u;	 
		daddr_t _l;	 
	} _p;
} lldaddr_t;


typedef ulong_t k_fltset_t;	 

 







typedef long		id_t;		 
					 
					 
					 
					 


 

typedef ulong_t	major_t;	 
typedef ulong_t	minor_t;	 


 

typedef short	pri_t;

 










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;			 






typedef	uid_t	gid_t;			 
typedef	ulong_t nlink_t;		 
typedef ulong_t	dev_t;			 
typedef ulong_t	ino_t;			 
typedef long	pid_t;			 








typedef int	ssize_t;	 
				 




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;

# 234 "/usr/include/sys/types.h" 3 4





 












 




typedef	long	hostid_t;

 







typedef unsigned char	u_char;
typedef unsigned short	u_short;
typedef unsigned int	u_int;
typedef unsigned long	u_long;
typedef struct _quad { long val[2]; } quad;	 


 



# 1 "/usr/include/sys/select.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)select.h	1.10	92/07/14 SMI"	


# 1 "/usr/include/sys/time.h" 1 3 4
 
 

 
 
 

 





 







#pragma ident	"@(#)time.h	2.47	95/08/24 SMI"	



 





extern "C" {






struct timeval {
	long	tv_sec;		 
	long	tv_usec;	 
};

struct timezone {
	int	tz_minuteswest;	 
	int	tz_dsttime;	 
};





}


 




# 1 "/usr/include/sys/types.h" 1 3 4
 
 

 
 
 

# 302 "/usr/include/sys/types.h" 3 4

# 61 "/usr/include/sys/time.h" 2 3 4




extern "C" {

















 














 









struct	itimerval {
	struct	timeval it_interval;	 
	struct	timeval it_value;	 
};


 

















 

















 






typedef struct  timespec {		 
	time_t		tv_sec;		 
	long		tv_nsec;	 
} timespec_t;

typedef struct timespec timestruc_t;	 

# 172 "/usr/include/sys/time.h" 3 4


 









 




typedef struct itimerspec {		 
	struct timespec	it_interval;	 
	struct timespec	it_value;	 
} itimerspec_t;


 


typedef	longlong_t	hrtime_t;

# 236 "/usr/include/sys/time.h" 3 4





int adjtime(struct timeval *, struct timeval *);
int getitimer(int, struct itimerval *);
int setitimer(int, const struct itimerval *, struct itimerval *);

 

















int gettimeofday(struct timeval *, void *);
int settimeofday(struct timeval *, void *);


hrtime_t	gethrtime(void);
hrtime_t	gethrvtime(void);
# 278 "/usr/include/sys/time.h" 3 4


# 1 "/usr/include/time.h" 1 3 4
 
 
 



 
 
 




#pragma ident	"@(#)time.h	1.23	95/08/28 SMI"	




extern "C" {





























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 clock_t clock(void);
extern double difftime(time_t, time_t);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern char *asctime(const struct tm *);
extern char *ctime(const time_t *);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);










extern char *strptime(const char *, const char *, struct tm *);






# 1 "/usr/include/sys/time.h" 1 3 4
 
 

 
 
 

 





 




# 290 "/usr/include/sys/time.h" 3 4

# 89 "/usr/include/time.h" 2 3 4

# 1 "/usr/include/sys/siginfo.h" 1 3 4
 
 
 



 
 
 




#pragma ident	"@(#)siginfo.h	1.36	95/08/24 SMI"	




extern "C" {




union sigval {
	int	sival_int;	 
	void	*sival_ptr;	 
};

struct sigevent {
	int		sigev_notify;	 
	union {
		int	_sigev_signo;	 
		void	(*_sigev_notify_function)(union sigval);
	} _sigev_un;
	union sigval	sigev_value;	 
	int		_sigev_pad1;
	void		*_sigev_notify_attributes;
	int		_sigev_pad2;
};


 




 


















 




# 1 "/usr/include/sys/machsig.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)machsig.h	1.10	94/11/05 SMI"
 




extern "C" {


 



 









 













 






 













 







 











}



# 71 "/usr/include/sys/siginfo.h" 2 3 4


 







 











 











 















 


# 1 "/usr/include/sys/time.h" 1 3 4
 
 

 
 
 

 





 




# 290 "/usr/include/sys/time.h" 3 4

# 124 "/usr/include/sys/siginfo.h" 2 3 4


typedef struct

	 
	siginfo

			{

	int	si_signo;			 
	int 	si_code;			 
	int	si_errno;			 

	union {

		int	_pad[((128  / sizeof (int)) - 3) ];		 

		struct {			 
			pid_t	_pid;		 
			union {
				struct {
					uid_t	_uid;
					union sigval	_value;
				} _kill;
				struct {
					clock_t _utime;
					int	_status;
					clock_t _stime;
				} _cld;
			} _pdata;
		} _proc;

		struct {	 
			caddr_t	_addr;		 
			int	_trapno;	 
		} _fault;

		struct {			 
		 
			int	_fd;		 
			long	_band;
		} _file;

		struct {			 
			caddr_t	_faddr;		 
			timestruc_t _tstamp;	 
			short	_syscall;	 
			char	_nsysarg;	 
			char	_fault;		 
			long	_sysarg[8];	 
			long	_mstate[17];	 
		} _prof;

	} _data;

} siginfo_t;

 






typedef struct k_siginfo {

	int	si_signo;			 
	int 	si_code;			 
	int	si_errno;			 

	union {
		struct {			 
			pid_t	_pid;		 
			union {
				struct {
					uid_t	_uid;
					union sigval	_value;
				} _kill;
				struct {
					clock_t _utime;
					int	_status;
					clock_t _stime;
				} _cld;
			} _pdata;
		} _proc;

		struct {	 
			caddr_t	_addr;		 
			int	_trapno;	 
		} _fault;

		struct {			 
		 
			int	_fd;		 
			long	_band;
		} _file;

		struct {			 
			caddr_t	_faddr;		 
			timestruc_t _tstamp;	 
			short	_syscall;	 
			char	_nsysarg;	 
			char	_fault;		 
			 
			 
			 
		} _prof;

	} _data;

} k_siginfo_t;

typedef struct sigqueue {
	struct sigqueue	*sq_next;
	k_siginfo_t	sq_info;
	void		(*sq_func)(struct sigqueue *);  
	void		*sq_backptr;	 
					 
} sigqueue_t;

 


























}



# 90 "/usr/include/time.h" 2 3 4

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;



# 171 "/usr/include/time.h" 3 4


 


# 249 "/usr/include/time.h" 3 4



}



# 280 "/usr/include/sys/time.h" 2 3 4







}



# 14 "/usr/include/sys/select.h" 2 3 4




extern "C" {


 













typedef	long	fd_mask;





typedef	struct fd_set {
	fd_mask	fds_bits[((( 1024  )+((  (sizeof (fd_mask) * 8 )  )-1))/(  (sizeof (fd_mask) * 8 )  )) ];
} fd_set;


















extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);






}



# 278 "/usr/include/sys/types.h" 2 3 4




 












 



}



# 29 "x_two.h" 2

# 1 "/usr/include/sys/stat.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)stat.h	1.26	95/08/14 SMI"	







extern "C" {




 



# 70 "/usr/include/sys/stat.h" 3 4


	 

struct	stat {
	dev_t	st_dev;
	long	st_pad1[3];	 
	ino_t	st_ino;
	mode_t	st_mode;
	nlink_t st_nlink;
	uid_t 	st_uid;
	gid_t 	st_gid;
	dev_t	st_rdev;
	long	st_pad2[2];
	off_t	st_size;
	long	st_pad3;	 
	timestruc_t st_atim;
	timestruc_t st_mtim;
	timestruc_t st_ctim;
	long	st_blksize;
	long	st_blocks;
	char	st_fstype[16 ];
	long	st_pad4[8];	 
};














 

 






















 
























 







extern int fstat(int, struct stat *);
extern int stat(const char *, struct stat *);


extern int lstat(const char *, struct stat *);
extern int mknod(const char *, mode_t, dev_t);



extern int fchmod(int, mode_t);


extern int chmod(const char *, mode_t);
extern int mkdir(const char *, mode_t);
extern int mkfifo(const char *, mode_t);
extern mode_t umask(mode_t);

# 195 "/usr/include/sys/stat.h" 3 4




}



# 30 "x_two.h" 2

# 1 "/usr/include/sys/param.h" 1 3 4
 
 

 
 
 

 

























#pragma ident	"@(#)param.h	1.34	95/11/05 SMI"	








extern "C" {


 





























				 
				 
				 

 






 





 























 



























 



 

















 














 



 




























 











 




 






 




# 256 "/usr/include/sys/param.h" 3 4



}


 




# 370 "/usr/include/sys/param.h" 3 4


 







# 1 "/usr/include/sys/unistd.h" 1 3 4
 









 








#pragma ident	"@(#)unistd.h	1.24	95/08/24 SMI"	




extern "C" {


 

 








 




 




 



























 




















 


 






	 















 




















 





 

 









 




































}



# 380 "/usr/include/sys/param.h" 2 3 4



extern "C" {



extern long _sysconf(int);	 









}





# 31 "x_two.h" 2



extern "C" {


# 1 "/usr/local/include/local/mfile.h" 1 3
 







 






























































































# 1 "/usr/include/unistd.h" 1 3 4
 
 

 
 
 




#pragma ident	"@(#)unistd.h	1.33	95/08/28 SMI"	







extern "C" {


 













 















 




 














 























extern int access(const char *, int);


extern int acct(const char *);

extern unsigned alarm(unsigned);


extern int brk(void *);

extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);

extern int chroot(const char *);

extern int close(int);







extern char *ctermid(char *);

extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);




extern int execl(const char *, const char *, ...);
extern int execle(const char *, const char *, ...);
extern int execlp(const char *, const char *, ...);
extern int execv(const char *, char *const *);
extern int execve(const char *, char *const *, char *const *);
extern int execvp(const char *, char *const *);
extern void _exit(int);


extern int fattach(int, const char *);
extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);
extern int fchroot(int);



extern int fdatasync(int);



extern int fdetach(const char *);

extern pid_t fork(void);


extern pid_t fork1(void);

extern long fpathconf(int, int);


extern int fsync(int);



extern int ftruncate(int, off_t);

extern char *getcwd(char *, size_t);
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);
extern char *getlogin(void);









extern pid_t getpgid(pid_t);

extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);


char *gettxt(const char *, const char *);



extern pid_t getsid(pid_t);

extern uid_t getuid(void);


extern int ioctl(int, int, ...);

extern int isatty(int);
extern int link(const char *, const char *);


extern int lchown(const char *, uid_t, gid_t);
extern offset_t llseek(int, offset_t, int);
extern int lockf(int, int, long);

extern off_t lseek(int, off_t, int);


extern int mincore(caddr_t, size_t, char *);


extern int nice(int);

extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);


extern ssize_t pread(int, void *, size_t, off_t);
extern void profil(unsigned short *, unsigned int, unsigned int, unsigned int);
extern int ptrace(int, pid_t, int, int);
extern ssize_t pwrite(int, const void *, size_t, off_t);

extern ssize_t read(int, void *, unsigned);


extern int readlink(const char *, void *, int);



extern int rename(const char *, const char *);

extern int rmdir(const char *);


extern void *sbrk(int);

extern int setgid(gid_t);


extern int setegid(gid_t);



extern int setgroups(int, const gid_t *);

extern int setpgid(pid_t, pid_t);


extern pid_t setpgrp(void);

extern pid_t setsid(void);
extern int setuid(uid_t);


extern int seteuid(uid_t);

extern unsigned sleep(unsigned);


extern int stime(const time_t *);







extern int symlink(const char *, const char *);
extern void sync(void);

extern long sysconf(int);
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);


extern int truncate(const char *, off_t);

extern char *ttyname(int);
extern int unlink(const char *);


extern pid_t vfork(void);
extern void vhangup(void);

extern ssize_t write(int, const void *, unsigned);


extern void yield(void);


# 448 "/usr/include/unistd.h" 3 4


 







#pragma unknown_control_flow(vfork)




 


# 540 "/usr/include/unistd.h" 3 4



}



# 104 "/usr/local/include/local/mfile.h" 2 3







 


































 














 








 









typedef struct minfo {
  int		filetype;		 
  u_int		levels;
  u_int		lines;
  u_int 	columns;
  u_int		version;
  u_int		status;
  char		*name;
  char		*comment;
} minfo;

typedef struct accessmethod *amp;

typedef struct matfile {
  amp		ap;
  char		*name;
  char		*comment;
  int		mode;
  u_int		version;
  u_int		status;
  int		filetype;
  u_int		levels;
  u_int		lines;
  u_int		columns;
  int		(*mflushf)();
  int		(*muninitf)();
  int		(*mgeti4f)();
  int		(*mgetf4f)();
  int		(*mgetf8f)();
  int		(*mputi4f)();
  int		(*mputf4f)();
  int		(*mputf8f)();
  union {
    void	*p;
    int		i;
  } specinfo;
} MFILE;









MFILE *mopen  (char *name, char *mode)  ;
int mclose  (MFILE *mat)  ;
int mflush  (MFILE *mat)  ;

int mgetinfo  (MFILE *mat, minfo *info)  ;
int msetinfo  (MFILE *mat, minfo *info)  ;

 
 
 
 
int msetfmt  (MFILE *mat, char *format)  ;
char* mgetfmt  (MFILE *mat, char *format)  ;

 
int mgetint  (MFILE* mat, int buf[], int lev, int lin, int col, int num)  ;
int mputint  (MFILE* mat, int buf[], int lev, int lin, int col, int num)  ;

int mgetflt  (MFILE* mat, float buf[], int lev, int lin, int col, int num)  ;
int mputflt  (MFILE* mat, float buf[], int lev, int lin, int col, int num)  ;

int mgetdbl  (MFILE* mat, double buf[], int lev, int lin, int col, int num)  ;
int mputdbl  (MFILE* mat, double buf[], int lev, int lin, int col, int num)  ;




int load_spec  (const char *name, unsigned long *buf, int num)  ;
int save_spec  (const char *name, unsigned long *buf, int num)  ;

# 276 "/usr/local/include/local/mfile.h" 3





# 37 "x_two.h" 2


# 1 "/usr/local/include/local/sysdep/config.h" 1 3
 









































 











































 



# 115 "/usr/local/include/local/sysdep/config.h" 3


 



# 141 "/usr/local/include/local/sysdep/config.h" 3



 







 

 













# 185 "/usr/local/include/local/sysdep/config.h" 3



 


# 209 "/usr/local/include/local/sysdep/config.h" 3



 



# 233 "/usr/local/include/local/sysdep/config.h" 3


 



# 259 "/usr/local/include/local/sysdep/config.h" 3



 









 













# 302 "/usr/local/include/local/sysdep/config.h" 3


 



 

















 










 



# 39 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/types.h" 1 3
 


























# 38 "/usr/local/include/local/sysdep/types.h" 3


 




typedef  unsigned char         UINT8;




typedef  unsigned short        UINT16;







typedef  unsigned long         UINT32;





typedef  signed char           INT8;




typedef  signed short          INT16;







typedef  signed long           INT32;





typedef  int                   FLAG;



 













 


# 40 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/print.h" 1 3
 
































 



typedef struct {

  int    (*vprintf_msg)(const char*,va_list);   
  int    (*vprintf_err)(const char*,va_list);   
  int    (*puts_msg)(const char*);              
  int    (*puts_err)(const char*);              
  int    (*flush_msg)(void);                    
  int    (*flush_err)(void);                    








} PRINT_ROUTINES;


 




   


  extern  int    print_string(int,const char*);
  extern  int    print_formatted(int,const char*,...);
  extern  int    vprint_formatted(int,const char*,va_list);
  extern  int    flush_output(int);
  extern  int    set_print_routines(void(*)(PRINT_ROUTINES*));
  extern  void   standard_print_routines(PRINT_ROUTINES*);

# 83 "/usr/local/include/local/sysdep/print.h" 3


 













 


# 41 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/bits.h" 1 3
 



































 




   


  extern  unsigned count_bits(UINT32);                 
  extern  int      lowest_bit(unsigned);                  
  extern  int      highest_bit(unsigned);                
  extern  int      *ini_lowest_bit_table(int);       
  extern  int      *ini_highest_bit_table(int);      

# 61 "/usr/local/include/local/sysdep/bits.h" 3


 













 


# 42 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/file.h" 1 3
 































 




   


  extern  int            create_empty_file(char*,int,int);
  extern  void           prepend_to_filename(char*,char*,char*);
  extern  char           *base_filename(char*);
  extern  void           build_filename(char*,...);
  extern  void           vbuild_filename(char*,va_list);
  extern  char           *vget_filename(va_list);
  extern  int            max_open_files(void);
  extern  int            adjust_file_offset(int);




# 69 "/usr/local/include/local/sysdep/file.h" 3


 










  extern char          null_device[];




 





 











 










  
 



	



# 43 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/date.h" 1 3
 

































 




   


  extern  const char   *date_time();
  extern  int          is_leapyear(int);
  extern  const char   *date_to_string(int,int);
  extern  int          days_of_month(int,int);

# 57 "/usr/local/include/local/sysdep/date.h" 3



 










 


# 44 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/error.h" 1 3
 
































 



typedef struct __error {
  int              mode;
  time_t           time;
  const char       *modul;     
  const char       *message;
  struct __error   *next_error;
} ERROR;


 




   


  extern  void            add_error(int,const char*,const char*,...);
  extern  void            vadd_error(int,const char*,const char*,va_list);
  extern  int             error_level(void);
  extern  int             error_attributes(int);
  extern  ERROR           *get_error(int);
  extern  void            print_error(int);
  extern  void            free_error(int);

# 75 "/usr/local/include/local/sysdep/error.h" 3



 






 










 






 






 









  
 



	

# 45 "x_two.h" 2

# 1 "/usr/local/include/local/sysdep/vmemem.h" 1 3
 























 



 




extern  int  initialize_vme(void);
extern  int  vme_memset(void *s, int c, size_t n);
extern  int  vme_memcpy(void *dest, const void *src, size_t n, int direction);
extern  int  vme_meminc(void *s);
extern  int  vme_memdec(void *s);
extern  int  vme_memsize(void);
extern  int  set_presort_length(int l);
extern  void presort_flush_inc_buffer(void);
extern  void presort_flush_dec_buffer(void);

# 56 "/usr/local/include/local/sysdep/vmemem.h" 3



# 46 "x_two.h" 2


# 1 "/usr/local/include/local/fera/fera.h" 1 3
 



















































































# 1 "/usr/local/include/local/fera/resource.h" 1 3
 



































 





typedef struct { 
  UINT16          data[16 ];
  UINT16          pattern;
  int             count;
  UINT16          special_bits;   
} FERA_MODUL_DATA;


 




   


  typedef struct {
    int             (*open)(const char*,int);	 
    int             (*read)(UINT16**);	         
    int             (*close)(int);	         
  } FERA_INPUT;

# 75 "/usr/local/include/local/fera/resource.h" 3



typedef void                (*FERA_INPUT_FUNCTION)(FERA_INPUT*);





typedef int                 (*FERA_EOF_FUNCTION)(int);




typedef struct { 
  UINT16                data_word;
  int                   max_errors;
  int                   buffersize;
  FERA_INPUT            func;
  FERA_EOF_FUNCTION     eof_f;
  UINT16                *buf;
  UINT16                *buf_end;
} RESOURCE;

 








 



















 











 






 





 






 




   


  extern  int                initialize_resource(const char*,int,int);
  extern  int                set_resource(int,...);
  extern  int                reset_resource(void);
  extern  int                __get_data_block(void);

# 182 "/usr/local/include/local/fera/resource.h" 3



 



# 211 "/usr/local/include/local/fera/resource.h" 3





extern double               __random;

extern RESOURCE             __resource;



 












 


# 85 "/usr/local/include/local/fera/fera.h" 2 3



# 1 "/usr/local/include/local/fera/statistic.h" 1 3
 




































 








typedef volatile struct {
  char                  id[64 ];
  unsigned long         count;
} USER_EVENT;

 



typedef volatile struct { 
  int                   status;
  unsigned long         words_read;
  time_t                last_time;
  double                last_cpu_time;
  unsigned              errors;
  unsigned long         correct;
  unsigned long         bad_sync;
  unsigned long         bad_pattern;
  unsigned long         bad_data;
  unsigned long         bad_vector;
  USER_EVENT            user_event[5 ];
} FERA_STATISTIC;

 




   


  extern  int              initialize_fera_statistic(int);
  extern  USER_EVENT       *define_user_event(char*);
  extern  void             print_fera_statistic(int);
  extern  void             clear_fera_statistic();
  extern  void             reset_fera_statistic();
  extern  int              get_error_count();

# 96 "/usr/local/include/local/fera/statistic.h" 3


 






extern FERA_STATISTIC     *__fera_statistic;          


 






 











 

 






 


# 88 "/usr/local/include/local/fera/fera.h" 2 3











 



extern  const char         *fera_error;

 




   


  extern  int              initialize_fera(char*,int,int,...);
  extern  int              load_fera_modul(int,int,FERA_MODUL_DATA*);
  extern  int              read_header(void);
  extern  int              read_fera_event(void);
  extern  int              reset_fera(void);
  extern  int              set_fera_resource(int,...);

# 131 "/usr/local/include/local/fera/fera.h" 3


 


































 








 






 







 






 











# 220 "/usr/local/include/local/fera/fera.h" 3







    




 


# 48 "x_two.h" 2

# 1 "/usr/local/include/local/fera/fstdinp.h" 1 3
 




































 




   


  extern  void         fera_std_input(FERA_INPUT*);















 


# 49 "x_two.h" 2

# 1 "/usr/local/include/local/fera/fbufinp.h" 1 3
 




































 





typedef volatile struct {
  int               status;
  int               no_words;
  union {
    UINT16            listmode[(65536) /sizeof(UINT16)];    
    struct {
      int               flag;
      char              string[(65536) /sizeof(char)-sizeof(int)];
    }                 error;
    int               close_cmd;
  }                 buffer;
} SINGLE_BUFFER;


typedef volatile struct {
  struct {
    pid_t            pid;
    int              status;
  }                read, write;
  SINGLE_BUFFER    buffer[3 ];
} MULTI_BUFFER;

 











 





 





 











 




   


  extern  void            fera_buffered_input(FERA_INPUT*);
  extern  SINGLE_BUFFER   *next_single_buffer(MULTI_BUFFER*,SINGLE_BUFFER*);
















 


# 50 "x_two.h" 2

# 1 "/usr/local/include/local/fera/spec.h" 1 3
 







































 



typedef struct __spectrum { 
  INT32              *channel;
  int                no_channels;
  int                flags;
  char               *file_name;
  struct __spectrum  *next_spectrum; 
} SPECTRUM;

 




   


extern  SPECTRUM  *define_spectrum(int,...);
extern  int       define_array_of_spectrum(int,SPECTRUM**,...);
extern  void      clear_all_spectra();
extern  int       read_spectrum(SPECTRUM*);
extern  int       read_all_spectra();
extern  int       read_little_endian_longs(const char*,INT32*,int);
extern  int       write_spectrum(SPECTRUM*);
extern  int       write_all_spectra();
extern  int       write_little_endian_longs(const char*,const INT32*,int);
extern  void      revoke_spectrum(SPECTRUM*);
extern  void      revoke_all_spectra();
extern  void      spectra_name_replacement(int*);
extern  void      set_spectra_read_write
       (int(*)(const char*,unsigned long*,int),int(*)(const char*,unsigned long*,int));







# 106 "/usr/local/include/local/fera/spec.h" 3


 













 































 




# 51 "x_two.h" 2

# 1 "/usr/local/include/local/fera/u4bit.h" 1 3
 





























 



typedef   UINT8    U4BIT_BASE;

 




   


  extern  size_t    u4bit_size(int);
  extern  unsigned  get_u4bit(U4BIT_BASE*,int);
  extern  void      set_u4bit(U4BIT_BASE*,int,int);
  extern  void      use_u4bit(U4BIT_BASE*,int);
  extern  int       next_nonzero_u4bit(int);
  extern  int       inc_u4bit(U4BIT_BASE*,int);
  extern  void      fill_u4bit(U4BIT_BASE*,int,int,int);

# 65 "/usr/local/include/local/fera/u4bit.h" 3







 


# 52 "x_two.h" 2

# 1 "/usr/local/include/local/fera/u6bit.h" 1 3
 


























 



typedef   UINT8    U6BIT_BASE[3];


 




   


  extern  size_t    u6bit_size(int);
  extern  unsigned  get_u6bit(U6BIT_BASE*,int);
  extern  void      set_u6bit(U6BIT_BASE*,int,int);
  extern  void      use_u6bit(U6BIT_BASE*,int);
  extern  int       next_nonzero_u6bit(int);
  extern  int       inc_u6bit(U6BIT_BASE*,int);

# 61 "/usr/local/include/local/fera/u6bit.h" 3












 


# 53 "x_two.h" 2

# 1 "/usr/local/include/local/fera/u8bit.h" 1 3
 


























 



typedef   UINT8    U8BIT_BASE;


 




   


  extern  size_t    u8bit_size(int);
  extern  unsigned  get_u8bit(U8BIT_BASE*,int);
  extern  void      set_u8bit(U8BIT_BASE*,int,int);
  extern  void      use_u8bit(U8BIT_BASE*,int);
  extern  int       next_nonzero_u8bit(int);
  extern  int       inc_u8bit(U8BIT_BASE*,int);

# 61 "/usr/local/include/local/fera/u8bit.h" 3












 


# 54 "x_two.h" 2

# 1 "/usr/local/include/local/fera/matfmt.h" 1 3
 
































 



typedef struct {
  int      type;
  int      x_size;
  int      y_size;
  int      size;
  int      y_shift;
  UINT32   overflow_increment;
  int      memory_size;           
  int      memory_element_bits;
  int      disk_size;             
  int      disk_element_bits;
} MATRIX_FORMAT;


 




   


  extern  int    sscan_matfmt(char*,MATRIX_FORMAT*,char**);
  extern  void   sprint_matfmt(char*,MATRIX_FORMAT*,char*);
  extern  int    set_matfmt(MATRIX_FORMAT*,int,int,int);

# 72 "/usr/local/include/local/fera/matfmt.h" 3


 













 


# 55 "x_two.h" 2

# 1 "/usr/local/include/local/fera/matrix.h" 1 3
 











































































 

 



 



typedef volatile struct {
  unsigned long           total;
  unsigned long           overflow;
  unsigned long           overflow_in;
  unsigned long           overflow_out;
} MATRIX_COUNTS; 

typedef volatile struct {
  int                     type;
  char                    id[64 ];
  int                     x_size;
  int                     y_size;
  int                     memory_size;
  int                     overflow_table_size;
  int                     status;
  MATRIX_COUNTS           counts;
} MATRIX_STATISTIC;

typedef struct __matrix { 
  int                     number;
  MATRIX_FORMAT           fmt;
  char                    *name;              
  char                    *file;
  int                     file_descriptor;
  union {
    U4BIT_BASE              *u4bit;
    U6BIT_BASE              *u6bit;
    U8BIT_BASE              *u8bit;
  }                       data;

  int                     (*inc_func)(__matrix*, int, int);



  MATRIX_STATISTIC        *statistic;
  struct __matrix         *next_matrix;     
} MATRIX;


 




   


  extern  MATRIX *create_matrix(int,int,int,...);
  extern  int    create_array_of_matrix(int,int,int,MATRIX**,...);
  extern  int    debug_matrices(void);
  extern  int    initialize_matrices(int);
  extern  void   print_matrix_inc_error(MATRIX*,int,int);
  extern  int    finish_matrices(void);
  extern  void   abort_matrices(void);
  extern  void   print_matrix_statistic(int);

# 156 "/usr/local/include/local/fera/matrix.h" 3



 






 

















 







 












 










 











 


# 56 "x_two.h" 2

# 1 "/usr/local/include/local/fera/recal.h" 1 3
 






























# 1 "/usr/local/include/local/fera/reference.h" 1 3
 



































 



typedef struct {
  UINT16          *data;
  UINT16          *pattern;
  UINT16          pattern_mask;
  int             *count;
} FERA_DATA_REFERENCE;

 




   


  extern  int              set_fera_data_reference
                            (FERA_DATA_REFERENCE*,FERA_MODUL_DATA*,int);









 



 










 


# 32 "/usr/local/include/local/fera/recal.h" 2 3











 



typedef float RECAL_TABLE_ELEMENT;

typedef struct __operation {
  int                         operation;         
  char                        *file_name;        
  struct __operation          *next_table_operation;
} RECAL_TABLE_OPERATION;

typedef struct __recal_special_correction {

  int                         (*ini)(struct __recal_special_correction*);
  void                        (*reset)(struct __recal_special_correction*);
  double                      (*recal)(void*,double);
  void                        *data;






} RECAL_SPECIAL_CORRECTION;

typedef struct __recal_add_polynom { 
  char                        *file_name;   
  float                       *coeff;       
  int                         degree;
  struct __recal_add_polynom  *next_add_polynom;
} RECAL_ADD_POLYNOM;

typedef struct __recal {
  int                         mode;   
  FERA_DATA_REFERENCE         fera;
  RECAL_TABLE_OPERATION       *first_table_operation;
  RECAL_TABLE_ELEMENT         *table;
  unsigned                    table_size;
  RECAL_SPECIAL_CORRECTION    special;
  RECAL_ADD_POLYNOM           *first_add_polynom;
  int                         check_min;
  int                         check_max;

  int                         (*raw_data_function)(struct __recal*,UINT16*);



  double                      recal_data;
  struct __recal              *next_recal;
} RECAL;



 




   


  extern  RECAL  *define_recal(int,int,...);
  extern  int    define_array_of_recal
                  (int,int,RECAL**,...);
  extern  int    define_1dim_array_of_recal
                  (int,int,RECAL**,...);
  extern  int    define_simple_array_of_recal
                  (int,int,RECAL**,FERA_MODUL_DATA*,int,int);
  extern  int    assign_to_recal(int,RECAL*,...);
  extern  int    assign_to_array_of_recal(int,RECAL**,...);
  extern  int    build_recal_table(RECAL*);
  extern  int    build_all_recal_tables(int);
  extern  int    recalibrate_data(RECAL*);
  extern  int    recalibrate_all_data(void);
  extern  void   remove_from_recal(RECAL*);
  extern  void   remove_from_array_of_recal(RECAL**,int,...);
  extern  void   revoke_recal(RECAL*);
  extern  int    revoke_all_recals(int);
  extern  void   recal_name_replacement(int*);

# 144 "/usr/local/include/local/fera/recal.h" 3


 



















 









  
 


# 57 "x_two.h" 2

# 1 "/usr/local/include/local/fera/gate_matrix.h" 1 3
 











































 



typedef struct {
  int                        x;
  int                        y;
} GATE_MATRIX_POLYGON_POINT;    

typedef struct __gate_matrix_polygon {
  int                           index;
  int                           no_points;
  GATE_MATRIX_POLYGON_POINT     *points;
  struct __gate_matrix_polygon  *next_polygon;
} GATE_MATRIX_POLYGON;

typedef struct __gate_matrix {
  char                          *file_name;
  GATE_MATRIX_POLYGON           *first_polygon;
  int                           x_size;
  int                           y_size;
  int                           y_shift;
  U4BIT_BASE                    *data_base;
  int                           background_index;
  struct __gate_matrix          *next_gate_matrix;
} GATE_MATRIX;


 

 


   

 
  extern  GATE_MATRIX  *define_gate_matrix(int,int,...);
  extern  int          define_array_of_gate_matrix(int,int,GATE_MATRIX**,...);
  extern  int          set_gate_matrix_background(GATE_MATRIX*,int);
  extern  int          add_gate_matrix_polygon
                        (GATE_MATRIX*,int,int,GATE_MATRIX_POLYGON_POINT*);
  extern  int          fill_gate_matrix(GATE_MATRIX*);
  extern  int          fill_all_gate_matrices(void);
  extern  int          delete_gate_matrix_polygon(GATE_MATRIX*,int);
  extern  void         delete_all_gate_matrix_polygons(GATE_MATRIX*);
  extern  int          read_gate_matrix_file(GATE_MATRIX*);
  extern  int          read_all_gate_matrix_files(void);
  extern  int          write_gate_matrix_file(GATE_MATRIX*);
  extern  int          write_all_gate_matrix_files(void);
  extern  int          gate_matrix_index(GATE_MATRIX*,int,int);
  extern  void         set_gate_matrix_index(GATE_MATRIX*,int,int,int);
  extern  void         revoke_gate_matrix(GATE_MATRIX*);
  extern  void         revoke_all_gate_matrices(void);
  extern  void         gate_matrix_name_replacement(int*);

# 122 "/usr/local/include/local/fera/gate_matrix.h" 3


 











 


# 58 "x_two.h" 2

# 1 "/usr/local/include/local/fera/multi_file.h" 1 3
 



































 





 



typedef struct {
  int                   max;
  int                   actual;
} MULTI_FILE_PARAMETER;

typedef struct {
  char                  *generic_file_name;
  MULTI_FILE_PARAMETER  *parameter;
  int                   file_count;
  char                  file_name_buffer[2][512 ];
} MULTI_FILE;

 




   


  extern  MULTI_FILE  *define_multi_file(va_list);
  extern  const char  *next_multi_file(MULTI_FILE*);
  extern  void        revoke_multi_file(MULTI_FILE*);

# 79 "/usr/local/include/local/fera/multi_file.h" 3







 


# 59 "x_two.h" 2

# 1 "/usr/local/include/local/fera/window.h" 1 3
 











































 



typedef struct __window {
  int                   mode;
  FERA_DATA_REFERENCE   fera;
  UINT16                min;
  UINT16                max;
  struct __window       *next_window;
} WINDOW;

typedef struct __window_file {
  char                  *file_name;
  WINDOW                **array_of_windows;
  int                   no_windows;
  struct __window_file  *next_window_file;
} WINDOW_FILE;

 

 


   


  extern  void         window_name_replacement(int*);
  extern  WINDOW       *define_window(int,FERA_MODUL_DATA *,int);
  extern  int          define_1dim_array_of_windows(WINDOW**,int,int,FERA_MODUL_DATA**,int*);
  extern  int          define_simple_array_of_windows
                        (WINDOW**,int,FERA_MODUL_DATA*,int,int);
  extern  WINDOW_FILE  *define_window_file(WINDOW**,int,...);
  extern  int          set_window(WINDOW*,int,int);
  extern  int          read_window_file(WINDOW_FILE*);
  extern  int          read_all_window_files(void);
  extern  int          write_window_file(WINDOW_FILE*);
  extern  int          write_all_window_files(void);
  extern  int          check_window(WINDOW*);
  extern  int          check_all_auto_windows(void);
  extern  void         revoke_window_file(WINDOW_FILE*);
  extern  void         revoke_all_window_files(void);
  extern  int          revoke_window(WINDOW*);
  extern  int          revoke_all_windows(void);
  extern  void         revoke_all_windows_and_files(void);

# 113 "/usr/local/include/local/fera/window.h" 3


 







 














 


# 60 "x_two.h" 2

# 1 "/usr/local/include/local/fera/toolbox.h" 1 3
 
































 

















 


























 







# 102 "/usr/local/include/local/fera/toolbox.h" 3




# 118 "/usr/local/include/local/fera/toolbox.h" 3





 


# 61 "x_two.h" 2

# 1 "/usr/local/include/local/fera/poly.h" 1 3
 






























 




   


  extern  double   horner(double*,int,double);
  extern  double   fhorner(float*,int,double);
  extern  int      read_polynom(int,void*,int,const char*,...);
  extern  int      vread_polynom(int,void*,int,const char*,va_list);
  extern  int      fread_polynom(int,void*,int,FILE*);

# 56 "/usr/local/include/local/fera/poly.h" 3


 













 


# 62 "x_two.h" 2









	   }


extern int skip_files;


# 42 "x_two.cc" 2

# 1 "end_of_file.h" 1
 





























extern "C" {











# 1 "/usr/local/include/local/fera/workshop.h" 1 3
 





























 






 











# 62 "/usr/local/include/local/fera/workshop.h" 3







# 82 "/usr/local/include/local/fera/workshop.h" 3


# 95 "/usr/local/include/local/fera/workshop.h" 3






































 


# 43 "end_of_file.h" 2



	   }


extern int run_no;
extern int end_run_no;
extern int run_no_list[1000];
extern int max_list_element;
extern int list_no;
extern char input[255];
extern int skip_files;

extern int read_run_list(char*);

extern int end_of_run_function(int);

extern int list_eof_function(int);

extern int linear_eof_function(int);


# 43 "x_two.cc" 2



 












 



















































 


















int evt_count   = 0;
int bad_pattern = 0;
int bad_sync    = 0;
int bad_data    = 0;
int correct     = 0;

char *expname = "96Ru";

 



SPECTRUM *prge[10 ];
SPECTRUM *prge_pup[10 ];
SPECTRUM *prge_a[10 ];
SPECTRUM *prge_a_pup[10 ];
SPECTRUM *tdc_stat,*adc_stat;
SPECTRUM *tdc[10  ];
SPECTRUM *t[(10   * (10   -1)) / 2];

MATRIX *mat[4];  
MATRIX *cormat[4];  
MATRIX *cormat_del[4];  

USER_EVENT *mixed;
USER_EVENT *matcount;
USER_EVENT *nicht_correl;
USER_EVENT *high_en;
USER_EVENT *bigtime;

RECAL *adc_rec[10  ];
RECAL *tdc_rec[10  ];

FERA_MODUL_DATA   tdcm;
FERA_MODUL_DATA   nfi[10  ];

WINDOW *ggt_win[3];


int
main(int argc, char** argv)

{
  int status;
  int (*eof_function)(int);






  int   ini_fera_flag =  
    (001000)  | (000004) | (000010) ;


  printf("Starting x_two, Version: %s\n", rcsid);


  if (argc < 3) {
    fprintf ((&__iob[2]) , "usage: %s inputfile [start_run_no end_run_no]\n", 
	     argv[0]);
    fprintf ((&__iob[2]) , "                        [-run_list_file]\n");
    fprintf ((&__iob[2]) , "\trun_list_file needs \"eof\" at the end!\n");
    exit (-1);
  }
  if (argc <4) {
    strcpy (input, argv[1]);

    if (argv[2][0] != '-') {
    fprintf ((&__iob[2]) , "usage: %s inputfile [start_run_no end_run_no]\n", 
	     argv[0]);
    fprintf ((&__iob[2]) , "                        [-run_list_file]\n");
    fprintf ((&__iob[2]) , "\trun_list_file needs \"eof\" at the end!\n");
    exit (-1);
    }
    else {
      read_run_list (argv[2]);
      eof_function = list_eof_function;
    }
  }
  else {
    eof_function = linear_eof_function;
    sscanf (argv[2], "%d", &run_no);
    sscanf (argv[3], "%d", &end_run_no);
  }





  

# 236 "x_two.cc"

  if (set_resource ((3) , 10) ||
      set_resource((2) , 16384)          ||

      set_resource ((1) , fera_buffered_input) ||

      set_resource ((4) , *eof_function)) {
    print_error ((1) );
    revoke_all_spectra ();
  }





  if (initialize_fera (argv[1], ini_fera_flag, 10  + 1  )      ||

      load_fera_modul(101 , 0, &tdcm )               ||
      load_fera_modul(401 , 4|(1<<15), &nfi[0])        ||
      load_fera_modul(401 , 5|(1<<15), &nfi[1])        ||
      load_fera_modul(401 , 6|(1<<15), &nfi[2])        ||
      load_fera_modul(401 , 7|(1<<15), &nfi[3])        ||
      load_fera_modul(401 , 8|(1<<15), &nfi[4])        ||
      load_fera_modul(401 , 9|(1<<15), &nfi[5])        ||
      load_fera_modul(401 ,10|(1<<15), &nfi[6])        ||
      load_fera_modul(401 ,11|(1<<15), &nfi[7])        ||
      load_fera_modul(401 ,12|(1<<15), &nfi[8])        ||
      load_fera_modul(401 ,13|(1<<15), &nfi[9])        ||
      (mixed = define_user_event ("Anreg+Zerf")) == 0            ||
      (matcount = define_user_event ("Mat_Count")) == 0          ||
      (high_en = define_user_event ("High_Energie")) == 0        ||
      (nicht_correl = define_user_event ("Nicht_Correl")) == 0   ||
      (bigtime = define_user_event ("tdcmzugross")) == 0         ||
      0){
    perror(expname);
    print_error((1) );
    reset_fera();
    exit(-1);
  }

       

 

  {
    if
      (
       (0  == (mat[0] = create_matrix (000001  | 000010  | 000000 , 8192  ,
					 8192  , "96ru.mtx" ))) 
       ||
       (0  == (mat[1] = create_matrix (000001  | 000020  | 001000 , 8192  ,
					 8192  , "96ru_dly.mtx" )))  

       ||
       (0  == (mat[2] = create_matrix (000001  | 000000  | 000000 , 8192  , 
					 8192  , "96ru_a.mtx" ))) 
       ||
       (0  == (mat[3] = create_matrix (000001  | 000010  | 001000 , 8192  , 
					 8192  , "96ru_a_dly.mtx" )))

# 321 "x_two.cc"

       ) {
      print_error ((1) );
      return (-6);
    }
    if (initialize_matrices (000001 )) {
      print_error ((1) );
      return (-8);
    }
    printf ("96Ru: now initializing matrix\n");
    fflush ((&__iob[1]) );
  }


       
        


      



  spectra_name_replacement( &run_no );





  recal_name_replacement (&run_no);


  if (
      define_array_of_spectrum(16384 | 0 , prge, 1, 10 , 
			       "prge$d" ".####" , 
			       expname) ||
      define_array_of_spectrum(16384 | 0 , prge_pup, 1, 10 , 
			       "prge_pup$d" ".####" , 
			       expname) ||
      define_array_of_spectrum(16384 | 0 , prge_a, 1, 10 , 
			       "prge_a$d" ".####" , 
			       expname) ||
      define_array_of_spectrum(16384 | 0 , prge_a_pup, 1, 10 , 
			       "prge_a_pup$d" ".####" , 
			       expname) ||
      define_array_of_spectrum(2048 | 0 , tdc, 1, 10  ,
			       "tdc$d" ".####" , 
			       expname) ||
      define_array_of_spectrum(4096 | 0 , t, 1, 
			       (10   * (10   - 1)) / 2, 
			       "t$d" ".####" , 
			       expname) ||
      (0 ==(tdc_stat=define_spectrum(1024 | 0 , "tdc_stat" ".####" )))||
      (0 ==(adc_stat=define_spectrum(1024 | 0 , "adc_stat" ".####" )))||
      0){
    perror(expname);
    print_error((1) );
    revoke_all_spectra();
    reset_fera();
    exit(-1);
  }

  printf("Now starting analysis...\n\07"); 
  fflush((&__iob[1]) );
  clear_all_spectra();
  printf("All spectra cleared!\n\07"); 
  fflush((&__iob[1]) );






  print_string ((1) , "info: define recals\n");
  flush_output ((1) );
  flush_output ((2) );
  if (
      ((adc_rec[0] = define_recal ((2) , 16384 , &nfi[0], 0)) == 0 ) ||
      ((adc_rec[1] = define_recal ((2) , 16384 , &nfi[1], 0)) == 0 ) ||
      ((adc_rec[2] = define_recal ((2) , 16384 , &nfi[2], 0)) == 0 ) ||
      ((adc_rec[3] = define_recal ((2) , 16384 , &nfi[3], 0)) == 0 ) ||
      ((adc_rec[4] = define_recal ((2) , 16384 , &nfi[4], 0)) == 0 ) ||
      ((adc_rec[5] = define_recal ((2) , 16384 , &nfi[5], 0)) == 0 ) ||
      ((adc_rec[6] = define_recal ((2) , 16384 , &nfi[6], 0)) == 0 ) ||
      ((adc_rec[7] = define_recal ((2) , 16384 , &nfi[7], 0)) == 0 ) ||
      ((adc_rec[9] = define_recal ((2) , 16384 , &nfi[9], 0)) == 0 ) ||

      assign_to_recal ((1) , adc_rec[0], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge0.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[1], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge1.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[2], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge2.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[3], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge3.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[4], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge4.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[5], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge5.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[6], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge6.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[7], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge7.####_shd" ) ||
      assign_to_recal ((1) , adc_rec[9], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/ge9.####_shd" ) ||

      assign_to_recal ((2) , adc_rec[0], "/beta/hklein/96ru_beta/" "Eichung/ge0.cal" ) ||
      assign_to_recal ((2) , adc_rec[1], "/beta/hklein/96ru_beta/" "Eichung/ge1.cal" ) ||
      assign_to_recal ((2) , adc_rec[2], "/beta/hklein/96ru_beta/" "Eichung/ge2.cal" ) ||
      assign_to_recal ((2) , adc_rec[3], "/beta/hklein/96ru_beta/" "Eichung/ge3.cal" ) ||
      assign_to_recal ((2) , adc_rec[4], "/beta/hklein/96ru_beta/" "Eichung/ge4.cal" ) ||
      assign_to_recal ((2) , adc_rec[5], "/beta/hklein/96ru_beta/" "Eichung/ge5.cal" ) ||
      assign_to_recal ((2) , adc_rec[6], "/beta/hklein/96ru_beta/" "Eichung/ge6.cal" ) ||
      assign_to_recal ((2) , adc_rec[7], "/beta/hklein/96ru_beta/" "Eichung/ge7.cal" ) ||
      assign_to_recal ((2) , adc_rec[9], "/beta/hklein/96ru_beta/" "Eichung/ge9.cal" ) ||

      assign_to_recal ((2) , adc_rec[0], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[1], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[2], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[3], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[4], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[5], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[6], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[7], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||
      assign_to_recal ((2) , adc_rec[9], "/beta/hklein/96ru_beta/" "Eichung/eich.all" ) ||

      ((tdc_rec[0] = define_recal ((2) , 2048, &tdcm, 0)) == 0 ) ||
      ((tdc_rec[1] = define_recal ((2) , 2048, &tdcm, 1)) == 0 ) ||
      ((tdc_rec[2] = define_recal ((2) , 2048, &tdcm, 2)) == 0 ) ||
      ((tdc_rec[3] = define_recal ((2) , 2048, &tdcm, 3)) == 0 ) ||
      ((tdc_rec[4] = define_recal ((2) , 2048, &tdcm, 4)) == 0 ) ||
      ((tdc_rec[5] = define_recal ((2) , 2048, &tdcm, 5)) == 0 ) ||
      ((tdc_rec[6] = define_recal ((2) , 2048, &tdcm, 6)) == 0 ) ||
      ((tdc_rec[7] = define_recal ((2) , 2048, &tdcm, 7)) == 0 ) ||
      ((tdc_rec[9] = define_recal ((2) , 2048, &tdcm, 9)) == 0 ) ||

      assign_to_recal ((2) , tdc_rec[0], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc0.recal" ) ||
      assign_to_recal ((2) , tdc_rec[1], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc1.recal" ) ||
      assign_to_recal ((2) , tdc_rec[2], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc2.recal" ) ||
      assign_to_recal ((2) , tdc_rec[3], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc3.recal" ) ||
      assign_to_recal ((2) , tdc_rec[4], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc4.recal" ) ||
      assign_to_recal ((2) , tdc_rec[5], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc5.recal" ) ||
      assign_to_recal ((2) , tdc_rec[6], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc6.recal" ) ||
      assign_to_recal ((2) , tdc_rec[7], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc7.recal" ) ||
      assign_to_recal ((2) , tdc_rec[9], "/beta/hklein/96ru_beta/" "Shift/Shiftfiles/tdc9.recal" ) ||









      (read_all_window_files ()) 
      ) {
    perror ("96ru-recal-error");
    print_error ((1) );
    printf ("Failed to define recalibrations!\n\07");
    fflush ((&__iob[1]) );
    revoke_all_spectra ();
    exit (-1);
  }
  if (build_all_recal_tables ((0) )) {
    print_error ((1) );
    reset_fera ();
    revoke_all_recals ((0) );
    exit (-1);
  }


   


  while ( (status=read_fera_event()) != (-2)  ) {
    if (skip_files > 0) {
     
      continue;
    }

    evt_count++;
    if ( status == (1)  ) bad_sync++;
    if ( status == (2)  ) bad_pattern++;
    if ( status == (3)  ) bad_data++;
    if ( status == (0)  ) correct++;

    if(evt_count>=10000){

# 513 "x_two.cc"


      bad_sync    = 0;
      correct     = 0;
      bad_pattern = 0;
      bad_data    = 0;
      evt_count   = 0;
    }

    if ( status == (0)  ) {
      int ge_pattern = 0;
      int tdc_pattern;
      int adc_mult=0;
      int tdc_mult=tdcm.count;
      
      unsigned int  routebits[10  ];

      tdc_pattern=tdcm.pattern;

      {
	int i;
	 






	for ( i=0; i< 10  ; i++) {
	  unsigned int data = nfi[i].data[0];

# 552 "x_two.cc"

	  routebits[i] = data & 0140000 ;





	  nfi[i].data[0] = data & 037777 ;
	}
      }


      recalibrate_all_data ();


      {  
	int pattern;
	int i;
	for (i=0,pattern=1;i< 10  ;i++,pattern<<=1){
	  if (tdc_pattern & pattern) {
	    if (tdc_mult==1)
	      ((( tdc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( tdc_stat )->channel + ( i+32 )) : ++( tdc_stat )->channel[( i+32 )]) ;
	    else if (tdc_mult>=2)
	      ((( tdc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( tdc_stat )->channel + ( i+48 )) : ++( tdc_stat )->channel[( i+48 )]) ;
	  }
	  if (tdc_pattern & ge_pattern & pattern ){
	    ((( tdc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( tdc_stat )->channel + ( i+16 )) : ++( tdc_stat )->channel[( i+16 )]) ;
	    ((( adc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( adc_stat )->channel + ( i+16 )) : ++( adc_stat )->channel[( i+16 )]) ;
	  }
	}
      }
      {  
	int i;
	int pattern;
	for (i=0, pattern=1;i< 10  ;i++,pattern<<=1){
	  if (ge_pattern & pattern) {
	    if (adc_mult==1)
	      ((( adc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( adc_stat )->channel + ( i+32 )) : ++( adc_stat )->channel[( i+32 )]) ;
	    else if (adc_mult>=2)
	      ((( adc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( adc_stat )->channel + ( i+48 )) : ++( adc_stat )->channel[( i+48 )]) ;
	  }
	}
      }


       


      {
	int i;
	for (i = 0; i < 10  ; i++) {
	  if ((( tdcm ).pattern&(1<<( i ))) ) {
	    if ( (tdcm.data[i] < 2048) && (tdcm.data[i] > 0) ) {
	      ((( tdc[i] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( tdc[i] )->channel + (  tdcm.data[i] )) : ++( tdc[i] )->channel[(  tdcm.data[i] )]) ;
	    }
	    else {
	       
	      tdcm.data[i] = 0;
	      tdcm.pattern = tdcm.pattern ^ (1 << i);
	      (++( bigtime )->count) ;
	    }
	  }
	}
      }

       


      {
	int i;
	for (i = 0; i < 10  ; i++) {
	  if ((( nfi[i] ).pattern&(1<<( 0 ))) ) {
	     


	    int gedata = (nfi[i].data[0] & 037777 );
	     





	    int pup = routebits[i];
	    
	    if (pup == 0140000 ) {
	       
	      ((( prge_a_pup[i] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( prge_a_pup[i] )->channel + (  gedata )) : ++( prge_a_pup[i] )->channel[(  gedata )]) ;
	    } else {
	      if (pup == 0100000 ) {
		 
		((( prge_a[i] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( prge_a[i] )->channel + (  gedata )) : ++( prge_a[i] )->channel[(  gedata )]) ;
	      } else {
		if (pup == 040000 ) {
		   
		  ((( prge_pup[i] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( prge_pup[i] )->channel + (  gedata )) : ++( prge_pup[i] )->channel[(  gedata )]) ;
		} else {
		   
		  ((( prge[i] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( prge[i] )->channel + (  gedata )) : ++( prge[i] )->channel[(  gedata )]) ;
		}
	      }
	    }
	     


	    adc_mult++;
	    ge_pattern |= 1 << i;
	  }
	}
	
	 


	((( tdc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( tdc_stat )->channel + ( tdc_mult )) : ++( tdc_stat )->channel[( tdc_mult )]) ;
	((( adc_stat )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( adc_stat )->channel + ( adc_mult )) : ++( adc_stat )->channel[( adc_mult )]) ;
      }
       

 
      { int i, j;
      { UINT16 __pi, __pj; for (   i =0, __pi=( ge_pattern ); __pi;   i ++, __pi >>= 1) { if ( __pi & (UINT16)1 ) { for (   j =  i +1, __pj=__pi>>1; __pj;   j ++, __pj >>=1) { if ( __pj & (UINT16)1 )  
	{ int idx = ((((2*( 10   )-3)-( i ))*( i )+2*( j )-2)>>1) ; 
	unsigned short tdiff = 2048 + tdcm.data[i] - tdcm.data[j]; 
	((( t[idx] )->flags & (04<< ( 8 * sizeof(int) - 3  ) ) ) ? vme_meminc(( t[idx] )->channel + (  tdiff )) : ++( t[idx] )->channel[(  tdiff )]) ; 	 }
      } } } } ; 
      }


      {
	int ge_i = 0;
	int ge_j = 0;
	UINT16 i_pattern;
	UINT16 j_pattern;

	 



	for (ge_i = 0, i_pattern = ge_pattern; i_pattern; 
	     ge_i++, i_pattern >>=1) { 
	   
	  if ( (i_pattern & 1) && 
	       ( (routebits[ge_i] & 040000 ) == 0) ) {
	    for (ge_j = ge_i + 1, j_pattern = i_pattern >> 1; j_pattern;
		 ge_j++, j_pattern >>= 1) {
	       
	      if ( (j_pattern & 1) &&
		   ( (routebits[ge_i] & 040000 ) == 0) ) {
		UINT16 eni;
		UINT16 enj;
		UINT16 lefttime;
		UINT16 righttime;
		int timediff;
		int time_index;
		int anreg = 0; 

		time_index = -1;

		 
		if ( (routebits[ge_i] & 0100000 ) ^
		     (routebits[ge_j] & 0100000 ) ) {
		  (++( mixed )->count) ;
		  continue ;  
		}

		 
		if (routebits[ge_i] & 0100000 ) {
		  anreg = 2;
		}
		 







		eni = nfi[ge_i].data[0] & 037777 ;
		enj = nfi[ge_j].data[0] & 037777 ;

		if ( (eni > 8192  ) || (enj > 8192  ) ) {
		  (++( high_en )->count) ;
		  continue;  
		}
		 


		timediff = (int) tdcm.data[ge_i]  - (int) tdcm.data[ge_j];
		lefttime = 2048 + ( (timediff > 0) ? (-1 * timediff) 
				    : timediff );
		righttime= 2048 + ( (timediff > 0) ? timediff 
				    : (-1 * timediff) );
# 755 "x_two.cc"

		time_index = 0;

		if (time_index > -1) {
		   
		  (++( matcount )->count) ;



		    if ( (*(( mat[time_index+anreg] )->inc_func))(( mat[time_index+anreg] ),(  eni ),(  enj ))  ) {
		      print_matrix_inc_error (mat[time_index+anreg], eni, enj);
		    }



# 868 "x_two.cc"

		}
	      }
	    }
	  }
	}
      }

    }
  }


  printf ("info: finish matrices\n");
  fflush ((&__iob[1]) );
  if (finish_matrices ()) {
    print_error ((1) );
    abort_matrices ();
  }


  reset_resource(); 
  reset_fera();
  revoke_all_spectra(); 
  print_formatted((1) ,"info: analysis finished !!\n");
  exit(0);
}











More information about the Gcc-bugs mailing list