19 {
20
22
23#ifdef FASTLED_TESTING
24
25 sprintf(buffer, "%f", value);
26 return;
27
28#else
29
30 if (value < 0) {
31 *buffer++ = '-';
32 value = -value;
33 }
34
35
36 uint32_t intPart = (uint32_t)value;
37
38
39 char intBuf[12];
40 int i = 0;
41 do {
42 intBuf[i++] = '0' + (intPart % 10);
43 intPart /= 10;
44 } while (intPart);
45
46
47 while (i--) {
48 *buffer++ = intBuf[i];
49 }
50
51 *buffer++ = '.';
52
53
54 float fracPart = value - (uint32_t)value;
55 for (int j = 0; j < precision; ++j) {
56 fracPart *= 10.0f;
57 int digit = (int)fracPart;
58 *buffer++ = '0' + digit;
59 fracPart -= digit;
60 }
61
62 *buffer = '\0';
63#endif
64}
#define FASTLED_UNUSED(x)