autogen definitions utils.tpl;

float_type = {
	name = float ;
	};

float_type = {
	name = double ;
	};

/*----------------------------------*/

io_type = {
	io_element	= short ;
	format_str		= "\"% d\"" ;
	};

io_type = {
	io_element	= int ;
	format_str		= "\"% d\"" ;
	};

io_type = {
	io_element	= float ;
	format_str		= "\"% g\"" ;
	};

io_type = {
	io_element 	= double ;
	format_str		= "\"% g\"" ;
	};

read_op = {
	op_element	= read ;
	count_name	= items ;
	};

read_op = {
	op_element	= readf ;
	count_name	= frames ;
	};

write_op = {
	op_element	= write ;
	count_name	= items ;
	};

write_op = {
	op_element	= writef ;
	count_name	= frames ;
	};

