###
### Fri Jan 23 13:53:20 EST 2004:
### bmake bulk-package for felt-3.05
### Current pkg count:  5 installed packages: Xaw3d-1.5 digest-20021220 patch-2.5.4nb2 x11-links-0.19 xpkgwedge-1.9
###
BULK> Full rebuild in progress...
BULK> Cleaning package and its depends
===> Cleaning for felt-3.05
===> Cleaning for readline-4.3pl5
===> Cleaning for pkg_install-info-4.5nb2
===> Cleaning for libtool-base-1.4.20010614nb19
===> Cleaning for patch-2.5.4nb2
===> Cleaning for Xaw3d-1.5
===> Cleaning for xpkgwedge-1.9
===> Cleaning for x11-links-0.19
BULK> Removing installed packages which are not needed to build felt-3.05
BULK> felt-3.05 requires installed package xpkgwedge-1.9 (pkgtools/xpkgwedge) to build.
BULK> felt-3.05 requires installed package digest-20021220 (pkgtools/digest
pkgtools/rdigest) to build.
BULK> felt-3.05 requires installed package x11-links-0.19 (pkgtools/x11-links) to build.
BULK> felt-3.05 requires installed package patch-2.5.4nb2 (devel/patch) to build.
BULK> felt-3.05 requires installed package Xaw3d-1.5 (x11/Xaw3d) to build.
BULK> Installing packages which are required to build felt-3.05.
BULK> /usr/pkg/sbin/pkg_add -K /var/db/pkg  /packages/SunOS/5.9/sparc/All/readline-4.3pl5.tgz
BULK> Required package pkg_install-info-4.5nb2 (pkgtools/pkg_install-info) is already installed
BULK> /usr/pkg/sbin/pkg_add -K /var/db/pkg  /packages/SunOS/5.9/sparc/All/libtool-base-1.4.20010614nb19.tgz
BULK> Required package patch-2.5.4nb2 (devel/patch) is already installed
BULK> Required package Xaw3d-1.5 (x11/Xaw3d) is already installed
BULK> Required package xpkgwedge-1.9 (pkgtools/xpkgwedge) is already installed
BULK> Required package x11-links-0.19 (pkgtools/x11-links) is already installed
BULK> Required package xpkgwedge-1.9 (pkgtools/xpkgwedge) is already installed
BULK> Required package digest-20021220 (pkgtools/digest) is already installed
bmake package (felt-3.05)
===> Checking for vulnerabilities in felt-3.05
=> Checksum OK for felt-3.05.src.tar.gz.
=> Checksum OK for felt-3.05.ps.gz.
work.sol9 -> /work/pkgbuild/cad/felt/work.sol9
===> Extracting for felt-3.05
===> Required installed package readline>=2.2: readline-4.3pl5 found
===> Required installed package Xaw3d-1.5: Xaw3d-1.5 found
===> Required installed package xpkgwedge>=1.5: xpkgwedge-1.9 found
===> Required installed package x11-links>=0.19: x11-links-0.19 found
===> Patching for felt-3.05
===> Applying pkgsrc patches for felt-3.05
===> Overriding tools for felt-3.05
===> Buildlinking for felt-3.05
===> Configuring for felt-3.05
===> Building for felt-3.05
Making all in ./lib ...
Making all in ./lib/Elements ...
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c axisymm.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c beam.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c beam3d.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c brick.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c cst.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c ctg.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c htk.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c iso_2d.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c iso_quad.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c misc.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c rod.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c spring.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c timoshenko.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c truss.c
rm -f libelt.a
ar cq libelt.a axisymm.o beam.o beam3d.o brick.o cst.o ctg.o htk.o  iso_2d.o iso_quad.o misc.o rod.o spring.o timoshenko.o truss.o
ranlib libelt.a
Making all in ./lib/Felt ...
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c Tree.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c code.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c definition.c
"definition.c", line 43: warning: implicit function declaration: strcmp
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c detail.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c draw.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c fe.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c file.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include  -c initialize.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c lexer.c
"lexer.l", line 294: warning: implicit function declaration: atoi
"lexer.l", line 1109: warning: implicit function declaration: exit
"lexer.l", line 1172: warning: implicit function declaration: malloc
"lexer.l", line 1190: warning: implicit function declaration: realloc
"lexer.l", line 1200: warning: implicit function declaration: free
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c modal.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c nonlinear.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c objects.c
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include   -I/usr/pkg/include -I/usr/openwin/include -c parser.c
"parser.y", line 313: warning: implicit function declaration: strdup
cc -O -I/usr/pkg/include -I/usr/openwin/include -I../../include -DLIBDIR=\"/usr/pkg/share/felt\" -DCPP=\"/opt/SUNWspro/bin/cc -E\" -c problem.c
cc: Warning: option -" passed to ld
# 1 "problem.c"
 
# 19

 
# 26

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

 
 
 

 
# 12

 
# 16

# 19

#ident	"@(#)stdio.h	1.79	01/04/16 SMI"

# 1 "/usr/include/iso/stdio_iso.h"
 
 

 
 
 

 
# 12

 
# 24

 
# 28

# 31

#ident	"@(#)stdio_iso.h	1.2	99/10/25 SMI"
 

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 12

#ident	"@(#)feature_tests.h	1.18	99/07/26 SMI"

# 1 "/usr/include/sys/isa_defs.h"
 
# 5

# 8

#ident	"@(#)isa_defs.h	1.20	99/05/04 SMI"

 
# 156

# 160


 
# 268

 
# 275

 
# 282

 
# 292

 
# 309

 
# 317

 
# 323

 
# 331

 
# 336

# 340

 
# 367

 
# 374

# 378

# 382

# 16 "/usr/include/sys/feature_tests.h"

# 20

 
# 33

 
# 74

 
# 102

 
# 122

 
# 145

 
# 173

 
# 179

# 183

# 1 "/usr/include/sys/va_list.h"
 
# 5

# 8

#ident	"@(#)va_list.h	1.13	01/02/08 SMI"

 
# 20

# 24

# 26
typedef void *__va_list;
# 30

# 34

# 1 "/usr/include/stdio_tag.h"
 
# 5

# 8

#ident	"@(#)stdio_tag.h	1.3	98/04/20 SMI"

# 14

# 21
typedef struct  __FILE __FILE;
# 23

# 27

# 1 "/usr/include/stdio_impl.h"
 
# 5

# 8

#ident	"@(#)stdio_impl.h	1.13	01/11/16 SMI"

# 1 "/usr/include/sys/isa_defs.h"
 
# 5

# 12 "/usr/include/stdio_impl.h"

# 16

# 22
typedef int	ssize_t;		 
# 25

# 37

struct  __FILE	 
{
# 44
	ssize_t		_cnt;	 
	unsigned char	*_ptr;	 
# 47
	unsigned char	*_base;	 
	unsigned char	_flag;	 
	unsigned char	_file;	 
	unsigned	__orientation:2;  
	unsigned	__ionolock:1;	 
	unsigned	__seekable:1;	 
	unsigned	__filler:4;
};

# 57

# 61

# 39 "/usr/include/iso/stdio_iso.h"

 
# 47

# 51

# 53
 
# 59
typedef	long long	__longlong_t;
# 68

# 72

# 75
typedef	__FILE FILE;
# 77

# 83
typedef unsigned int	size_t;		 
# 86

# 88
typedef long		fpos_t;
# 92

# 96

# 104

# 106

 
# 118

# 120

# 126

# 131

# 135

# 138

# 143

# 145

# 147
extern __FILE	__iob[ 20 ];
# 157

# 161

# 163

extern int	remove(const char *);
extern int	rename(const char *, const char *);
extern FILE	*tmpfile(void);
extern char	*tmpnam(char *);
extern int	fclose(FILE *);
extern int	fflush(FILE *);
extern FILE	*fopen(const char *, const char *);
extern FILE	*freopen(const char *, const char *, FILE *);
extern void	setbuf(FILE *, char *);
extern int	setvbuf(FILE *, char *, int, size_t);
 
extern int	fprintf(FILE *, const char *, ...);
 
extern int	fscanf(FILE *, const char *, ...);
 
extern int	printf(const char *, ...);
 
extern int	scanf(const char *, ...);
 
extern int	sprintf(char *, const char *, ...);
 
extern int	sscanf(const char *, const char *, ...);
extern int	vfprintf(FILE *, const char *, __va_list);
extern int	vprintf(const char *, __va_list);
extern int	vsprintf(char *, const char *, __va_list);
extern int	fgetc(FILE *);
extern char	*fgets(char *, int, FILE *);
extern int	fputc(int, FILE *);
extern int	fputs(const char *, FILE *);
# 195
extern int	getc(FILE *);
extern int	putc(int, FILE *);
# 200
extern int	getchar(void);
extern int	putchar(int);
# 203
extern char	*gets(char *);
extern int	puts(const char *);
extern int	ungetc(int, FILE *);
extern size_t	fread(void *, size_t, size_t, FILE *);
extern size_t	fwrite(const void *, size_t, size_t, FILE *);
extern int	fgetpos(FILE *, fpos_t *);
extern int	fseek(FILE *, long, int);
extern int	fsetpos(FILE *, const fpos_t *);
extern long	ftell(FILE *);
extern void	rewind(FILE *);
# 215
extern void	clearerr(FILE *);
extern int	feof(FILE *);
extern int	ferror(FILE *);
# 219
extern void	perror(const char *);

