aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/stdlib/strfrom.h
blob: 967897ea7f12ef1c7c77a9554c0c1fa874a39f67 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
 * Copyright (c) 2026 Faraz Vahedi <kfv@kfv.io>
 *
 * SPDX-License-Identifier: BSD-2-Clause
 */

/*
 * Internal declarations for strfrom* numeric conversion (C23 §7.24.1.3).
 *
 * Note: gdtoa dtoa() modes used:
 *   2 – ndigits significant digits      (%e, %g)
 *   3 – ndigits digits after '.'        (%f)
 */

#ifndef STRFROM_H
#define	STRFROM_H

#include <limits.h>
#include <stddef.h>

#define	dtoa		__dtoa
#define	freedtoa	__freedtoa

#include "../stdio/floatio.h"
#include "gdtoa.h"

char	__sf_parse_fmt(const char *, int *);
int	__sf_edoofus(char *, size_t);
const char *__sf_xdigits(char);
void	__sf_decimal_mode(char, int, int *, int *);
int	__sf_render_hex(char *, size_t, char, int, char *, char *, int, int);
int	__sf_render_decimal(char *, size_t, char, char, int, char *, char *,
	    int, int, int);

#endif /* STRFROM_H */