Lines Matching +full:- +full:v

30 /* $Id: stdio_private.h 847 2005-09-06 18:49:15Z joerg_wunsch $ */
49 #include <stdio-bufio.h>
96 * non-const as in the generic case, this buffer is obtained
138 #define _FDEV_BUFIO_FD(bf) ((int)((intptr_t) (bf)->ptr))
156 if (!(bf->bflags & __BFPTR)) in bufio_read()
157 return (bf->read_int)(_FDEV_BUFIO_FD(bf), buf, count); in bufio_read()
159 return (bf->read_ptr)((void *) bf->ptr, buf, count); in bufio_read()
165 if (!(bf->bflags & __BFPTR)) in bufio_write()
166 return (bf->write_int)(_FDEV_BUFIO_FD(bf), buf, count); in bufio_write()
168 return (bf->write_ptr)((void *) bf->ptr, buf, count); in bufio_write()
174 if (!(bf->bflags & __BFPTR)) { in bufio_lseek()
175 if (bf->lseek_int) in bufio_lseek()
176 return (bf->lseek_int)(_FDEV_BUFIO_FD(bf), offset, whence); in bufio_lseek()
180 if (bf->lseek_ptr) in bufio_lseek()
181 return (bf->lseek_ptr)((void *) bf->ptr, offset, whence); in bufio_lseek()
190 if (!(bf->bflags & __BFPTR)) { in bufio_close()
191 if (bf->close_int) in bufio_close()
192 ret = (bf->close_int)(_FDEV_BUFIO_FD(bf)); in bufio_close()
196 if (bf->close_ptr) in bufio_close()
197 ret = (bf->close_ptr)((void *) bf->ptr); in bufio_close()
284 #define _u128_minus(a,b) ((a) - (b))
285 #define _u128_minus_64(a,b) ((a) - (b))
289 #define _u128_oflow(a) ((a) >= (((((_u128) 0xffffffffffffffffULL) << 64) | 0xffffffffffffffffULL) -
393 _u128 v; in _u128_plus_64() local
395 v.lo = a.lo + b; in _u128_plus_64()
396 v.hi = a.hi; in _u128_plus_64()
397 if (v.lo < a.lo) in _u128_plus_64()
398 v.hi++; in _u128_plus_64()
399 return v; in _u128_plus_64()
405 _u128 v; in _u128_plus() local
407 v.lo = a.lo + b.lo; in _u128_plus()
408 v.hi = a.hi + b.hi; in _u128_plus()
409 if (v.lo < a.lo) in _u128_plus()
410 v.hi++; in _u128_plus()
411 return v; in _u128_plus()
417 _u128 v; in _u128_minus_64() local
419 v.lo = a.lo - b; in _u128_minus_64()
420 v.hi = a.hi; in _u128_minus_64()
421 if (v.lo > a.lo) in _u128_minus_64()
422 v.hi--; in _u128_minus_64()
423 return v; in _u128_minus_64()
429 _u128 v; in _u128_minus() local
431 v.lo = a.lo - b.lo; in _u128_minus()
432 v.hi = a.hi - b.hi; in _u128_minus()
433 if (v.lo > a.lo) in _u128_minus()
434 v.hi--; in _u128_minus()
435 return v; in _u128_minus()
441 _u128 v; in _u128_lshift() local
444 v = a; in _u128_lshift()
446 v.lo = a.lo << amt; in _u128_lshift()
447 v.hi = (a.lo >> (64 - amt)) | (a.hi << amt); in _u128_lshift()
449 v.lo = 0; in _u128_lshift()
450 v.hi = a.lo << (amt - 64); in _u128_lshift()
452 return v; in _u128_lshift()
458 _u128 v; in _u128_lshift_64() local
461 v.lo = a; in _u128_lshift_64()
462 v.hi = 0; in _u128_lshift_64()
464 v.lo = a << amt; in _u128_lshift_64()
465 v.hi = (a >> (64 - amt)); in _u128_lshift_64()
467 v.lo = 0; in _u128_lshift_64()
468 v.hi = a << (amt - 64); in _u128_lshift_64()
470 return v; in _u128_lshift_64()
476 _u128 v; in _u128_rshift() local
479 v = a; in _u128_rshift()
481 v.lo = (a.hi << (64 - amt)) | (a.lo >> amt); in _u128_rshift()
482 v.hi = a.hi >> amt; in _u128_rshift()
484 v.hi = 0; in _u128_rshift()
485 v.lo = a.hi >> (amt - 64); in _u128_rshift()
487 return v; in _u128_rshift()
493 _u128 v; in _u128_and() local
495 v.hi = a.hi & b.hi; in _u128_and()
496 v.lo = a.lo & b.lo; in _u128_and()
497 return v; in _u128_and()
509 _u128 v; in _u128_or() local
511 v.lo = a.lo | b.lo; in _u128_or()
512 v.hi = a.hi | b.hi; in _u128_or()
513 return v; in _u128_or()
519 _u128 v; in _u128_or_64() local
521 v.lo = a.lo | b; in _u128_or_64()
522 v.hi = a.hi; in _u128_or_64()
523 return v; in _u128_or_64()
529 _u128 v; in _u128_not() local
531 v.lo = ~a.lo; in _u128_not()
532 v.hi = ~a.hi; in _u128_not()
533 return v; in _u128_not()
553 return a.hi >= (0xffffffffffffffffULL - 9) / 10; in _u128_oflow()
564 } v; in asuintld() local
567 v.f = f; in asuintld()
568 i = v.i; in asuintld()
570 i = _u128_rshift(i, (16 - __SIZEOF_LONG_DOUBLE__) * 8); in asuintld()
581 } v; in aslongdouble() local
584 i = _u128_lshift(i, (16 - __SIZEOF_LONG_DOUBLE__) * 8); in aslongdouble()
586 v.i = i; in aslongdouble()
587 return v.f; in aslongdouble()
596 } v; in asuintld() local
598 v.f = f; in asuintld()
599 return v.i; in asuintld()
608 } v; in aslongdouble() local
610 v.i = i; in aslongdouble()
611 return v.f; in aslongdouble()
620 } v; in asuintld() local
622 v.f = f; in asuintld()
623 return v.i; in asuintld()
632 } v; in aslongdouble() local
634 v.i = i; in aslongdouble()
635 return v.f; in aslongdouble()
649 __non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) in __non_atomic_exchange_ungetc() argument
652 *p = v; in __non_atomic_exchange_ungetc()
657 __non_atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v) in __non_atomic_compare_exchange_ungetc() argument
661 *p = v; in __non_atomic_compare_exchange_ungetc()
683 /* Use built-in atomic functions if they exist */
686 __atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v) in __atomic_compare_exchange_ungetc() argument
689 return atomic_compare_exchange_strong(pa, &d, v); in __atomic_compare_exchange_ungetc()
693 __atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v) in __atomic_exchange_ungetc() argument
696 return atomic_exchange_explicit(pa, v, memory_order_relaxed); in __atomic_exchange_ungetc()
708 __atomic_compare_exchange_ungetc(__ungetc_t *p, __ungetc_t d, __ungetc_t v);
711 __atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v);
720 __picolibc_non_atomic_exchange_ungetc(__ungetc_t *p, __ungetc_t v);
724 __ungetc_t d, __ungetc_t v);
730 #define __atomic_compare_exchange_ungetc(p,d,v) __non_atomic_compare_exchange_ungetc(p,d,v) argument
732 #define __atomic_exchange_ungetc(p,v) __non_atomic_exchange_ungetc(p,v) argument
742 #define TOLOWER(c) ((c) | ('a' - 'A'))
762 * TOLOWER(c-1) maps characters as follows (Skipping values not in digit_to_val()
765 * Minus 1, bitwise-OR ('a' - 'A') (0x20): in digit_to_val()
767 * 0x3a..0x40 -> 0x39..0x3f in digit_to_val()
768 * 0x41..0x60, 0x61..0x80 -> 0x60..0x7f in digit_to_val()
769 * 0x81..0xa0, 0xa1..0xc0 -> 0xa0..0xbf in digit_to_val()
770 * 0xc1..0xe0, 0xe1..0x00 -> 0xe0..0xff in digit_to_val()
775 * 0x3a..0x40 -> 0x39..0x3f -> 0x13..0x19 in digit_to_val()
776 * 0x41..0x60, 0x61..0x80 -> 0x60..0x7f -> 0x3a..0x59 in digit_to_val()
777 * 0x81..0xa0, 0xa1..0xc0 -> 0xa0..0xbf -> 0x7a..0x99 in digit_to_val()
778 * 0xc1..0xe0, 0xe1..0x00 -> 0xe0..0xff -> 0xba..0xd9 in digit_to_val()
784 * For the letters, we want TOLOWER(c) - 'a' + 10, but that in digit_to_val()
787 * To work around this, subtract 1 before the bitwise-or so in digit_to_val()
795 * code (c -= '0') below, avoiding an else clause. in digit_to_val()
798 c = TOLOWER(c-1) + ('0' - 'a' + 11); in digit_to_val()
806 * 0x00..0x2f ->-0x30..-0x01 in digit_to_val()
807 * 0x30..0x39 -> 0x00..0x09 * in digit_to_val()
808 * 0x3a..0x40 -> 0x39..0x3f -> 0x13..0x19 ->-0x1d..-0x17 in digit_to_val()
809 * 0x41..0x60, 0x61..0x80 -> 0x60..0x7f -> 0x3a..0x59 -> 0x0a..0x29 * in digit_to_val()
810 * 0x81..0xa0, 0xa1..0xc0 -> 0xa0..0xbf -> 0x7a..0x99 -> 0x4a..0x69 in digit_to_val()
811 * 0xc1..0xe0, 0xe1..0x00 -> 0xe0..0xff -> 0xba..0xd9 -> 0x8a..0xa9 in digit_to_val()
818 c -= '0'; in digit_to_val()