/************************************************************************* * Header file for Bailey Makeham and other maximum likelihood models * * Commissioned by: R. Clifton Bailey, HCFA * * Henry Krakauer, HCFA HSQB * * Based on code written by Jim Summe, NIH * * Author, Bill Rogers: Rand, Computing Resource Center * *************************************************************************/ #if !defined(COMPILER) #define COMPILER 1 #include #include /************************************************************************* * Global constants (compiler/machine type) * *************************************************************************/ #define MSDOS 1 #define HILO 1 #define LOHI 2 /************************************************************************* * Compiler dependent typedefs and #defines * * Think C is an Apple Macintosh compiler with 2 byte ints and 12 byte * * doubles and a linear address space. ANSI standard. * * High C is a 386 protected mode compiler with standard 4 byte ints * * and 8 byte doubles. ANSI standard. * * Turbo C is an 8088/80286 compatible compiler with 2 byte ints and 8 * * byte doubles. ANSI standard. * *************************************************************************/ #if defined(THINK_C) #define BYTORD HILO typedef short double DOUBLE; /* 8 byte number */ typedef double LDOUBL; typedef int Int2; typedef long Int4; #define LONGREAD 1 #define ANSI 1 #endif #if defined(__HIGHC__) #define BYTORD LOHI typedef double DOUBLE; typedef double LDOUBL; typedef short int Int2; typedef int Int4; #define LONGREAD 1 #define ANSI 1 #endif #if defined(TURBO_C) #define BYTORD LOHI typedef double DOUBLE; typedef double LDOUBL; typedef int Int2; typedef long Int4; #define LONGREAD 0 #define ANSI 1 #endif /************************************************************************* * General defines with numerical significance. Machine dependent? * *************************************************************************/ #define FUZZ 1.176836407e-16 /* Maybe want IEEE low bit? */ #define INFINITY 1e30 #define b_n 1 /************************************************************************* * #defines needed to compile YACC-generated code * *************************************************************************/ #define YYSTYPE int extern YYSTYPE yylval; extern int yydebug; /************************************************************************* * #defines needed for the lexical parser yylex * *************************************************************************/ #define LTAB 1000 #define BAD_ID (-1) extern int CurrentID; #define LEXEOF EOF extern char quotechar; #endif