BSD 4_3_Reno release
[unix-history] / usr / src / lib / libc / stdlib / atof.3
index 0f068bc..228c6e1 100644 (file)
@@ -1,38 +1,65 @@
-.\"    @(#)atof.3      6.1 (Berkeley) %G%
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
 .\"
 .\"
-.TH ATOF 3  ""
-.AT 3
+.\" Redistribution and use in source and binary forms are permitted
+.\" provided that: (1) source distributions retain this entire copyright
+.\" notice and comment, and (2) distributions including binaries display
+.\" the following acknowledgement:  ``This product includes software
+.\" developed by the University of California, Berkeley and its contributors''
+.\" in the documentation or other materials provided with the distribution
+.\" and in all advertising materials mentioning features or use of this
+.\" software. Neither the name of the University nor the names of its
+.\" contributors may be used to endorse or promote products derived
+.\" from this software without specific prior written permission.
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+.\"
+.\"    @(#)atof.3      6.2 (Berkeley) 5/16/90
+.\"
+.TH ATOF 3 "May 16, 1990"
+.UC 7
 .SH NAME
 .SH NAME
-atof, atoi, atol \- convert ASCII to numbers
+atof \- convert ASCII string to double
 .SH SYNOPSIS
 .nf
 .SH SYNOPSIS
 .nf
-.B double atof(nptr)
-.B char *nptr;
-.PP
-.B atoi(nptr)
-.B char *nptr;
-.PP
-.B long atol(nptr)
-.B char *nptr;
+.ft B
+#include <stdlib.h>
+
+double
+atof(const char *nptr);
+.ft R
 .fi
 .SH DESCRIPTION
 .fi
 .SH DESCRIPTION
-These functions convert a string pointed to by
+The
+.I atof
+function converts the initial portion of the string pointed to by
 .I nptr
 .I nptr
-to floating, integer, and long integer representation respectively.
-The first unrecognized character ends the string.
-.PP
-.I Atof
-recognizes an optional string of spaces, then an optional sign, then
-a string of digits optionally containing a decimal
-point, then an optional `e' or `E' followed by an optionally signed integer.
+to
+.I double
+representation.
 .PP
 .PP
-.I Atoi
-and
-.I atol
-recognize an optional string of spaces, then an optional sign, then a
-string of
-digits.
+It is equivalent to:
+.sp
+.RS
+strtod(nptr, (char **)NULL);
+.RE
 .SH SEE ALSO
 .SH SEE ALSO
-scanf(3S)
+atoi(3), atol(3), strtod(3), strtol(3), strtoul(3)
+.SH STANDARDS
+.B Atof
+conforms to ANSI X3.159-1989 (``ANSI C'').
 .SH BUGS
 .SH BUGS
-There are no provisions for overflow.
+This manual page represents intent instead of actual practice.
+While it is intended that
+.I atof
+be implemented using
+.IR strtod (3),
+this has not yet happened.
+In the current system,
+.I atof
+translates a string in the following form to a double:
+an optional string of spaces, followed by an optional sign (``+'' or ``-''),
+followed by a string of digits which may contain a decimal point (``.''),
+followed by an optional exponent flag (``E'' or ``e''), followed by an
+optionally signed integer.