# 222
extern int	__filbuf(FILE *);
extern int	__flsbuf(int, FILE *);
# 225

# 276

# 280

# 282

# 284

# 306

# 316

# 330

# 332

# 334

# 338

# 23 "/usr/include/stdio.h"

 
# 31

 
# 82

# 86

# 91
typedef long		off_t;
# 99
typedef __longlong_t	off64_t;
# 104

# 109
typedef __longlong_t	fpos64_t;
# 112

 
# 122

# 125

# 129

# 132

# 135

# 137
extern unsigned char	 _sibuf[], _sobuf[];
# 139

 
# 177

# 179
extern unsigned char	*_bufendtab[];
extern FILE		*_lastbuf;
# 182

 
# 207

# 209

# 215
extern void setbuffer(FILE *, char *, size_t);
extern int setlinebuf(FILE *);
 
# 222
extern int vfscanf(FILE *, const char *, __va_list);
extern int vscanf(const char *, __va_list);
extern int vsscanf(const char *, const char *, __va_list);
# 229
 
extern int	snprintf(char *, size_t, const char *, ...);
# 235
extern int	vsnprintf(char *, size_t, const char *, __va_list);
# 237

 
# 243

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

# 249

 
# 264

 
# 269

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 *);
# 275
extern int	getsubopt(char **, char *const *, char **);
# 277
extern char	*optarg;
extern int	optind, opterr, optopt;
extern int	getw(FILE *);
extern int	putw(int, FILE *);
extern int	pclose(FILE *);

# 284

 
# 289
extern int	fseeko(FILE *, off_t, int);
extern off_t	ftello(FILE *);
# 292

 
# 299
extern FILE	*fopen64(const char *, const char *);
extern FILE	*freopen64(const char *, const char *, FILE *);
extern FILE	*tmpfile64(void);
extern int	fgetpos64(FILE *, fpos64_t *);
extern int	fsetpos64(FILE *, const fpos64_t *);
extern int	fseeko64(FILE *, off64_t, int);
extern off64_t	ftello64(FILE *);
# 307

# 378

# 380

# 405

# 407

# 411

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

 
 
 

 
# 12

# 15

#ident	"@(#)string.h	1.24	99/08/10 SMI"

# 1 "/usr/include/iso/string_iso.h"
 
 

 
 
 

 
# 12

 
# 24

# 27

#ident	"@(#)string_iso.h	1.2	99/11/09 SMI"
 

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 32 "/usr/include/iso/string_iso.h"

# 36

# 40

# 49

# 57

# 59

extern int memcmp(const void *, const void *, size_t);
extern void *memcpy(void *, const void *, size_t);
extern void *memmove(void *, const void *, size_t);
extern void *memset(void *, int, size_t);
extern char *strcat(char *, const char *);
extern int strcmp(const char *, const char *);
extern char *strcpy(char *, const char *);
extern int strcoll(const char *, const char *);
extern size_t strcspn(const char *, const char *);
extern char *strerror(int);
extern size_t strlen(const char *);
extern char *strncat(char *, const char *, size_t);
extern int strncmp(const char *, const char *, size_t);
extern char *strncpy(char *, const char *, size_t);
extern size_t strspn(const char *, const char *);
extern char *strtok(char *, const char *);
extern size_t strxfrm(char *, const char *, size_t);
# 112
extern void *memchr(const void *, int, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
# 118

# 145

# 149

# 153

# 19 "/usr/include/string.h"

 
# 49

# 53

# 55

# 60

# 63
extern void *memccpy(void *, const void *, int, size_t);
# 65

# 68
extern char *strsignal(int);
extern int ffs(int);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t);
extern size_t strlcpy(char *, const char *, size_t);
extern size_t strlcat(char *, const char *, size_t);
# 75

# 79
extern char *strdup(const char *);
# 81

# 111

# 115

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

 
 
 

 
# 12

# 15

#ident	"@(#)unistd.h	1.60	01/07/29 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 19 "/usr/include/unistd.h"

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

 
 
 

 
# 12

# 15

#ident	"@(#)types.h	1.73	02/10/10 SMI"

# 1 "/usr/include/sys/isa_defs.h"
 
# 5

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 20 "/usr/include/sys/types.h"

 
# 1 "/usr/include/sys/machtypes.h"
 
# 5

 
 

 
 
 

# 15

#ident	"@(#)machtypes.h	1.13	99/05/04 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 19 "/usr/include/sys/machtypes.h"

# 23

 
# 29

# 32

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

# 36

typedef	unsigned char	lock_t;		 

# 42

# 25 "/usr/include/sys/types.h"

 
# 1 "/usr/include/sys/int_types.h"
 
# 5

# 8

#ident	"@(#)int_types.h	1.6	97/08/20 SMI"

 
# 41

# 1 "/usr/include/sys/isa_defs.h"
 
# 5

# 43 "/usr/include/sys/int_types.h"

# 47

 
# 62
typedef char			int8_t;
# 68
typedef short			int16_t;
typedef int			int32_t;
# 74
typedef	long long		int64_t;
# 77

typedef unsigned char		uint8_t;
typedef unsigned short		uint16_t;
typedef unsigned int		uint32_t;
# 85
typedef unsigned long long	uint64_t;
# 88

 
# 94
typedef int64_t			intmax_t;
typedef uint64_t		uintmax_t;
# 100

 
# 110
typedef	int			intptr_t;
typedef	unsigned int		uintptr_t;
# 113

 
# 119
typedef char			int_least8_t;
# 125
typedef short			int_least16_t;
typedef int			int_least32_t;
# 131
typedef long long		int_least64_t;
# 134

typedef unsigned char		uint_least8_t;
typedef unsigned short		uint_least16_t;
typedef unsigned int		uint_least32_t;
# 142
typedef unsigned long long	uint_least64_t;
# 145

# 149

# 38 "/usr/include/sys/types.h"

# 42

# 46

 
# 53
typedef	long long		longlong_t;
typedef	unsigned long long	u_longlong_t;
# 66

 
# 76
typedef long		t_scalar_t;	 
typedef unsigned long	t_uscalar_t;
# 79

 
# 83
typedef	unsigned char	uchar_t;
typedef	unsigned short	ushort_t;
typedef	unsigned int	uint_t;
typedef	unsigned long	ulong_t;

typedef	char		*caddr_t;	 
typedef	long		daddr_t;	 
typedef	short		cnt_t;		 

# 97
typedef	int	ptrdiff_t;		 
# 100

 
# 104
typedef	ulong_t		pfn_t;		 
typedef	ulong_t		pgcnt_t;	 
typedef	long		spgcnt_t;	 

typedef	uchar_t		use_t;		 
typedef	short		sysid_t;
typedef	short		index_t;
typedef void		*timeout_id_t;	 
typedef void		*bufcall_id_t;	 

 
# 140

# 142
typedef ulong_t		ino_t;		 
typedef long		blkcnt_t;	 
typedef ulong_t		fsblkcnt_t;	 
typedef ulong_t		fsfilcnt_t;	 
# 152

# 160
typedef u_longlong_t	ino64_t;	 
typedef longlong_t	blkcnt64_t;	 
typedef u_longlong_t	fsblkcnt64_t;	 
typedef u_longlong_t	fsfilcnt64_t;	 
# 166

# 170
typedef	long		blksize_t;	 
# 172

# 176
typedef enum { B_FALSE, B_TRUE } boolean_t;
# 178

 
# 187
typedef int64_t		pad64_t;
typedef	uint64_t	upad64_t;
# 199

typedef	longlong_t	offset_t;
typedef	u_longlong_t	u_offset_t;
typedef u_longlong_t	len_t;
typedef	u_longlong_t	diskaddr_t;

 
# 219

# 221
typedef union {
	offset_t	_f;	 
	struct {
		int32_t	_u;	 
		int32_t	_l;	 
	} _p;
} lloff_t;
# 229

# 239

# 241
typedef union {
	longlong_t	_f;	 
	struct {
		int32_t	_u;	 
		int32_t	_l;	 
	} _p;
} lldaddr_t;
# 249

typedef uint_t k_fltset_t;	 

 
# 264
typedef	long		id_t;		 
# 266

 
# 271
typedef uint_t		useconds_t;	 

# 275
typedef long	suseconds_t;	 
# 277

 
# 285
typedef ulong_t	major_t;	 
typedef ulong_t	minor_t;	 
# 288

 
# 292
typedef short	pri_t;

 
# 305
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;		 


 
# 317
typedef	int	key_t;			 
# 321
typedef	ulong_t	mode_t;			 
# 323

# 329
typedef	long	uid_t;			 
# 332

typedef	uid_t	gid_t;			 

typedef id_t    taskid_t;
typedef id_t    projid_t;

 
# 343
typedef	uint_t	pthread_t;	 
typedef	uint_t	pthread_key_t;	 

 
# 351

