14 size_t target_width = 0;
23 const char*
digits = uppercase ?
"0123456789ABCDEF" :
"0123456789abcdef";
27 if (temp_value == 0) {
31 while (temp_value > 0) {
32 char ch =
digits[temp_value % 16];
34 char temp_ch_str[2] = {ch,
'\0'};
46 while (
result.size() < target_width) {
76 v = -
static_cast<u32
>(
value);
78 v =
static_cast<u32
>(
value);
80 while (v || tp == tmp) {
82 v = radix ? v / radix : 0;
115 while (v || tp == tmp) {
117 v = radix ? v / radix : 0;
121 *tp++ = i +
'a' - 10;
144 while (v || tp == tmp) {
146 v = radix ? v / radix : 0;
150 *tp++ = i +
'a' - 10;
168 while (v || tp == tmp) {
170 v = radix ? v / radix : 0;
174 *tp++ = i +
'a' - 10;
190 fl::size len =
result.length();
191 if (len > 63) len = 63;
192 for (fl::size i = 0; i < len; ++i) {
202 float fraction = 0.0f;
203 float divisor = 1.0f;
204 int isFractional = 0;
215 (str[
pos] ==
' ' || str[
pos] ==
'\t' || str[
pos] ==
'\n' ||
216 str[
pos] ==
'\r' || str[
pos] ==
'\f' || str[
pos] ==
'\v')) {
221 if (
pos < len && str[
pos] ==
'-') {
224 }
else if (
pos < len && str[
pos] ==
'+') {
230 if (str[
pos] >=
'0' && str[
pos] <=
'9') {
233 fraction += (str[
pos] -
'0') / divisor;
237 }
else if (str[
pos] ==
'.' && !isFractional) {
265 (str[
pos] ==
' ' || str[
pos] ==
'\t' || str[
pos] ==
'\n' ||
266 str[
pos] ==
'\r' || str[
pos] ==
'\f' || str[
pos] ==
'\v')) {
271 if (
pos < len && str[
pos] ==
'-') {
274 }
else if (
pos < len && str[
pos] ==
'+') {
279 while (
pos < len && str[
pos] >=
'0' && str[
pos] <=
'9') {
290 while (str[len] !=
'\0') {
HexIntWidth
Integer width classification for hex conversion.
Compile-time linker keep-alive hook for a single fl::Bus.
fl::string format_float(float value, int precision) FL_NOEXCEPT
constexpr int type_rank< T >::value
int itoa(i32 value, char *sp, int radix)
Convert signed 32-bit integer to string buffer in given radix.
int utoa64(u64 value, char *sp, int radix)
Convert unsigned 64-bit integer to string buffer in given radix.
int parseInt(const char *str, fl::size len)
Parse an integer from a character buffer.
int utoa32(u32 value, char *sp, int radix)
Convert unsigned 32-bit integer to string buffer in given radix.
constexpr enable_if< is_fixed_point< T >::value, int >::type sign(T x) FL_NOEXCEPT
int itoa64(i64 value, char *sp, int radix)
Convert signed 64-bit integer to string buffer in given radix.
expected< T, E > result
Alias for expected (Rust-style naming)
constexpr int numeric_limits< char >::digits
float parseFloat(const char *str, fl::size len)
Parse a floating point number from a character buffer.
void ftoa(float value, char *buffer, int precision)
Convert floating point number to string buffer.
Base definition for an LED controller.