xref: /freebsd/lib/libc/stdlib/strfrom.h (revision d15f2551b25f79ddcbe289faa95e655100b952da)
1 /*
2  * Copyright (c) 2026 Faraz Vahedi <kfv@kfv.io>
3  *
4  * SPDX-License-Identifier: BSD-2-Clause
5  */
6 
7 /*
8  * Internal declarations for strfrom* numeric conversion (C23 §7.24.1.3).
9  *
10  * Note: gdtoa dtoa() modes used:
11  *   2 – ndigits significant digits      (%e, %g)
12  *   3 – ndigits digits after '.'        (%f)
13  */
14 
15 #ifndef STRFROM_H
16 #define	STRFROM_H
17 
18 #include <limits.h>
19 #include <stddef.h>
20 
21 #define	dtoa		__dtoa
22 #define	freedtoa	__freedtoa
23 
24 #include "../stdio/floatio.h"
25 #include "gdtoa.h"
26 
27 char	__sf_parse_fmt(const char *, int *);
28 int	__sf_edoofus(char *, size_t);
29 const char *__sf_xdigits(char);
30 void	__sf_decimal_mode(char, int, int *, int *);
31 int	__sf_render_hex(char *, size_t, char, int, char *, char *, int, int);
32 int	__sf_render_decimal(char *, size_t, char, char, int, char *, char *,
33 	    int, int, int);
34 
35 #endif /* STRFROM_H */
36