diff options
Diffstat (limited to 'Python/atof.c')
| -rw-r--r-- | Python/atof.c | 74 | 
1 files changed, 37 insertions, 37 deletions
| diff --git a/Python/atof.c b/Python/atof.c index 8fbde38..562fcd6 100644 --- a/Python/atof.c +++ b/Python/atof.c @@ -10,41 +10,41 @@  double atof(char *s)  { -	double a = 0.0; -	int e = 0; -	int c; -	while ((c = *s++) != '\0' && isdigit(c)) { -		a = a*10.0 + (c - '0'); -	} -	if (c == '.') { -		while ((c = *s++) != '\0' && isdigit(c)) { -			a = a*10.0 + (c - '0'); -			e = e-1; -		} -	} -	if (c == 'e' || c == 'E') { -		int sign = 1; -		int i = 0; -		c = *s++; -		if (c == '+') -			c = *s++; -		else if (c == '-') { -			c = *s++; -			sign = -1; -		} -		while (isdigit(c)) { -			i = i*10 + (c - '0'); -			c = *s++; -		} -		e += i*sign; -	} -	while (e > 0) { -		a *= 10.0; -		e--; -	} -	while (e < 0) { -		a *= 0.1; -		e++; -	} -	return a; +    double a = 0.0; +    int e = 0; +    int c; +    while ((c = *s++) != '\0' && isdigit(c)) { +        a = a*10.0 + (c - '0'); +    } +    if (c == '.') { +        while ((c = *s++) != '\0' && isdigit(c)) { +            a = a*10.0 + (c - '0'); +            e = e-1; +        } +    } +    if (c == 'e' || c == 'E') { +        int sign = 1; +        int i = 0; +        c = *s++; +        if (c == '+') +            c = *s++; +        else if (c == '-') { +            c = *s++; +            sign = -1; +        } +        while (isdigit(c)) { +            i = i*10 + (c - '0'); +            c = *s++; +        } +        e += i*sign; +    } +    while (e > 0) { +        a *= 10.0; +        e--; +    } +    while (e < 0) { +        a *= 0.1; +        e++; +    } +    return a;  } | 
