Lines Matching +full:0 +full:f
26 int32_t e = -1, v, f = 0; in lwm2m_float_to_b32() local
36 if (val1 == 0 && val2 == 0) { in lwm2m_float_to_b32()
37 memset(b32, 0, len); in lwm2m_float_to_b32()
38 return 0; in lwm2m_float_to_b32()
45 while (v > 0) { in lwm2m_float_to_b32()
46 f >>= 1; in lwm2m_float_to_b32()
49 f |= (1 << 23); in lwm2m_float_to_b32()
61 while (v > 0 && i < 23) { in lwm2m_float_to_b32()
63 if (!f && e < 0 && v < PRECISION32) { in lwm2m_float_to_b32()
69 f |= 1 << (22 - i); in lwm2m_float_to_b32()
72 if (v == 0) { in lwm2m_float_to_b32()
82 memset(b32, 0, len); in lwm2m_float_to_b32()
85 if (val1 == 0) { in lwm2m_float_to_b32()
86 b32[0] = val2 < 0 ? 0x80 : 0; in lwm2m_float_to_b32()
88 b32[0] = val1 < 0 ? 0x80 : 0; in lwm2m_float_to_b32()
92 b32[0] |= e >> 1; in lwm2m_float_to_b32()
95 /* fraction: bits 22-0 */ in lwm2m_float_to_b32()
97 b32[1] |= (f >> 16) & 0x7F; in lwm2m_float_to_b32()
98 b32[2] = (f >> 8) & 0xFF; in lwm2m_float_to_b32()
99 b32[3] = f & 0xFF; in lwm2m_float_to_b32()
101 return 0; in lwm2m_float_to_b32()
107 int64_t v, f = 0; in lwm2m_float_to_b64() local
118 if (val1 == 0 && val2 == 0) { in lwm2m_float_to_b64()
119 memset(b64, 0, len); in lwm2m_float_to_b64()
120 return 0; in lwm2m_float_to_b64()
127 while (v > 0) { in lwm2m_float_to_b64()
128 f >>= 1; in lwm2m_float_to_b64()
131 f |= ((int64_t)1 << 52); in lwm2m_float_to_b64()
143 while (v > 0 && i < 52) { in lwm2m_float_to_b64()
145 if (!f && e < 0 && v < PRECISION64) { in lwm2m_float_to_b64()
151 f |= (int64_t)1 << (51 - i); in lwm2m_float_to_b64()
154 if (v == 0) { in lwm2m_float_to_b64()
164 memset(b64, 0, len); in lwm2m_float_to_b64()
167 if (val1 == 0) { in lwm2m_float_to_b64()
168 b64[0] = val2 < 0 ? 0x80 : 0; in lwm2m_float_to_b64()
170 b64[0] = val1 < 0 ? 0x80 : 0; in lwm2m_float_to_b64()
174 b64[0] |= (e >> 4); in lwm2m_float_to_b64()
175 b64[1] = ((e & 0xF) << 4); in lwm2m_float_to_b64()
177 /* fraction: bits 51-0 */ in lwm2m_float_to_b64()
179 b64[1] |= ((f >> 48) & 0xF); in lwm2m_float_to_b64()
180 b64[2] = (f >> 40) & 0xFF; in lwm2m_float_to_b64()
181 b64[3] = (f >> 32) & 0xFF; in lwm2m_float_to_b64()
182 b64[4] = (f >> 24) & 0xFF; in lwm2m_float_to_b64()
183 b64[5] = (f >> 16) & 0xFF; in lwm2m_float_to_b64()
184 b64[6] = (f >> 8) & 0xFF; in lwm2m_float_to_b64()
185 b64[7] = f & 0xFF; in lwm2m_float_to_b64()
187 return 0; in lwm2m_float_to_b64()
193 int32_t f, k, i, e; in lwm2m_b32_to_float() local
201 val1 = 0; in lwm2m_b32_to_float()
202 val2 = 0; in lwm2m_b32_to_float()
205 sign = SHIFT_RIGHT(b32[0], 7, 0x1); in lwm2m_b32_to_float()
208 e = SHIFT_LEFT(b32[0], 1, 0xFF); in lwm2m_b32_to_float()
209 e += SHIFT_RIGHT(b32[1], 7, 0x1); in lwm2m_b32_to_float()
214 f = ((int32_t)1 << 23); in lwm2m_b32_to_float()
215 /* calc fraction: bits 22-0 */ in lwm2m_b32_to_float()
216 f += ((int32_t)(b32[1] & 0x7F) << 16); in lwm2m_b32_to_float()
217 f += ((int32_t)b32[2] << 8); in lwm2m_b32_to_float()
218 f += b32[3]; in lwm2m_b32_to_float()
227 val1 = (f >> (23 - e)) * (sign ? -1 : 1); in lwm2m_b32_to_float()
239 for (i = 22 - e; i >= 0; i--) { in lwm2m_b32_to_float()
241 if (f & (1 << i)) { in lwm2m_b32_to_float()
253 return 0; in lwm2m_b32_to_float()
259 int64_t f, k; in lwm2m_b64_to_float() local
268 val1 = 0LL; in lwm2m_b64_to_float()
269 val2 = 0LL; in lwm2m_b64_to_float()
272 sign = SHIFT_RIGHT(b64[0], 7, 0x1); in lwm2m_b64_to_float()
275 e = SHIFT_LEFT((uint16_t)b64[0], 4, 0x7F0); in lwm2m_b64_to_float()
276 e += SHIFT_RIGHT(b64[1], 4, 0xF); in lwm2m_b64_to_float()
281 f = ((int64_t)1 << 52); in lwm2m_b64_to_float()
282 /* get fraction: bits 51-0 */ in lwm2m_b64_to_float()
283 f += ((int64_t)(b64[1] & 0xF) << 48); in lwm2m_b64_to_float()
284 f += ((int64_t)b64[2] << 40); in lwm2m_b64_to_float()
285 f += ((int64_t)b64[3] << 32); in lwm2m_b64_to_float()
286 f += ((int64_t)b64[4] << 24); in lwm2m_b64_to_float()
287 f += ((int64_t)b64[5] << 16); in lwm2m_b64_to_float()
288 f += ((int64_t)b64[6] << 8); in lwm2m_b64_to_float()
289 f += b64[7]; in lwm2m_b64_to_float()
298 val1 = (f >> (52 - e)) * (sign ? -1 : 1); in lwm2m_b64_to_float()
310 for (i = 51 - e; i >= 0; i--) { in lwm2m_b64_to_float()
312 if (f & ((int64_t)1 << i)) { in lwm2m_b64_to_float()
324 return 0; in lwm2m_b64_to_float()
339 buf[sizeof(buf) - 1] = '\0'; in lwm2m_atof()
347 *pos = '\0'; in lwm2m_atof()
350 errno = 0; in lwm2m_atof()
357 val2 = 0; in lwm2m_atof()
361 return 0; in lwm2m_atof()
364 while (*(++pos) && base > 1 && isdigit((unsigned char)*pos) != 0) { in lwm2m_atof()
365 val2 = val2 * 10 + (*pos - '0'); in lwm2m_atof()
373 return !*pos || base == 1 ? 0 : -EINVAL; in lwm2m_atof()
383 len = snprintk(buf, sizeof(buf), "%0*lld", PRECISION64_LEN, in lwm2m_ftoa()
386 strcpy(buf, "0"); in lwm2m_ftoa()
389 if (dec_limit > 0 && dec_limit < sizeof(buf) && in lwm2m_ftoa()
390 buf[dec_limit] != '\0') { in lwm2m_ftoa()
393 buf[dec_limit] = '\0'; in lwm2m_ftoa()
396 while (round_up && dec_limit > 0) { in lwm2m_ftoa()
401 buf[dec_limit] = '0'; in lwm2m_ftoa()
408 if (*input < 0) { in lwm2m_ftoa()
417 while (len > 1U && buf[len - 1] == '0') { in lwm2m_ftoa()
418 buf[--len] = '\0'; in lwm2m_ftoa()
423 /* handle negative val2 when val1 is 0 */ in lwm2m_ftoa()
424 (val1 == 0 && val2 < 0) ? "-" : "", (long long)val1, buf); in lwm2m_ftoa()
429 uint16_t val = 0U; in lwm2m_atou16()
430 uint16_t pos = 0U; in lwm2m_atou16()
433 while (pos < buflen && isdigit(buf[pos]) != 0) { in lwm2m_atou16()
434 val = val * 10U + (buf[pos] - '0'); in lwm2m_atou16()
449 (void)memset(path, 0, sizeof(*path)); in lwm2m_string_to_path()
450 for (i = 0; i <= end_index; i++) { in lwm2m_string_to_path()
453 if (isdigit((unsigned char)pathstr[i]) == 0) { in lwm2m_string_to_path()
469 if (toklen <= 0) { in lwm2m_string_to_path()
502 return 0; in lwm2m_string_to_path()
554 return digit + '0'; in to_hex_digit()
562 if (token && tkl != 0) { in sprint_token()
567 for (i = 0; i < tkl; i++) { in sprint_token()
569 *ptr++ = to_hex_digit(token[i] & 0x0F); in sprint_token()
572 *ptr = '\0'; in sprint_token()