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