typedef	struct _pthread_mutex {		 
	struct {
		uint16_t	__pthread_mutex_flag1;
		uint8_t		__pthread_mutex_flag2;
		uint8_t		__pthread_mutex_ceiling;
		uint16_t 	__pthread_mutex_type;
		uint16_t 	__pthread_mutex_magic;
	} __pthread_mutex_flags;
	union {
		struct {
			uint8_t	__pthread_mutex_pad[8];
		} __pthread_mutex_lock64;
		struct {
			uint32_t __pthread_ownerpid;
			uint32_t __pthread_lockword;
		} __pthread_mutex_lock32;
		upad64_t __pthread_mutex_owner64;
	} __pthread_mutex_lock;
	upad64_t __pthread_mutex_data;
} pthread_mutex_t;

typedef	struct _pthread_cond {		 
	struct {
		uint8_t		__pthread_cond_flag[4];
		uint16_t 	__pthread_cond_type;
		uint16_t 	__pthread_cond_magic;
	} __pthread_cond_flags;
	upad64_t __pthread_cond_data;
} pthread_cond_t;

 
# 385
typedef	struct _pthread_rwlock {	 
	int32_t		__pthread_rwlock_readers;
	uint16_t	__pthread_rwlock_type;
	uint16_t	__pthread_rwlock_magic;
	pthread_mutex_t	__pthread_rwlock_mutex;
	pthread_cond_t	__pthread_rwlock_readercv;
	pthread_cond_t	__pthread_rwlock_writercv;
} pthread_rwlock_t;

 
# 397
typedef struct _pthread_attr {
	void	*__pthread_attrp;
} pthread_attr_t;

 
# 404
typedef struct _pthread_mutexattr {
	void	*__pthread_mutexattrp;
} pthread_mutexattr_t;

 
# 411
typedef struct _pthread_condattr {
	void	*__pthread_condattrp;
} pthread_condattr_t;

 
# 418
typedef	struct _once {
	upad64_t	__pthread_once_pad[4];
} pthread_once_t;

 
# 426
typedef struct _pthread_rwlockattr {
	void	*__pthread_rwlockattrp;
} pthread_rwlockattr_t;

typedef ulong_t	dev_t;			 

# 436
typedef	ulong_t	nlink_t;		 
typedef	long	pid_t;			 
# 439

# 448

# 457

# 460
typedef	long		time_t;	 
# 462

# 465
typedef	long		clock_t;  
# 467

# 470
typedef	int	clockid_t;	 
# 472

# 475
typedef	int	timer_t;	 
# 477

# 480

 
typedef	unsigned char	unchar;
typedef	unsigned short	ushort;
typedef	unsigned int	uint;
typedef	unsigned long	ulong;
 

# 511

# 513

 
# 521

# 528

 
# 534

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

 
# 1 "/usr/include/sys/select.h"
 
# 5

 

 
 
 

# 14

#ident	"@(#)select.h	1.17	01/08/15 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 18 "/usr/include/sys/select.h"

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

 
 
 

 
# 13

 
# 18

# 21

#ident	"@(#)time.h	2.70	02/01/28 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 25 "/usr/include/sys/time.h"

 
# 30

# 34

# 38

# 43

# 48

struct timeval {
	time_t		tv_sec;		 
	suseconds_t	tv_usec;	 
};

# 75

# 78

# 82
struct timezone {
	int	tz_minuteswest;	 
	int	tz_dsttime;	 
};

# 89

# 93

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

 
 
 

 
# 12

# 102 "/usr/include/sys/time.h"

# 106

# 109

# 121

 
# 132

# 134

# 136

# 139
 
# 146
				 
				 
# 149
				 
				 

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

# 182


# 186
 
# 193

# 195

# 197

 
# 201
typedef	longlong_t	hrtime_t;

# 315

# 319
int adjtime(struct timeval *, struct timeval *);
# 324

# 329
int futimesat(int, const char *, const struct timeval *);
# 334

# 337

# 339

int getitimer(int, struct itimerval *);
int utimes(const char *, const struct timeval *);
# 345
int setitimer(int, struct itimerval *, struct itimerval *);
# 347

# 355

 
# 372

# 377
int settimeofday(struct timeval *, void *);
# 379
hrtime_t	gethrtime(void);
hrtime_t	gethrvtime(void);
# 386

# 388

# 392

# 397
int gettimeofday(struct timeval *, void *);
# 402

# 404

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

 
 
 

 
# 12

# 15

#ident	"@(#)time.h	1.39	99/08/10 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

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

 
 
 

 
# 12

# 1 "/usr/include/iso/time_iso.h"
 
 

 
 
 

 
# 12

 
# 24

# 27

#ident	"@(#)time_iso.h	1.1	99/08/09 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 31 "/usr/include/iso/time_iso.h"

# 35

# 39

# 47

# 56

# 61

# 66

# 68

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;
};


# 83

extern char *asctime(const struct tm *);
extern clock_t clock(void);
extern char *ctime(const time_t *);
extern double difftime(time_t, time_t);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);

# 107

# 111

# 115

# 21 "/usr/include/time.h"

 
# 41

# 45

# 50

# 55

# 57

# 63

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

# 77

# 79

# 1 "/usr/include/sys/time_impl.h"
 
# 5

 
# 15

# 18

#ident	"@(#)time_impl.h	1.7	01/09/06 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 22 "/usr/include/sys/time_impl.h"

# 26

# 28

# 33

 
# 37

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

# 61

typedef struct timespec timestruc_t;	 

 
# 68

# 73

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

# 99

# 101

# 107

# 111

# 114

# 118

# 84 "/usr/include/time.h"

 
# 98
union sigval {
	int	sival_int;	 
	void	*sival_ptr;	 
};
# 103

# 106
struct sigevent {
	int		sigev_notify;	 
	int		sigev_signo;	 
	union sigval	sigev_value;	 
	void		(*sigev_notify_function)(union sigval);
	pthread_attr_t	*sigev_notify_attributes;
	int		__sigev_pad2;
};
# 115

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 *);
# 127

# 130
extern void tzset(void);

extern char *tzname[2];

# 135
extern long _sysconf(int);	 
# 137
				 
# 139

# 142
extern long timezone;
extern int daylight;
# 145

# 147

# 149
extern int cftime(char *, char *, const time_t *);
extern int ascftime(char *, const char *, const struct tm *);
extern long altzone;
# 153

# 156
extern struct tm *getdate(const char *);

# 163
extern int getdate_err;
# 166

# 207

 
# 211

 
# 241

# 316

# 320

# 420 "/usr/include/sys/time.h"

 
# 1 "/usr/include/sys/select.h"
 
# 5

 

 
 
 

# 433 "/usr/include/sys/time.h"

# 435

# 439

# 22 "/usr/include/sys/select.h"

# 26

 
# 46

# 48
typedef	long	fd_mask;
# 50
typedef	long	fds_mask;

 
# 62

# 67

# 74

# 76
typedef	struct fd_set {
# 80
	long	fds_bits[ ( ( ( 1024 ) + ( ( ( sizeof ( fds_mask ) * 8 ) ) - 1 ) ) / ( ( sizeof ( fds_mask ) * 8 ) ) )];
} fd_set;

# 85

# 88

# 91

# 97

# 100
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
# 105

# 109

# 549 "/usr/include/sys/types.h"

# 551

 
# 561
 
# 563

# 567

# 1 "/usr/include/sys/unistd.h"
 
# 10

 
# 15

 
# 21

# 24

#ident	"@(#)unistd.h	1.39	01/07/29 SMI"

# 1 "/usr/include/sys/feature_tests.h"
 
# 5

 
 
 

# 28 "/usr/include/sys/unistd.h"

# 32

 

# 36

 
# 40
 
# 45
 
# 50

 
# 68


 

 
# 81
 
# 86
 
# 91
 
# 119
 
# 140

 
# 144

 
# 150

 
# 155

# 158

 
# 174

# 179

 
# 200

 
# 209

 

 
# 222
 
# 226

 
# 235

 
# 241

# 245

# 249

# 253

# 257

# 261

# 271

# 275

# 22 "/usr/include/unistd.h"

# 26

 
# 32

# 40

 

# 46

# 50

# 54

# 57
 
# 61

 
# 84
 
# 93

 
# 100

# 104

# 112

# 116

 
# 126

 
# 147

 
# 168

# 170

extern int access(const char *, int);
# 174
extern int acct(const char *);
# 176
extern unsigned alarm(unsigned);
# 179
extern int brk(void *);
# 181
extern int chdir(const char *);
extern int chown(const char *, uid_t, gid_t);
# 185
extern int chroot(const char *);
# 187
extern int close(int);
# 195
extern char *ctermid(char *);
# 200
extern char *cuserid(char *);
extern int dup(int);
extern int dup2(int, int);
# 207
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);
 
# 221
extern int fattach(int, const char *);
# 225
extern int fchdir(int);
extern int fchown(int, uid_t, gid_t);
# 229
extern int fchownat(int, const char *, uid_t, gid_t, int);
# 234
extern int fchroot(int);
# 238
extern int fdatasync(int);
# 240
 
