|
|
1.1 root 1: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2: /*
3: * The contents of this file are subject to the Mozilla Public
4: * License Version 1.1 (the "License"); you may not use this file
5: * except in compliance with the License. You may obtain a copy of
6: * the License at http://www.mozilla.org/MPL/
7: *
8: * Software distributed under the License is distributed on an "AS
9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10: * implied. See the License for the specific language governing
11: * rights and limitations under the License.
12: *
13: * The Original Code is the Netscape Portable Runtime (NSPR).
14: *
15: * The Initial Developer of the Original Code is Netscape
16: * Communications Corporation. Portions created by Netscape are
17: * Copyright (C) 1998-2000 Netscape Communications Corporation. All
18: * Rights Reserved.
19: *
20: * Contributor(s):
21: *
22: * Alternatively, the contents of this file may be used under the
23: * terms of the GNU General Public License Version 2 or later (the
24: * "GPL"), in which case the provisions of the GPL are applicable
25: * instead of those above. If you wish to allow use of your
26: * version of this file only under the terms of the GPL and not to
27: * allow others to use your version of this file under the MPL,
28: * indicate your decision by deleting the provisions above and
29: * replace them with the notice and other provisions required by
30: * the GPL. If you do not delete the provisions above, a recipient
31: * may use your version of this file under either the MPL or the
32: * GPL.
33: */
34:
35: #ifndef prdtoa_h___
36: #define prdtoa_h___
37:
38: #include "prtypes.h"
39:
40: PR_BEGIN_EXTERN_C
41:
42: /*
43: ** PR_strtod() returns as a double-precision floating-point number
44: ** the value represented by the character string pointed to by
45: ** s00. The string is scanned up to the first unrecognized
46: ** character.
47: **a
48: ** If the value of se is not (char **)NULL, a pointer to
49: ** the character terminating the scan is returned in the location pointed
50: ** to by se. If no number can be formed, se is set to s00, and
51: ** zero is returned.
52: */
53: #if defined(HAVE_WATCOM_BUG_1)
54: /* this is a hack to circumvent a bug in the Watcom C/C++ 11.0 compiler
55: ** When Watcom fixes the bug, remove the special case for Win16
56: */
57: PRFloat64 __pascal __loadds __export
58: #else
59: NSPR_API(PRFloat64)
60: #endif
61: PR_strtod(const char *s00, char **se);
62:
63: /*
64: ** PR_cnvtf()
65: ** conversion routines for floating point
66: ** prcsn - number of digits of precision to generate floating
67: ** point value.
68: */
69: NSPR_API(void) PR_cnvtf(char *buf, PRIntn bufsz, PRIntn prcsn, PRFloat64 fval);
70:
71: /*
72: ** PR_dtoa() converts double to a string.
73: **
74: ** ARGUMENTS:
75: ** If rve is not null, *rve is set to point to the end of the return value.
76: ** If d is +-Infinity or NaN, then *decpt is set to 9999.
77: **
78: ** mode:
79: ** 0 ==> shortest string that yields d when read in
80: ** and rounded to nearest.
81: */
82: NSPR_API(PRStatus) PR_dtoa(PRFloat64 d, PRIntn mode, PRIntn ndigits,
83: PRIntn *decpt, PRIntn *sign, char **rve, char *buf, PRSize bufsize);
84:
85: PR_END_EXTERN_C
86:
87: #endif /* prdtoa_h___ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.