 b6cbf7203b
			
		
	
	
		b6cbf7203b
		
	
	
	
	
		
			
			This patch imports the unmodified current version of NetBSD libc. The NetBSD includes are in /nbsd_include, while the libc code itself is split between lib/nbsd_libc and common/lib/libc.
		
			
				
	
	
		
			199 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: strtod.3,v 1.20 2007/10/24 13:42:10 reed Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1990, 1991, 1993
 | |
| .\"	The Regents of the University of California.  All rights reserved.
 | |
| .\"
 | |
| .\" This code is derived from software contributed to Berkeley by
 | |
| .\" the American National Standards Committee X3, on Information
 | |
| .\" Processing Systems.
 | |
| .\"
 | |
| .\" Redistribution and use in source and binary forms, with or without
 | |
| .\" modification, are permitted provided that the following conditions
 | |
| .\" are met:
 | |
| .\" 1. Redistributions of source code must retain the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer.
 | |
| .\" 2. Redistributions in binary form must reproduce the above copyright
 | |
| .\"    notice, this list of conditions and the following disclaimer in the
 | |
| .\"    documentation and/or other materials provided with the distribution.
 | |
| .\" 3. 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 BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 | |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 | |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
| .\" SUCH DAMAGE.
 | |
| .\"
 | |
| .\"     from: @(#)strtod.3	8.1 (Berkeley) 6/4/93
 | |
| .\"
 | |
| .Dd March 12, 2006
 | |
| .Dt STRTOD 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm strtod ,
 | |
| .Nm strtof ,
 | |
| .Nm strtold
 | |
| .Nd convert
 | |
| .Tn ASCII
 | |
| string to double, float, or long double
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In stdlib.h
 | |
| .Ft double
 | |
| .Fn strtod "const char * restrict nptr" "char ** restrict endptr"
 | |
| .Ft float
 | |
| .Fn strtof "const char * restrict nptr" "char ** restrict endptr"
 | |
| .Ft long double
 | |
| .Fn strtold "const char * restrict nptr" "char ** restrict endptr"
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn strtod
 | |
| function converts the initial portion of the string
 | |
| pointed to by
 | |
| .Fa nptr
 | |
| to
 | |
| .Em double
 | |
| representation.
 | |
| .Pp
 | |
| The
 | |
| .Fn strtof
 | |
| function converts the initial portion of the string
 | |
| pointed to by
 | |
| .Fa nptr
 | |
| to
 | |
| .Em float
 | |
| representation.
 | |
| .Pp
 | |
| The
 | |
| .Fn strtold
 | |
| function converts the initial portion of the string
 | |
| pointed to by
 | |
| .Fa nptr
 | |
| to
 | |
| .Em long double
 | |
| representation.
 | |
| .Pp
 | |
| The expected form of the string is an optional plus
 | |
| .Pq Sq +
 | |
| or minus sign
 | |
| .Pq Sq \-
 | |
| followed by one of the following:
 | |
| .Bl -dash
 | |
| .It
 | |
| a sequence of digits optionally containing
 | |
| a decimal-point character, optionally followed by an exponent.
 | |
| An exponent consists of an
 | |
| .Sq E
 | |
| or
 | |
| .Sq e ,
 | |
| followed by an optional plus
 | |
| or minus sign, followed by a sequence of digits.
 | |
| .It
 | |
| one of
 | |
| .Li INF
 | |
| or
 | |
| .Li INFINITY ,
 | |
| ignoring case.
 | |
| .It
 | |
| one of
 | |
| .Li NAN
 | |
| or
 | |
| .Li NAN(n-char-sequence-opt) ,
 | |
| ignoring case.
 | |
| This implementation currently does not interpret such a sequence.
 | |
| .El
 | |
| .Pp
 | |
| Leading white-space characters in the string (as defined by the
 | |
| .Xr isspace 3
 | |
| function) are skipped.
 | |
| .Sh RETURN VALUES
 | |
| The
 | |
| .Fn strtod ,
 | |
| .Fn strtof ,
 | |
| and
 | |
| .Fn strtold
 | |
| functions return the converted value, if any.
 | |
| .Pp
 | |
| A character sequence
 | |
| .Li INF
 | |
| or
 | |
| .Li INFINITY
 | |
| is converted to \*(If,
 | |
| if supported, else to the largest finite floating-point number representable
 | |
| on the machine (i.e.,
 | |
| .Tn VAX ) .
 | |
| .Pp
 | |
| A character sequence
 | |
| .Li NAN
 | |
| or
 | |
| .Li NAN(n-char-sequence-opt)
 | |
| is converted to a quiet \*(Na, if supported, else remains unrecognized (i.e.,
 | |
| .Tn VAX ) .
 | |
| .Pp
 | |
| If
 | |
| .Fa endptr
 | |
| is not
 | |
| .Dv NULL ,
 | |
| a pointer to the character after the last character used
 | |
| in the conversion is stored in the location referenced by
 | |
| .Fa endptr .
 | |
| .Pp
 | |
| If no conversion is performed, zero is returned and the value of
 | |
| .Fa nptr
 | |
| is stored in the location referenced by
 | |
| .Fa endptr .
 | |
| .Pp
 | |
| If the correct value would cause overflow, plus or minus
 | |
| .Dv HUGE_VAL ,
 | |
| .Dv HUGE_VALF ,
 | |
| or
 | |
| .Dv HUGE_VALL
 | |
| is returned (according to the return type and sign of the value), and
 | |
| .Dv ERANGE
 | |
| is stored in
 | |
| .Va errno .
 | |
| If the correct value would cause underflow, zero is
 | |
| returned and
 | |
| .Dv ERANGE
 | |
| is stored in
 | |
| .Va errno .
 | |
| .Sh ERRORS
 | |
| .Bl -tag -width Er
 | |
| .It Bq Er ERANGE
 | |
| Overflow or underflow occurred.
 | |
| .El
 | |
| .Sh SEE ALSO
 | |
| .Xr atof 3 ,
 | |
| .Xr atoi 3 ,
 | |
| .Xr atol 3 ,
 | |
| .Xr math 3 ,
 | |
| .Xr strtol 3 ,
 | |
| .Xr strtoul 3
 | |
| .Sh STANDARDS
 | |
| The
 | |
| .Fn strtod
 | |
| function
 | |
| conforms to
 | |
| .St -ansiC .
 | |
| The
 | |
| .Fn strtof
 | |
| and
 | |
| .Fn strtold
 | |
| functions conform to
 | |
| .St -isoC-99 .
 | |
| .Sh HISTORY
 | |
| The
 | |
| .Fn strtof
 | |
| and
 | |
| .Fn strtold
 | |
| functions appeared in
 | |
| .Nx 4.0 .
 |