# 247
extern int fdetach(const char *);
# 249
extern pid_t fork(void);
# 252
extern pid_t fork1(void);
# 254
extern long fpathconf(int, int);
# 257
extern int fsync(int);
# 262
extern int ftruncate(int, off_t);
# 264
extern char *getcwd(char *, size_t);
# 267
extern int getdtablesize(void);
# 269
extern gid_t getegid(void);
extern uid_t geteuid(void);
extern gid_t getgid(void);
extern int getgroups(int, gid_t *);
# 275
extern long gethostid(void);
# 281
extern int gethostname(char *, int);
# 283
extern char *getlogin(void);
# 293
extern int getpagesize(void);
extern pid_t getpgid(pid_t);
# 296
extern pid_t getpid(void);
extern pid_t getppid(void);
extern pid_t getpgrp(void);
# 301
char *gettxt(const char *, const char *);
# 305
extern pid_t getsid(pid_t);
# 307
extern uid_t getuid(void);
# 310
extern char *getwd(char *);
# 312
 
# 319
extern int ioctl(int, int, ...);
# 323
extern int isaexec(const char *, char *const *, char *const *);
extern int issetugid(void);
# 326
extern int isatty(int);
extern int link(const char *, const char *);
# 330
extern int lchown(const char *, uid_t, gid_t);
# 335
extern int lockf(int, int, off_t);
# 339
extern int readlink(const char *, char *, size_t);
# 341
extern off_t lseek(int, off_t, int);
# 344
extern int nice(int);
# 346
extern long pathconf(const char *, int);
extern int pause(void);
extern int pipe(int *);
# 351
extern offset_t llseek(int, offset_t, int);
# 356
extern off_t tell(int);
# 360
extern int mincore(caddr_t, size_t, char *);
# 365
extern ssize_t pread(int, void *, size_t, off_t);
# 369
extern void profil(unsigned short *, size_t, unsigned long, unsigned int);
# 373
extern int pthread_atfork(void (*) (void), void (*) (void), void (*) (void));
# 377
extern long ptrace(int, pid_t, long, long);
# 382
extern ssize_t pwrite(int, const void *, size_t, off_t);
# 384
extern ssize_t read(int, void *, size_t);
# 387
extern int rename(const char *, const char *);
# 390
extern int renameat(int, const char *, int, const char *);
# 395
extern int resolvepath(const char *, char *, size_t);
# 397
extern int rmdir(const char *);
# 400
extern void *sbrk(intptr_t);
# 402
extern int setgid(gid_t);
# 405
extern int setegid(gid_t);
# 409
extern int setgroups(int, const gid_t *);
# 411
extern int setpgid(pid_t, pid_t);
# 414
extern pid_t setpgrp(void);
extern int setregid(gid_t, gid_t);
extern int setreuid(uid_t, uid_t);
# 418
extern pid_t setsid(void);
extern int setuid(uid_t);
# 422
extern int seteuid(uid_t);
# 424
extern unsigned sleep(unsigned);
# 427
extern int stime(const time_t *);
# 435
extern int symlink(const char *, const char *);
extern void sync(void);
# 438
extern long sysconf(int);
# 447
extern pid_t tcgetpgrp(int);
extern int tcsetpgrp(int, pid_t);
# 451
extern off_t tell(int);
# 456
extern int truncate(const char *, off_t);
# 458
extern char *ttyname(int);
# 461
extern useconds_t ualarm(useconds_t, useconds_t);
# 463
extern int unlink(const char *);
# 466
extern int unlinkat(int, const char *, int);
# 470
extern int usleep(useconds_t);
# 474
extern pid_t vfork(void);
# 478
extern void vhangup(void);
# 480
extern ssize_t write(int, const void *, size_t);
# 483
extern void yield(void);
# 485

 
# 489
extern int ftruncate64(int, off64_t);
extern off64_t lseek64(int, off64_t, int);
extern ssize_t	pread64(int, void *, size_t, off64_t);
extern ssize_t	pwrite64(int, const void *, size_t, off64_t);
extern off64_t	tell64(int);
extern int	truncate64(const char *, off64_t);
extern int	lockf64(int, int, off64_t);
# 497

# 799

 
#pragma	unknown_control_flow(vfork)
# 811

 
# 815

 
# 845

# 921

# 925

# 1 "../../include/error.h"
 
# 19

 
# 26

# 1 "../../include/proto.h"
 
# 19

 
# 26

# 29

# 31

# 36

# 45

# 30 "../../include/error.h"

extern void error  ( char * , ... );
extern void Fatal  ( char * , ... );

# 1 "../../include/problem.h"
 
# 19

 
# 26

# 1 "../../include/fe.h"
 
# 19

 
# 26

# 1 "../../include/code.h"
 
# 19

 
# 26

# 1 "../../include/proto.h"
 
# 19

 
# 26

# 30 "../../include/code.h"

typedef union instruction *Code;

typedef enum {
    JmpOp,		 
    JnzOp,		 
    JzOp,		 
    PushOp,		 
    PopOp,		 
    CopyOp,		 
    TestOp,		 
    NegOp,		 
    NotOp,		 
    InvOp,		 
    MulOp,		 
    DivOp,		 
    ModOp,		 
    AddOp,		 
    SubOp,		 
    LsftOp,		 
    RsftOp,		 
    LtOp,		 
    GtOp,		 
    LteqOp,		 
    GteqOp,		 
    EqOp,		 
    NeqOp,		 
    AndOp,		 
    XorOp,		 
    OrOp,		 
    TimeOp,		 
    SinOp,		 
    CosOp,		 
    TanOp,		 
    ExpOp,		 
    LnOp,		 
    LogOp,		 
    PowOp,		 
    SqrtOp,		 
    HypotOp,		 
    FloorOp,		 
    CeilOp,		 
    FmodOp,		 
    FabsOp,		 
    TableOp,		 
    CycleOp,		 
    HaltOp		 
} Opcode;


extern Code   InCore;
extern void   EmitCode	    ( Opcode , ... );
extern Code   CopyCode      ( Code );
extern void   FreeCode      ( Code );
extern double EvalCode      ( Code , double );
extern void   DebugCode     ( Code );
extern int    CompileCode   ( char * );
extern int    IsConstant    ( Code );
extern void   SetIP	    ( int );
extern int    GetIP	    ( void );
extern double exptod	    ( char * , char * * );

# 1 "../../include/matrix.h"
 
# 19

 
# 25

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

 
 
 

 
# 12

 
# 16

# 1 "../../include/status.h"
 
# 19

# 22

# 41

# 1 "../../include/proto.h"
 
# 19

 
# 26

# 31 "../../include/matrix.h"

typedef struct matrix *Matrix;

struct matrix {
   unsigned	nrows;		 
   unsigned	ncols;		 
   double	**data;		 
   unsigned	*diag;		 
   unsigned	size;		 
   unsigned	refcount;	 
   Matrix	parent;		 
};

# 47

# 54

# 56
	
	 
# 60

typedef Matrix Vector;

# 68

# 71

# 75

	 
# 79

double mdata  ( Matrix , unsigned , unsigned ) ;
# 85

Matrix CreateSubsectionMatrix  ( Matrix , unsigned , unsigned , unsigned , unsigned ) ;
# 93

Matrix CreateFullMatrix  ( unsigned , unsigned ) ;
# 98

Matrix CreateRowVector  ( unsigned ) ;
# 102

Matrix CreateColumnVector  ( unsigned ) ;
# 106

void DestroyMatrix  ( Matrix ) ;
# 110

Matrix CreateCompactMatrix  ( unsigned , unsigned , unsigned , unsigned * ) ;
# 117

Matrix CreateCopyMatrix  ( Matrix ) ;
# 121

Matrix MakeFullFromCompact  ( Matrix ) ;
# 125

Matrix MakeCompactFromFull  ( Matrix ) ; 
# 129

int ConvertRowColumn  ( unsigned , unsigned , Matrix ) ;
# 135

	 
# 139

int ZeroMatrix  ( Matrix ) ;
# 143

int CopyMatrix  ( Matrix , Matrix ) ;
# 148

int IdentityMatrix  ( Matrix ) ;
# 152

int RandomMatrix  ( Matrix , int ) ;
# 157

int MirrorMatrix  ( Matrix ) ;
# 161

int MultiplyMatrices  ( Matrix , Matrix , Matrix ) ;
# 167

int AddMatrices  ( Matrix , Matrix , Matrix ) ;
# 173

int SubtractMatrices  ( Matrix , Matrix , Matrix ) ;
# 179

int ModMatrices  ( Matrix , Matrix , Matrix ) ;
# 185

int Saxpy  ( Matrix , Matrix , Matrix , double ) ;
# 192

int Gaxpy  ( Matrix , Matrix , Matrix , Matrix ) ;
# 199

int ScaleMatrix  ( Matrix , Matrix , double , double ) ;
# 206

int SqrtMatrix  ( Matrix , Matrix ) ;
# 211

int DotBProduct  ( double * , Matrix , Matrix ) ;
# 217

int TransposeMatrix  ( Matrix , Matrix ) ;
# 222

int CompareEQMatrices  ( Matrix , Matrix , Matrix ) ;
# 228

