Lines Matching +full:high +full:- +full:precision
1 // SPDX-License-Identifier: GPL-2.0-only
2 /* -*- linux-c -*- ------------------------------------------------------- *
5 * Copyright 2007 rPath, Inc. - All Rights Reserved
7 * ----------------------------------------------------------------------- */
10 * Oh, it's a waste of space, but oh-so-yummy for debugging.
28 i = i * 10 + *((*s)++) - '0'; in skip_atoi()
44 *--end = '0' + (r - q * 10); in put_dec_full4()
47 *--end = '0' + r; in put_dec_full4()
57 * (second call in the put_dec code, assuming n is all-ones).
64 put_dec_full4(end, x - q * 10000); in put_dec_helper4()
71 * Performs no 64-bit division and hence should be fast on 32-bit machines.
88 p -= 4; in put_dec()
92 p -= 4; in put_dec()
96 p -= 4; in put_dec()
100 p -= 4; in put_dec()
103 p -= 4; in put_dec()
130 *--end = '0' + (num & 07); in number()
134 *--end = digits[num & 0xf] | locase; in number()
150 #define WIDE 128 /* UTF-16 string */
159 case '-': in get_flags()
232 *num = -(*num); in get_sign()
233 return '-'; in get_sign()
255 * If this is a high surrogate, and we're already at maxlen, we in utf16s_utf8nlen()
282 /* invalid: low surrogate instead of high */ in utf16_to_utf32()
291 return (0x10000 - (0xd800 << 10) - 0xdc00) + (c0 << 10) + c1; in utf16_to_utf32()
303 /* The maximum space required is to print a 64-bit number in octal */ in vsnprintf()
315 int precision; /* min. # of digits for integers; max in vsnprintf() local
327 * size-1 array containing a structure. Our function parameter ap has in vsnprintf()
349 field_width = -field_width; in vsnprintf()
356 /* get the precision */ in vsnprintf()
357 precision = -1; in vsnprintf()
360 precision = get_int(&fmt, &args); in vsnprintf()
361 if (precision >= 0) in vsnprintf()
366 qualifier = -1; in vsnprintf()
371 qualifier -= 'a'-'A'; in vsnprintf()
385 precision = INT_MAX; in vsnprintf()
389 precision = len = 1; in vsnprintf()
395 if (precision < 0) in vsnprintf()
396 precision = INT_MAX; in vsnprintf()
399 s = precision < 6 ? "" : "(null)"; in vsnprintf()
403 precision = len = utf16s_utf8nlen((const u16 *)s, precision); in vsnprintf()
406 precision = len = strnlen(s, precision); in vsnprintf()
409 /* integer number formats - set up the flags and "break" */ in vsnprintf()
415 if (precision < 0) in vsnprintf()
416 precision = 2 * sizeof(void *); in vsnprintf()
451 --field_width; in vsnprintf()
454 len = tmp_end - s; in vsnprintf()
455 /* default precision is 1 */ in vsnprintf()
456 if (precision < 0) in vsnprintf()
457 precision = 1; in vsnprintf()
458 /* precision is minimum number of digits to print */ in vsnprintf()
459 if (precision < len) in vsnprintf()
460 precision = len; in vsnprintf()
465 * precision. in vsnprintf()
467 if (base == 8 && precision == len) in vsnprintf()
468 ++precision; in vsnprintf()
472 * precision are 0. in vsnprintf()
474 if (base == 16 && precision > 0) in vsnprintf()
475 field_width -= 2; in vsnprintf()
480 * For zero padding, increase the precision to fill the field in vsnprintf()
483 if ((flags & ZEROPAD) && field_width > precision) in vsnprintf()
484 precision = field_width; in vsnprintf()
488 field_width -= precision; in vsnprintf()
491 while (field_width-- > 0) in vsnprintf()
501 /* Zero padding and excess precision */ in vsnprintf()
502 while (precision-- > len) in vsnprintf()
508 while (len-- > 0) { in vsnprintf()
521 len -= clen; in vsnprintf()
530 /* Set high bits of leading octet */ in vsnprintf()
533 for (s8 += clen; clen; --clen, c32 >>= 6) in vsnprintf()
534 *s8-- = 0x80 | (c32 & 0x3f); in vsnprintf()
539 while (len-- > 0) in vsnprintf()
543 while (field_width-- > 0) in vsnprintf()
550 buf[min(pos, size-1)] = '\0'; in vsnprintf()