php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_strtod.h
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | Zend Engine |
4 +----------------------------------------------------------------------+
5 | Copyright (c) Zend Technologies Ltd. (http://www.zend.com) |
6 +----------------------------------------------------------------------+
7 | This source file is subject to version 2.00 of the Zend license, |
8 | that is bundled with this package in the file LICENSE, and is |
9 | available through the world-wide-web at the following url: |
10 | http://www.zend.com/license/2_00.txt. |
11 | If you did not receive a copy of the Zend license and are unable to |
12 | obtain it through the world-wide-web, please send a note to |
13 | license@zend.com so we can mail you a copy immediately. |
14 +----------------------------------------------------------------------+
15 | Authors: Derick Rethans <derick@php.net> |
16 +----------------------------------------------------------------------+
17*/
18
19/* This is a header file for the strtod implementation by David M. Gay which
20 * can be found in zend_strtod.c */
21#ifndef ZEND_STRTOD_H
22#define ZEND_STRTOD_H
23#include <zend.h>
24
26#define ZEND_STRTOD_K_MAX 7
27typedef struct _zend_strtod_bigint zend_strtod_bigint;
33ZEND_API void zend_freedtoa(char *s);
34ZEND_API char *zend_dtoa(double _d, int mode, int ndigits, int *decpt, bool *sign, char **rve);
35ZEND_API char *zend_gcvt(double value, int ndigit, char dec_point, char exponent, char *buf);
36ZEND_API double zend_strtod(const char *s00, const char **se);
37ZEND_API double zend_hex_strtod(const char *str, const char **endptr);
38ZEND_API double zend_oct_strtod(const char *str, const char **endptr);
39ZEND_API double zend_bin_strtod(const char *str, const char **endptr);
42
43/* double limits */
44#include <float.h>
45#if defined(DBL_MANT_DIG) && defined(DBL_MIN_EXP)
46#define ZEND_DOUBLE_MAX_LENGTH (3 + DBL_MANT_DIG - DBL_MIN_EXP)
47#else
48#define ZEND_DOUBLE_MAX_LENGTH 1080
49#endif
50
51#endif
sign
Definition bcmath.h:37
char s[4]
Definition cdf.c:77
zend_ffi_ctype_name_buf buf
Definition ffi.c:4685
char * mode
const char * endptr
Definition session.c:1021
zend_strtod_bigint * p5s
Definition zend_strtod.h:30
zend_strtod_bigint * freelist[ZEND_STRTOD_K_MAX+1]
Definition zend_strtod.h:29
#define ZEND_API
#define END_EXTERN_C()
#define BEGIN_EXTERN_C()
ZEND_API void zend_freedtoa(char *s)
ZEND_API double zend_bin_strtod(const char *str, const char **endptr)
ZEND_API double zend_hex_strtod(const char *str, const char **endptr)
struct _zend_strtod_bigint zend_strtod_bigint
Definition zend_strtod.h:27
ZEND_API double zend_oct_strtod(const char *str, const char **endptr)
struct _zend_strtod_state zend_strtod_state
ZEND_API int zend_shutdown_strtod(void)
ZEND_API double zend_strtod(const char *s00, const char **se)
ZEND_API char * zend_dtoa(double _d, int mode, int ndigits, int *decpt, bool *sign, char **rve)
ZEND_API char * zend_gcvt(double value, int ndigit, char dec_point, char exponent, char *buf)
#define ZEND_STRTOD_K_MAX
Definition zend_strtod.h:26
value