int CompareNEQMatrices  ( Matrix , Matrix , Matrix ) ;
# 234

int CompareGTMatrices  ( Matrix , Matrix , Matrix ) ;
# 240

int CompareLTMatrices  ( Matrix , Matrix , Matrix ) ;
# 246

int CompareLTEMatrices  ( Matrix , Matrix , Matrix ) ;
# 252

int CompareGTEMatrices  ( Matrix , Matrix , Matrix ) ;
# 258

int PrintMatrix  ( Matrix , FILE * ) ;
# 263

int PrintMatrixSubsection  ( Matrix , unsigned , unsigned , unsigned , unsigned , FILE * ) ;
# 272

	 
# 276

int QRFactorMatrix  ( Matrix , Matrix , Matrix ) ;
# 282

int CholeskyFactorMatrix  ( Matrix , Matrix ) ;
# 287

int InvertMatrix  ( Matrix , Matrix , Matrix ) ;
# 293

int DeterminantMatrix  ( double * , Matrix , Matrix ) ;
# 299

int LUFactorMatrix  ( Matrix , Matrix , Matrix , int * ) ;
# 306

int LUBackSolveMatrix  ( Matrix , Matrix , Matrix , Matrix ) ;
# 313

int FormLUPMatrices  ( Matrix , Matrix , Matrix , Matrix , Matrix ) ;
# 321

int CroutFactorMatrix  ( Matrix ) ;
# 325

int CroutBackSolveMatrix  ( Matrix , Matrix ) ;
# 330

	 
# 334

int GeneralMatrixEigenModes  ( Matrix , Matrix , double , unsigned ) ;
# 341

int TridiagSymmMatrixEigenModes  ( Matrix , Matrix , Matrix , Matrix , unsigned ) ;
# 349

int SymmetricMatrixEigenModes  ( Matrix , Matrix , Matrix , unsigned ) ;
# 356

int BuildTridiagonalVectors  ( Matrix , Matrix , Matrix ) ;
# 362

int NormalizeByMaximum  ( Matrix , Matrix , unsigned ) ;
# 368

int NormalizeByFirst  ( Matrix , Matrix ) ;
# 373

int NormalizeByLength  ( Matrix , Matrix ) ;
# 378

int TridiagonalReduction  ( Matrix , Matrix , Matrix , Matrix ) ;
# 385

	 
# 389

int FrobeniusNormMatrix  ( double * , Matrix ) ;
# 394

int PNormMatrix  ( double * , Matrix , char * ) ;
# 400

int PNormVector  ( double * , Matrix , char * ) ;
# 406

	 
# 410

int IsSymmetricMatrix  ( Matrix ) ;
# 414

int IsZeroMatrix  ( Matrix ) ;
# 418

	 
# 422

int MaximumMatrix  ( Matrix , double * ) ;
# 427

int MinimumMatrix  ( Matrix , double * ) ;
# 432

int SumMatrix  ( Matrix , double * ) ;
# 437

int MeanMatrix  ( Matrix , double * ) ;
# 442

int StddevMatrix  ( Matrix , double * ) ;
# 447

	 
# 451

int MatrixToMatlab  ( Matrix , FILE * , char * ) ;
# 457

int MatricesToMatlab  ( Matrix * , unsigned , FILE * , char * * ) ;
# 464

Matrix MatlabToMatrix  ( FILE * ) ;
# 468

	 
# 472

int GaussSeidel  ( Matrix , Matrix , Matrix ) ;
# 478

# 31 "../../include/fe.h"


# 35

# 39

# 43

# 47

 

typedef enum {
    Static = 1,
    Transient = 2,
    Modal = 3,
    StaticThermal = 4,
    TransientThermal = 5,
    Spectral = 6,
    StaticSubstitution = 7,
    StaticIncremental = 8,
    StaticLoadCases = 9,
    StaticLoadRange = 10,
    StaticSubstitutionLoadRange = 11,
    StaticIncrementalLoadRange = 12,
} AnalysisType;


 

typedef enum {
    Linear = 1,
    Planar = 2,
    Solid  = 3
} Shape;


 

typedef enum {
    LocalX        = 1,
    LocalY        = 2,
    LocalZ        = 3,
    GlobalX	  = 4,
    GlobalY	  = 5,
    GlobalZ 	  = 6,
    Parallel      = 7,
    Perpendicular = 8,
    Radial	  = 9,
    Axial	  = 10
} Direction;


 

typedef enum {
    Tx = 1, Fx = 1,			 
    Ty = 2, Fy = 2,			 
    Tz = 3, Fz = 3,			 
    Rx = 4, Mx = 4,			 
    Ry = 5, My = 5,			 
    Rz = 6, Mz = 6			 
} DOF;


 

typedef struct pair {
    unsigned node;			 
    double   magnitude;			 
} Pair;


 

typedef struct reaction {
    double   force;			 
    unsigned node;			 
    unsigned dof;			 
} *Reaction;


 

typedef struct stress {
    char   *aux;			 
    double  x;				 
    double  y;				 
    double  z;				 
    double *values;			 
} *Stress;


 

typedef struct {
    double value;		 
    Code   expr;		 
    char  *text;		 
} VarExpr;


 

typedef struct definition {
    char    *name;		 
    int    (*setup) ( );	 
    int    (*stress) ( );	 
    Shape    shape;		 
    unsigned numnodes;		 
    unsigned shapenodes;	 
    unsigned numstresses;	 
    unsigned numdofs;		 
    unsigned dofs [7];		 
    unsigned retainK;		 
} *Definition;


 

typedef struct distributed {
    char     *aux;			 
    char     *name;			 
    char     *color;			 
    Direction direction;		 
    unsigned  nvalues;			 
    Pair     *value;			 
} *Distributed;


 

typedef struct force {
    char   *aux;			 
    char   *name;			 
    char   *color;			 
    VarExpr force [7];			 
    VarExpr spectrum [7];		 
} *Force;


 

typedef struct constraint {
    char   *aux;			 
    char   *name;			 
    char   *color;			 
    char    constraint [7];		 
    double  ix [7];			 
    double  vx [4];			 
    double  ax [4];			 
    VarExpr dx [7];			 
} *Constraint;


 

typedef struct material {
    char  *aux;				 
    char  *name;			 
    char  *color;			 
    double E;				 
    double Ix;				 
    double Iy;				 
    double Iz;				 
    double A;				 
    double J;				 
    double G;				 
    double t;				 
    double rho;				 
    double nu;				 
    double kappa;			 
    double Rk;				 
    double Rm;				 
    double Kx;				 
    double Ky;				 
    double Kz;				 
    double c;				 
} *Material;


 

typedef struct node {
    char      *aux;			 
    unsigned   number;			 
    Constraint constraint;		 
    Force      force;			 
    double     m;			 
    double    *eq_force;		 
    double     dx [7];			 
    double     x;			 
    double     y;			 
    double     z;			 
} *Node;


 

typedef struct element {
    char       *aux;			 
    unsigned    number;			 
    Node       *node;			 
    Matrix      K;			 
    Matrix	M;			 
    Matrix	f;			 
    Material    material;		 
    Definition  definition;		 
    Distributed distributed [4];	 
    unsigned    numdistributed;		 
    Stress     *stress;			 
    unsigned    ninteg;			 
} *Element;


 

typedef struct nodeDOF {
    DOF		dof;
    Node	node;
} *NodeDOF;


typedef struct casepair {
   unsigned	 noe;		 
   char		*fol;		 
} CasePair;


 

typedef struct loadcase {
    char	*name;
    unsigned	 numforces;
    unsigned	 numloads;
    Node	*nodes;
    Element	*elements;
    Force	*forces;
    Distributed *loads;
} *LoadCase;


 

typedef struct analysis {
    double	start;			 
    double	step;			 
    double	stop;			 
    double	gamma;			 
    double	beta;			 
    double	alpha;			 
    double	Rk;			 
    double	Rm;			 
    double      gravity [4];		 
    double      tolerance;		 
    double	relaxation;		 
    unsigned	iterations;		 
    unsigned	load_steps;		 
    char	mass_mode;		 
    Node       *nodes;			 
    unsigned	numnodes;		 
    char	dofs [7];		 
    unsigned	numdofs;		 
    unsigned	input_dof;		 
    Node  	input_node;		 
} Analysis;


	 
# 309

