*! NJC 1.0.0 21 January 2000
program define _grndint
	version 6
        gettoken type 0 : 0
        gettoken g 0 : 0
        gettoken eqs 0 : 0
        gettoken lparen 0 : 0, parse("(")
        gettoken rparen 0 : 0, parse(")")
        syntax [if] [in] , MAx(int) [ MIn(int 1) ]

	if `max' <= `min' {
		di in r "max(`max') does not exceed min(`min')"
		exit 198
	}

	tempvar touse
	quietly {
		mark `touse' `if' `in'
		/* ignore user `type' */
		if `max' <= 126 & `min' >= -127 {
			local type "byte"
		}
		else if `max' <= 32766 & `min' >= -32767 {
			local type "int"
		}
		else local type "long"
		gen `type' `g' = /*
		*/ `min' + int((`max' - `min' + 1) * uniform( )) if `touse'
	}
end