/* str2double.c */

#include <stdio.h>
#include <ctype.h>
#include "str2double.h"

double str2double(char s[])
{
	int sign, i;
	double power, val;

	for(i = 0; isspace(s[i]); i++) { ; } 
	sign = (s[i] == '-' ? -1 : 1);
	if(s[i] == '+' || s[i] == '-') {
		i += 1;
	}
	
	for(val = 0.0; isdigit(s[i]); i++) {
		val = 10.0*val + (s[i] - '0');
	}

	if(s[i] == '.') {
		i += 1;
	}
	for(power = 1.0; isdigit(s[i]); i++) {
		val = 10.0*val + (s[i] - '0');
		power *= 10.0;
	}

	return(sign * val/power);
}