extern int      FindDOFS		   ( );
extern Matrix   ConstructStiffness	   ( int * );
extern void     ZeroConstrainedDOF	   ( Matrix , Vector , Matrix * , Vector * ) ;
# 314
extern void	RemoveConstrainedDOF	   ( Matrix , Matrix , Matrix , Matrix * , Matrix * , Matrix * ) ;
# 316
extern Vector   ZeroCompactRowCol	   ( Vector , unsigned );
extern void     AdjustForceVector	   ( Vector , Matrix , unsigned , double );
extern unsigned SolveForReactions	   ( Matrix , Vector , unsigned * , Reaction * * ) ;
# 320
extern Vector   ConstructForceVector	   ( );
extern Matrix   SolveStaticLoadCases	   ( Matrix , Matrix );
extern Matrix   SolveStaticLoadRange 	   ( Matrix , Matrix );
extern void	AssembleLoadCaseForce	   ( Matrix , LoadCase );
extern Vector   SolveForDisplacements	   ( Matrix , Vector );
extern int      FactorStiffnessMatrix	   ( Matrix );
extern void     ApplyNodalDisplacements    ( Matrix );
extern int      ElementSetup		   ( Element , char );
extern void     ClearNodes		   ( );
extern int      ElementStresses		   ( );
extern int      GlobalDOF                  ( unsigned , unsigned );
extern void     LocalDOF                   ( unsigned , unsigned * , unsigned * ) ;
# 333
extern int      ZeroConstrainedMatrixDOF   ( Matrix , Matrix );
extern Matrix   RemoveConstrainedMatrixDOF  ( Matrix );
extern void	FindForcedDOF		   ( NodeDOF * * , unsigned * );
extern int	CheckAnalysisParameters    ( AnalysisType );

	 
# 341

extern unsigned *RenumberNodes		   ( Node * , Element * , unsigned , unsigned ) ;
# 344
extern void     RestoreNodeNumbers	   ( Node * , unsigned * , unsigned ) ;
# 346

	 
# 350

extern int      WriteGraphicsFile	   ( char * , double );
extern int      WriteMaterialStatistics    ( FILE * );
extern void     WriteStructuralResults	   ( FILE * , char * , Reaction * , unsigned );
extern void     WriteLoadCaseTable	   ( Matrix , FILE * );
extern void	PlotLoadCaseTable	   ( Matrix , FILE * );
extern void     WriteLoadRangeTable	   ( Matrix , FILE * );
extern void	PlotLoadRangeTable	   ( Matrix , FILE * );
extern void     WriteTemperatureResults    ( FILE * , char * );
extern void	WriteEigenResults	   ( Matrix , Matrix , char * , FILE * ) ;
# 361
extern void     WriteModalResults          ( FILE * , Matrix , Matrix , Matrix , Matrix ) ;
# 363
extern void	PlotModeShapes		   ( Matrix , FILE * );
extern void     WriteTransientTable	   ( Matrix , Matrix , FILE * );
extern void     PlotTransientTable	   ( Matrix , Matrix , double , FILE * );
extern void     WriteOutputSpectra	   ( Matrix , FILE * );
extern void     PlotOutputSpectra	   ( Matrix , FILE * );
extern void 	WriteTransferFunctions	   ( Matrix * , NodeDOF * , unsigned , FILE * ) ;
# 370
extern void     PlotTransferFunctions	   ( Matrix * , NodeDOF * , unsigned , FILE * ) ;
# 372
extern void     PrintGlobalMatrices        ( FILE * , Matrix , Matrix , Matrix );
extern int      MatlabGlobalMatrices       ( char * , Matrix , Matrix , Matrix );

	 
# 378

extern void 	DrawStructureASCII	   ( FILE * , unsigned , unsigned );

	 
# 384

extern int	ConstructDynamic	   ( Matrix * , Matrix * , Matrix * );
extern void	AssembleTransientForce	   ( double , Vector );
extern int     *BuildConstraintMask	   ( );
extern int	BuildHyperbolicIC	   ( Vector , Vector , Vector );
extern void	BuildParabolicIC	   ( Vector );
extern Matrix	IntegrateHyperbolicDE	   ( Vector , Vector , Vector );
extern Matrix	RosenbrockHyperbolicDE	   ( Vector , Vector , Vector , Matrix * );
extern Matrix	IntegrateParabolicDE	   ( Vector , Vector );
extern void	ResolveBC 		   ( double , Vector , Vector );

	 
# 398

extern int	ComputeEigenModes	   ( Matrix , Matrix , Matrix * , Matrix * ) ;
# 401
extern Matrix	ModalNodalDisplacements	   ( Matrix );
extern int	FormModalMatrices	   ( Matrix , Matrix , Matrix , Matrix , Matrix * , Matrix * , Matrix * , int ) ;
# 405

	 
# 409

extern int 	FastFourierTransform 	    ( double * , double * , int , int , int ) ;
# 412
extern int 	Spectrum 		    ( Vector , Vector * , Vector * , double , int ) ;
# 414
extern int	ComputeOutputSpectraFFT	    ( Matrix , Matrix * , Vector * , int ) ;
# 416
extern Matrix	*ComputeTransferFunctions   ( Matrix , Matrix , Matrix , NodeDOF * , unsigned ) ;
# 418
extern Matrix	ComputeOutputSpectra	    ( Matrix * , NodeDOF * , unsigned ) ;
# 420

	 
# 424

extern Matrix 	CreateNonlinearStiffness      ( int * );
extern int	AssembleCurrentState          ( Matrix , Matrix , int );
extern int	AssembleCurrentForce	      ( Matrix , Matrix );
extern int      RestoreCoordinates            ( Matrix );
extern int      UpdateCoordinates             ( Matrix );
extern Matrix   StaticNonlinearDisplacements  ( Matrix , Matrix , int );
extern Matrix   SolveNonlinearLoadRange       ( Matrix , Matrix , int );

# 1 "../../include/Tree.h"
 
# 19

 
# 26

# 1 "../../include/Item.h"
 
# 19

 
# 26

# 1 "../../include/proto.h"
 
# 19

 
# 26

# 30 "../../include/Item.h"

typedef void *Item;

typedef Item (*ItemDuplicator)  ( Item );
typedef int  (*ItemComparator)  ( Item , Item );
typedef int  (*ItemDestructor)  ( Item );
typedef int  (*ItemIdentifier)  ( Item );
typedef int  (*ItemIterator)    ( Item );

# 32 "../../include/Tree.h"

typedef struct tree *Tree;

extern Tree TreeCreate         ( ItemComparator );
extern int  TreeDestroy        ( Tree );
extern int  TreeIterate        ( Tree );
extern int  TreeSize           ( Tree );

extern int  TreePreorder       ( Tree );
extern int  TreeInorder        ( Tree );
extern int  TreePostorder      ( Tree );

extern Item TreeInsert         ( Tree , Item );
extern Item TreeDelete         ( Tree , Item );
extern Item TreeSearch         ( Tree , Item );

extern Item TreeMinimum        ( Tree );
extern Item TreeMaximum        ( Tree );
extern Item TreePredecessor    ( Tree , Item );
extern Item TreeSuccessor      ( Tree , Item );

extern int  TreeSetIterator    ( Tree , ItemIterator );
extern int  TreeSetDestructor  ( Tree , ItemDestructor );
extern int  TreeSetDuplicator  ( Tree , ItemDuplicator );

# 1 "../../include/appearance.h"
 
# 19

 
# 26

# 29

# 34

typedef struct {
    float x;
    float y;
} FigInfoPair;

typedef struct {
    int		 type;
    float	 x;
    float	 y;
    float	 width;
    float	 height;
    float	 start;
    float	 length;
    char	*color;
    char	*text;
    char	*font;
    unsigned	 num_points;
    FigInfoPair	*points;
} FigInfo;

typedef struct {
    int      node_numbers;
    int      element_numbers;
    int      snap;
    int      grid;
    float    snap_size;
    float    grid_size;
    float    x_min;
    float    x_max;
    float    y_min;
    float    y_max;
    float    scale;
    int      x_pos;
    int      y_pos;
    int      width;
    int      height;
    char    *node_color;
    char    *element_color;
    char    *label_font;
    char    *tool_color;
    char    *tool_font;
    unsigned num_figures;
    FigInfo *figures;
} Appearance;

extern Appearance appearance;

extern void InitAppearance  ( void );

# 32 "../../include/problem.h"

# 34


typedef struct {
    AnalysisType mode;			 
    char	*input;			 
    char	*title;			 
    char	*filename;		 
    Node	*nodes;			 
    Element	*elements;		 
    LoadCase	*loadcases;
    Tree	 definition_tree;	 
    Tree	 node_tree;		 
    Tree	 element_tree;		 
    Tree	 material_tree;		 
    Tree	 distributed_tree;	 
    Tree	 force_tree;		 
    Tree	 constraint_tree;	 
    Tree	 loadcase_tree;		 
    unsigned	 dofs_pos [7];		 
    unsigned	 dofs_num [7];		 
    unsigned	 num_dofs;		 
    unsigned	 num_nodes;		 
    unsigned	 num_elements;		 
    unsigned	 num_loadcases;		 
    unsigned	 num_errors;		 
    unsigned	 line;			 
} Problem;

extern Problem  problem;
extern Analysis analysis;

extern char        *copy_input	     ( int );
extern void	    init_lexer	     ( FILE * );
extern int	    yyparse	     ( void );
extern Definition   defnlookup	     ( char * );
extern int	    ParseCppOptions  ( int * , char * * );
extern AnalysisType SetAnalysisMode  ( void );
extern int	    ReadFeltFile     ( char * );
extern int	    WriteFeltFile    ( char * );
extern int	    DumpFeltFile     ( char * );
extern int	    fWriteFeltFile   ( FILE * );
extern int	    fDumpFeltFile    ( FILE * );
extern void 	    detail  ( char * , ... );
extern void         SetDetailStream  ( FILE * );
extern FILE        *GetDetailStream  ( );

