divert(-1)
# Copyright (c), 1987, 1995 StatSci, Inc.  All rights reserved.
define(`SPLUS_VERSION',3300)
define(`OpSys',ATT)
define(`NA',`ifelse($1,,2146435073,`ifelse($2,,(natst($1)!=0),$2,INT,($1==NA) , $2, REAL, ($1!=$1), (nnatst($1,$2)!=0))')')define(`NOARG',2139095143) # for  arithmetic (NaN)
define(`INF',`ifelse($1,,((SDUMMY+1.)/0.),$2,,(inftst($1,REAL)!=0),$2,REAL,((($1)==($1)) && ((0.*($1)) != 0.)),(inftst($1,$2)!=0))')
define(`NAVALUE',`is($1)==NA')
define(`intFALSE',0)
define(`intTRUE',1)
define(`MAX_FILE_NAME_LEN',255)
define(`PIPESIZE',4096)
define(`NCPW',4)	#chars per word
define(`DEPS',2.3d-16)
define(`LARGEINT',1073741824)define(`BIGINT',LARGEINT)
define(`PRECISION',1.2e-7)	# 1e-6 for Inter
define(`NDIGITS',7)
define(`BIGEXP',38)define(`BIG',1e`'BIGEXP)define(`SMALL',1.2e-BIGEXP)
define(`PI',3.1415926)define(`DEG2RD',.0174533)
define(`NASET',`ifelse($1,,`{invalid use of macro',ifelse($2,,`{invalid use of macro',`call setna2($1,$2)'))')
define(`SAVE',`save $*')	
define(`CHARACTER',`ifelse($1,,CHAR,$2,*,`character*(*) $1',`character*$2 $1') dnl
ifelse($3,,,`(shift(shift($*)))')')
define(`EOS',`char(0)')
define(`ESCAPE',`char(92)')
define(`NEWLINE',`char(10)')
define(`BACKSPACE',`char(8)')
define(`TAB',`char(9)')
define(`TSTRING',`"$1"//char(0)')
define(`LINEWIDTH',126)define(`LWIDTH',80)define(`FWIDTH',14)define(`MAXSTRING',511)
define(`ERRORFC',2)define(`STDIN',0)define(`STDOUT',1)
define(`MAXFC',15) /* size of stack for attach			*/
define(`FILECODE',`$1-1')define(`WHICHFILE',`$1+1')
define(`INCLUDE',`InClUdE($*)')
define(`InClUdE',`ifelse($1,,,
`include(SHOME/newfun/`include'/$1.m)
InClUdE(shift($*))')')
define(`XNAME',`substr(z$1,0,6)') 
define(`EXTERN',extern)
define(`NOEXTERN',`define(`EXTERN',`')')
define(`GCOS',`')define(`UNIX',`$*')
define(`STDPERMS',0775)
define(`READ',`ifelse($1,,0,`_READ($*)')')
define(`WRITE',1)define(`READWRITE',2)
define(`EXECUTE',2)
define(`MSG_FILE',`s/msg.d')	
define(`SYSDB_FILE',`s/data')
define(`SDEFAULT',`s')	
define(`SLOCAL',`slocal')	
define(`WORK_FILE',`swork')
define(`DB_FILE',`sdata')
define(`DUMP_FILE',`sdump')
define(`EDIT_FILE',`sedit')
define(`GRAPH_FILE',`sgraph')
define(`HELP_WHERE',`/.help')
define(`ICHAR',`ichar($1)')	
define(`CHARMAKE',`char($1)')
define(`LIST',`$*')
define(`D1MACH',`ifelse(
$1,1,translit(2.2250738585072014E-308,eE,dd),
$1,2,translit(1.7976931348623157E+308,eE,dd),
$1,3,translit(1.1102230246251565E-16,eE,dd),
$1,4,translit(2.2204460492503131E-16,eE,dd),
$1,5,3.01029995663981200d-01,)')
define(`R1MACH',`ifelse(
$1,1,1.1754943508222875E-38,
$1,2,3.4028234663852886E+38,
$1,3,5.9604644775390625E-08,
$1,4,1.1920928955078125E-07,
$1,5,3.010300100e-01,)')
define(`I1MACH',`ifelse(
$1,9,2147483647,
$1,10,2,
$1,11,24,
$1,12,(-126 +1),
$1,13,128,
$1,14,53,
$1,15,(-1022 +1),
$1,16,1024)')
define(`STACK_SAVE_LEN',4)
define(`MAXPROC',15)define(`MAXNAME',20)
define(`DSIZE',6)
define(`RSIZE',eval(2*DSIZE))
define(`ISIZE',eval(2*DSIZE))
define(`LSIZE',eval(2*DSIZE))
define(`SIZEOF',`ifelse($1,DBL,2,1)')
define(`ON_ERROR',1)
define(`ON_BREAK',2)
define(`PROBLEM_DONE',3)	/* for interface			*/
define(`F77_COMDECL',`$1_')
define(`F77_COM',`$1_')
define(`F77_NAME',`$1_()')	
define(`F77_CALL',`
	define(`EXTRAS',`')
	$1_( DOCARGS(shift($*)) translit(EXTRAS,~,`,') )
')
define(`F77_MAIN',`MAIN_(){}')  
define(`DOCARGS',`
	ifelse($1,,,`
		DOCARG(BKUP($1))
		ifelse($2,,,`,')
		DOCARGS(shift($*))')
')
define(`DOCARG',`
	ifelse($2,,`errprint(argument $1 without mode) m4exit(1)')
	ifelse(
	$1,integer,`INTCARG($2)',
	$1,int,`INTCARG($2)',
	$1,real,`REALCARG($2)',
	$1,double,`DBLCARG($2)',
	$1,fun,`FUNCARG($2)',
	$1,char,`CHARCARG($2)',
	$1,character,`CHARCARG($2)',
	`errprint(Unknown mode $1) m4exit(2)')
')
define(`INTCARG',`
	`$1'
')
define(`REALCARG',`
	`$1'
')
define(`DBLCARG',`
	`$1'
')
define(`CHARCARG',`
	`$1'
	define(`EXTRAS',EXTRAS ~ 100L)
')
define(`FUNCARG',`
	`$1'
')
define(`MAKES_F77_CHAR_CALL',`')      
define(`F77_SUB',`
	define(`NSTRINGS',`0')
	define(`DECLARATIONS',`')
	define(`EXTRAS',`')
	$1_( DOARGS(shift($*)) translit(EXTRAS,~,`,') )
	DECLARATIONS
')
define(`DOARGS',`
	ifelse($1,,,`
		DOARG(BKUP($1))
		ifelse($2,,,`,')
		DOARGS(shift($*))')
')
define(`BKUP',`substr($1,0,index($1,=)),substr($1,eval(index($1,=)+1))')
define(`DOARG',`
	ifelse($2,,`errprint(argument $1 without mode) m4exit(1)')
	ifelse(
	$1,integer,`INTARG($2)',
	$1,int,`INTARG($2)',
	$1,real,`REALARG($2)',
	$1,double,`DBLARG($2)',
	$1,char,`CHARARG($2)',
	$1,character,`CHARARG($2)',
	`errprint(Unknown mode $1) m4exit(2)')
')
define(`INTARG',`
	`$1'
	define(`DECLARATIONS',DECLARATIONS`
		long *$1;')
')
define(`REALARG',`
	`$1'
	define(`DECLARATIONS',DECLARATIONS`
		float *$1;')
')
define(`DBLARG',`
	`$1'
	define(`DECLARATIONS',DECLARATIONS`
		double *$1;')
')
define(`CHARARG',`
	`$1'
	define(`NSTRINGS',eval(NSTRINGS+1))
	define(`DECLARATIONS',DECLARATIONS`
		char *$1;
		long DUM'NSTRINGS;)
	define(`EXTRAS',EXTRAS ~ DUM`'NSTRINGS)
')
define(`F_INTP',`($1)')
define(`F_REALP',`($1)')
define(`F_DBLP',`($1)')
define(`F_CHARP',`($1)')
INCLUDE(sccs)
define(`SCCS_M4_ID_MACH',
`SCCS_ID(90001,`@(#)'mach.mpp 3.43 last edit 6/12/95 StatSci. Basefile BASEFILE)')
divert(0)dnl
