Welcome to mirror list, hosted at ThFree Co, Russian Federation.

atof.c « stdlib « libc « newlib - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: cf4abdb7142328d25582cfaa2c26455e5f91879b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
FUNCTION
   <<atof>>, <<atoff>>---string to double or float

INDEX
	atof
INDEX
	atoff

ANSI_SYNOPSIS
	#include <stdlib.h>
        double atof(const char *<[s]>);
        float atoff(const char *<[s]>);

TRAD_SYNOPSIS
	#include <stdlib.h>
        double atof(<[s]>)
        char *<[s]>;

        float atoff(<[s]>)
        char *<[s]>;

DESCRIPTION
<<atof>> converts the initial portion of a string to a <<double>>.
<<atoff>> converts the initial portion of a string to a <<float>>.

The functions parse the character string <[s]>,
locating a substring which can be converted to a floating point
value. The substring must match the format:
. [+|-]<[digits]>[.][<[digits]>][(e|E)[+|-]<[digits]>]
The substring converted is the longest initial
fragment of <[s]> that has the expected format, beginning with
the first non-whitespace character.  The substring
is empty if <<str>> is empty, consists entirely
of whitespace, or if the first non-whitespace character is
something other than <<+>>, <<->>, <<.>>, or a digit.

<<atof(<[s]>)>> is implemented as <<strtod(<[s]>, NULL)>>.
<<atoff(<[s]>)>> is implemented as <<strtodf(<[s]>, NULL)>>.

RETURNS
<<atof>> returns the converted substring value, if any, as a
<<double>>; or <<0.0>>,  if no conversion could be performed.
If the correct value is out of the range of representable values, plus
or minus <<HUGE_VAL>> is returned, and <<ERANGE>> is stored in
<<errno>>.
If the correct value would cause underflow, <<0.0>> is returned
and <<ERANGE>> is stored in <<errno>>.

<<atoff>> obeys the same rules as <<atof>>, except that it
returns a <<float>>.

PORTABILITY
<<atof>> is ANSI C. <<atof>>, <<atoi>>, and <<atol>> are subsumed by <<strod>>
and <<strol>>, but are used extensively in existing code. These functions are
less reliable, but may be faster if the argument is verified to be in a valid
range.

Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
*/


#include <stdlib.h>
#include <_ansi.h>

double
_DEFUN (atof, (s),
	_CONST char *s)
{
  return strtod (s, NULL);
}