# 1 "../../include/allocate.h"
 
# 19

 
# 25

# 1 "/usr/include/malloc.h"
 
 

 
 
 

# 10

#ident	"@(#)malloc.h	1.11	97/08/23 SMI"

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

 
 
 

 
# 12

# 14 "/usr/include/malloc.h"

# 18

 
# 25
				 
# 27
				 
 
# 31
struct mallinfo  {
	unsigned long arena;	 
	unsigned long ordblks;	 
	unsigned long smblks;	 
	unsigned long hblks;	 
	unsigned long hblkhd;	 
	unsigned long usmblks;	 
	unsigned long fsmblks;	 
	unsigned long uordblks;	 
	unsigned long fordblks;	 
	unsigned long keepcost;	 
};

# 45

void *malloc(size_t);
void free(void *);
void *realloc(void *, size_t);
int mallopt(int, int);
struct mallinfo mallinfo(void);
void *calloc(size_t, size_t);

# 63

# 67

# 29 "../../include/allocate.h"

# 32

# 35

# 39

# 42

# 45

# 48

# 1 "../../include/definition.h"
 
# 19

 
# 26

# 1 "../../include/fe.h"
 
# 19

 
# 26

# 30 "../../include/definition.h"


extern void 	  add_all_definitions  ( void );
extern int	  AddDefinition	       ( Definition );
extern int	  RemoveDefinition     ( Definition );
extern Definition LookupDefinition     ( char * );

# 34 "problem.c"

# 38

# 41

# 45

# 49


Problem    problem;
Analysis   analysis;
Appearance appearance;

static struct material default_material = { 0 , "default_material"};
static struct constraint default_constraint = { 0 , "default_constraint"};

static char *cpp;
static char  cpp_command [2048];


 
# 67

Definition defnlookup (name)
    char *name;
{
    char      *ptr;
    Definition definition;


    ptr = name;
    while (*ptr != ' ' && *ptr != 0) {
	ptr ++;
    }

    *ptr = 0;
    if (!(definition = LookupDefinition (name)))
	error ("%s elements have no definition", name);

    return definition;
}


 
# 93

static int node_cmp (n1, n2)
    Item n1;
    Item n2;
{
    return ((Node) n1) -> number - ((Node) n2) -> number;
}


 
# 107

static int element_cmp (e1, e2)
    Item e1;
    Item e2;
{
    return ((Element) e1) -> number - ((Element) e2) -> number;
}


 
# 121

static int material_cmp (m1, m2)
    Item m1;
    Item m2;
{
    return strcmp (((Material) m1) -> name, ((Material) m2) -> name);
}


 
# 135

static int distributed_cmp (d1, d2)
    Item d1;
    Item d2;
{
    return strcmp (((Distributed) d1) -> name, ((Distributed) d2) -> name);
}


 
# 149

static int force_cmp (f1, f2)
    Item f1;
    Item f2;
{
    return strcmp (((Force) f1) -> name, ((Force) f2) -> name);
}


 
# 163

static int constraint_cmp (c1, c2)
    Item c1;
    Item c2;
{
    return strcmp (((Constraint) c1) -> name, ((Constraint) c2) -> name);
}


 
# 177

static int loadcase_cmp (lc1, lc2)
    Item lc1;
    Item lc2;
{
    return strcmp (((LoadCase) lc1) -> name, ((LoadCase) lc2) -> name);
}


 
# 191

static int resolve_node (item)
    Item item;
{
    struct force      f;
    struct constraint c;
    unsigned	      number;
    Tree	      tree;
    Node	      node;



     

    node = (Node) item;
    number = node -> number;
    problem.nodes [number] = node;


     

    tree = problem.constraint_tree;
    c.name = (char *) node -> constraint;

    if (c.name) {
	node -> constraint = (Constraint) TreeSearch (tree, &c);

	if (!node -> constraint)
	    error ("node %u used undefined constraint %s", number, c.name);

	 if ( c . name ) free ( ( char * ) ( c . name ) );
    } else
	node -> constraint = &default_constraint;


     

    tree = problem.force_tree;
    f.name = (char *) node -> force;

    if (f.name) {
	node -> force = (Force) TreeSearch (tree, &f);

	if (!node -> force)
	    error ("node %u uses undefined force %s", number, f.name);

	 if ( f . name ) free ( ( char * ) ( f . name ) );
    }

    return 0;
}


 
# 249

static int resolve_element (item)
    Item item;
{
    struct distributed d;
    struct material    m;
    unsigned	       i;
    unsigned	       number;
    Tree	       tree;
    Element	       element;


     

    element = (Element) item;
    number = element -> number;
    problem.elements [number] = element;



     

    tree = problem.material_tree;
    m.name = (char *) element -> material;

    if (m.name) {
	element -> material = (Material) TreeSearch (tree, &m);

	if (!element -> material)
	    error ("element %u uses undefined material %s", number, m.name);

	 if ( m . name ) free ( ( char * ) ( m . name ) );
    } else
	element -> material = &default_material;


     

    tree = problem.distributed_tree;

    for (i = 1; i <= element -> numdistributed; i ++) {
	d.name = (char *) element -> distributed [i];
	element -> distributed [i] = (Distributed) TreeSearch (tree, &d);

	if (!element -> distributed)
	    error ("element %u used undefined load %s", number, d.name);

	 if ( d . name ) free ( ( char * ) ( d . name ) );
    }


     

    if (element -> definition)
	for (i = 1; i <= element -> definition -> numnodes; i ++)
	    if (element -> node [i])
		element -> node [i] = problem.nodes [(int) element -> node [i]];

    return 0;
}

static int case_count;

 
# 317

static int resolve_loadcase (item)
    Item item;
{
    struct force       f;
    struct node	       n;
    struct distributed l;
    struct element     e;
    LoadCase	       loadcase;
    unsigned	       i;


     

    loadcase = (LoadCase) item;
    problem.loadcases [case_count] = loadcase;

    for (i = 1 ; i <= loadcase -> numforces ; i++) {
       f.name = (char *) loadcase -> forces [i];
       n.number = (unsigned) loadcase -> nodes [i];

       loadcase -> nodes [i] = (Node) TreeSearch (problem.node_tree, &n);
       if (!loadcase -> nodes [i])
           error ("load case %s used undefined node %d", loadcase -> name, n.number);

       loadcase -> forces [i] = (Force) TreeSearch (problem.force_tree, &f);
       if (!loadcase -> forces [i])
           error ("load case %s used undefined force %s", loadcase -> name, f.name);

        if ( f . name ) free ( ( char * ) ( f . name ) );
    }

    for (i = 1 ; i <= loadcase -> numloads ; i++) {
       l.name = (char *) loadcase -> loads [i];
       e.number = (unsigned) loadcase -> elements [i];

       loadcase -> elements [i] = (Element) TreeSearch (problem.element_tree, &e);
       if (!loadcase -> elements [i])
           error ("load case %s used undefined element %d", loadcase -> name, e.number);

       loadcase -> loads [i] = (Distributed) TreeSearch (problem.distributed_tree, &f);
       if (!loadcase -> loads [i])
           error ("load case %s used undefined load %s", loadcase -> name, l.name);

        if ( l . name ) free ( ( char * ) ( l . name ) );
    }

    case_count ++;

    return 0;
}

 
# 380

static void resolve_names ( )
{
    unsigned      i;
    struct node   n;


    if (problem.num_nodes) {
	if (!(problem.nodes =  ( Node * ) malloc ( sizeof ( Node ) * ( problem . num_nodes ) )))
	    Fatal ("unable to allocate memory");

	 if ( problem . nodes ) ( problem . nodes ) --;

	for (i = 1; i <= problem.num_nodes; i ++)
	    problem.nodes [i] =  0 ;

	TreeSetIterator (problem.node_tree, resolve_node);
	TreeIterate (problem.node_tree);

	for (i = 1; i <= problem.num_nodes; i ++)
	    if (!problem.nodes [i])
		error ("node %u is not defined", i);
    }

    if (problem.num_elements) {
	if (!(problem.elements =  ( Element * ) malloc ( sizeof ( Element ) * ( problem . num_elements ) )))
	    Fatal ("unable to allocate memory");

	 if ( problem . elements ) ( problem . elements ) --;

	for (i = 1; i <= problem.num_elements; i ++)
	    problem.elements [i] =  0 ;

	TreeSetIterator (problem.element_tree, resolve_element);
	TreeIterate (problem.element_tree);

	for (i = 1; i <= problem.num_elements; i ++)
	    if (!problem.elements [i])
		error ("element %u is not defined", i);
    }

    if ((problem.num_loadcases = TreeSize(problem.loadcase_tree))) {
        if (!(problem.loadcases =  ( LoadCase * ) malloc ( sizeof ( LoadCase ) * ( problem . num_loadcases ) )))
            Fatal ("unable to allocate memory");

         if ( problem . loadcases ) ( problem . loadcases ) --;

        for (i = 1 ; i <= problem.num_loadcases ; i ++)
            problem.loadcases [i] =  0 ;

        case_count = 1;
        TreeSetIterator (problem.loadcase_tree, resolve_loadcase);
        TreeIterate (problem.loadcase_tree);
    }

	 
# 438

    if (analysis.numnodes) {
        for (i = 1 ; i <= analysis.numnodes ; i++) {
            n.number = (unsigned) analysis.nodes [i];
            analysis.nodes [i] = (Node) TreeSearch (problem.node_tree, &n);
            if (analysis.nodes [i] ==  0 )
                error ("analysis node %d not defined", n.number);
        }
    }

    if (analysis.input_node) {
        n.number = (unsigned) analysis.input_node;
        analysis.input_node = (Node) TreeSearch (problem.node_tree, &n);
        if (analysis.input_node ==  0 )
            error ("analysis input node %d not defined", n.number);
    }
}


 
# 465

