/* unfortunately, we cannot just do an atof and convert result to float
   is neccessary, because that might result in over/underflow at an
   unexpected moment. For the time being, overflow in floating point
   constants goes undetected
*/
con_float(argval, str, res)
	char *str, *res;
{
	double f;
	double atof();
	int i;
	double frexp(), ldexp();
	int j;
	float fl;
	char *p;

	f = atof(str);
	if (f == 0 || argval == 8) {
		p = (char *) &f;
		while (argval--) *res++ = *p++;
		return;
	}
	fl = f;
	p = (char *) &fl;
	while (argval--) *res++ = *p++;
}