int ReadFeltFile (filename)
    char *filename;
{
    unsigned i;
    char     buffer [2048];
    char    *plural;
    FILE    *input;


     

    if (filename) {
# 479
	if (cpp !=  0 ) {
	    if ( ! strcmp ( filename , "-" ))
		sprintf (buffer, "%s", cpp_command);
	    else {
		if (access (filename,  4 )) {
		    error ("Unable to open %s", filename);
		    return 1;
		}
		sprintf (buffer, "%s %s", cpp_command, filename);
	    }

	    if (!(input = popen (buffer, "r"))) {
		error ("Unable to execute %s", cpp);
		return 1;
	    }

	} else
# 497
	{
	    if ( ! strcmp ( filename , "-" ))
		input =  ( & __iob [ 0 ] );
	    else if (!(input = fopen (filename, "r"))) {
		error ("Unable "problem.c", line 645: invalid input token: "/opt/SUNWspro/bin/cc
to open %s", filename);
		return 1;
	    }
	}
    } else
	input =  0 ;


     

    problem.mode	     = Static;
    problem.title	     = strdup ("");
    problem.num_dofs	     = 0;
    problem.num_nodes	     = 0;
    problem.num_elements     = 0;
    problem.num_loadcases    = 0;
    problem.num_errors	     = 0;
    problem.line	     = 1;
    problem.nodes	     =  0 ;
    problem.elements	     =  0 ;
    problem.node_tree	     = TreeCreate (node_cmp);
    problem.element_tree     = TreeCreate (element_cmp);
    problem.material_tree    = TreeCreate (material_cmp);
    problem.distributed_tree = TreeCreate (distributed_cmp);
    problem.force_tree	     = TreeCreate (force_cmp);
    problem.constraint_tree  = TreeCreate (constraint_cmp);
    problem.loadcase_tree    = TreeCreate (loadcase_cmp);

    if (filename)
	problem.filename = strdup ( ! strcmp ( filename , "-" ) ? "stdin" : filename);
    else
	problem.filename = strdup ("");


     

    analysis.start     = 0.0;
    analysis.step      = 0.0;
    analysis.stop      = 0.0;
    analysis.gamma     = 0.0;
    analysis.beta      = 0.0;
    analysis.alpha     = 0.0;
    analysis.Rk	       = 0.0;
    analysis.Rm        = 0.0;
    analysis.iterations = 0;
    analysis.load_steps = 0;
    analysis.tolerance = 0.0;
    analysis.relaxation = 0.0;
    analysis.mass_mode = 0;
    analysis.nodes     =  0 ;
    analysis.numnodes  = 0;
    analysis.numdofs   = 0;
    analysis.input_node =  0 ;
    analysis.input_dof = 0;

    for (i = 1 ; i <= 3 ; i++)
       analysis.gravity [i] = 0.0;


     

    InitAppearance ( );


     

    if (filename) {
	init_lexer (input);
	yyparse ( );
	problem.line = 0;

# 575
	if (cpp)
	    pclose (input);
	else if (input !=  ( & __iob [ 0 ] ))
	    fclose (input);
# 580

	if (!problem.num_errors)
	    resolve_names ( );


	 

	if (problem.num_errors) {
	    plural = problem.num_errors != 1 ? "errors" : "error";
	    error ("%u %s found in input", problem.num_errors, plural);
	    return problem.num_errors;
	}
    }

    return 0;
}


 
# 608

AnalysisType SetAnalysisMode ( )
{
    if (problem.mode == Static && problem.num_loadcases > 0)
        return StaticLoadCases;
    else if (problem.mode == Static && 
             (analysis.input_node || analysis.input_dof))
        return StaticLoadRange;
    else if (problem.mode == StaticSubstitution && 
             (analysis.input_node || analysis.input_dof)) 
       return StaticSubstitutionLoadRange;
    else if (problem.mode == StaticIncremental && 
             (analysis.input_node || analysis.input_dof)) 
       return StaticSubstitutionLoadRange;

    return problem.mode;        
}


 
# 633

int ParseCppOptions (argc, argv)
    int  *argc;
    char *argv [ ];
{
    int   i;
    int   j;
    char *arg;
    char  cpp_args [2048];


    j = 1;
    cpp =  "/opt/SUNWspro/bin/cc ;
    cpp_args [0] = 0;

    for (i = 1; i < *argc; i ++)
	if ((arg = argv [i]) [0] != '-') {
	    argv [j ++] = arg;
	} else if ( ! strcmp ( arg , "-nocpp" )) {
	    cpp =  0 ;
	} else if ( ! strcmp ( arg , "-cpp" )) {
	    if (++ i == *argc)
		return 1;
	    cpp = argv [i];
	} else if (arg [1] == 'D' || arg [1] == 'U' || arg [1] == 'I') {
	    strcat (cpp_args, " '");
	    strcat (cpp_args, arg);
	    strcat (cpp_args, "'");
	} else
	    argv [j ++] = arg;

    if (cpp)
	sprintf (cpp_command, "%s -I%s %s", cpp,  "/usr/pkg/share/felt" , cpp_args);

    argv [*argc = j] =  0 ;
    return 0;
}


 
# 677

int CompileCode (text)
    char *text;
{
    char input [2048];


    sprintf (input, "x = %s end", text);

    init_lexer ( 0 );
    problem.input = input;
    return yyparse ( );
}


 
# 698

double exptod (expr, ptr)
    char  *expr;
    char **ptr;
{
    Code code;


    code = CompileCode (expr) ?  0 : InCore;

    if (ptr)
	*ptr = problem.input;

    return EvalCode (code, 0.0);
}


 
# 721

void InitAppearance ( )
{
    unsigned i;


    appearance.node_numbers    =  ( - 99999999 );
    appearance.element_numbers =  ( - 99999999 );
    appearance.snap	       =  ( - 99999999 );
    appearance.grid	       =  ( - 99999999 );
    appearance.snap_size       =  ( - 99999999 );
    appearance.grid_size       =  ( - 99999999 );
    appearance.x_min	       =  ( - 99999999 );
    appearance.x_max	       =  ( - 99999999 );
    appearance.y_min	       =  ( - 99999999 );
    appearance.y_max	       =  ( - 99999999 );
    appearance.x_pos	       =  ( - 99999999 );
    appearance.y_pos	       =  ( - 99999999 );
    appearance.scale	       =  ( - 99999999 );
    appearance.width	       =  ( - 99999999 );
    appearance.height	       =  ( - 99999999 );
    appearance.num_figures     = 0;

    for (i = 0; i < appearance.num_figures; i ++) {
	 if ( appearance . figures [ i ] . color ) free ( ( char * ) ( appearance . figures [ i ] . color ) );
	 if ( appearance . figures [ i ] . text ) free ( ( char * ) ( appearance . figures [ i ] . text ) );
	 if ( appearance . figures [ i ] . font ) free ( ( char * ) ( appearance . figures [ i ] . font ) );
	 if ( appearance . figures [ i ] . points ) free ( ( char * ) ( appearance . figures [ i ] . points ) );
    }

     if ( appearance . figures ) free ( ( char * ) ( appearance . figures ) );
     if ( appearance . label_font ) free ( ( char * ) ( appearance . label_font ) );
     if ( appearance . node_color ) free ( ( char * ) ( appearance . node_color ) );
     if ( appearance . element_color ) free ( ( char * ) ( appearance . element_color ) );

    appearance.figures	     =  0 ;
    appearance.label_font    =  0 ;
    appearance.node_color    =  0 ;
    appearance.element_color =  0 ;
    appearance.tool_color    =  0 ;
    appearance.tool_font     =  0 ;
}
#ident "acomp: Sun C 5.5 2003/03/12"
cc: acomp failed for problem.c
*** Error code 2

Stop.
make: stopped in /work/pkgbuild/cad/felt/work.sol9/FElt-3.05/lib/Felt
*** Error code 1

Stop.
make: stopped in /work/pkgbuild/cad/felt/work.sol9/FElt-3.05/lib
*** Error code 1

Stop.
bmake: stopped in /work/pkgbuild/cad/felt/work.sol9/FElt-3.05
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/cad/felt
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/cad/felt
BULK> felt-3.05 was marked as broken:
-rw-r--r--   1 root     other      64121 Jan 23 13:54 .broken.html
bmake deinstall
===> Deinstalling for felt
BULK> Marking all packages which depend upon felt-3.05 as broken:
BULK> Build for felt-3.05 was not successful, aborting.