Lines Matching refs:tmp
92 #define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \ argument
93 SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \
94 SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
95 (head)->sph_root = tmp; \
98 #define SPLAY_ROTATE_LEFT(head, tmp, field) do { \ argument
99 SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \
100 SPLAY_LEFT(tmp, field) = (head)->sph_root; \
101 (head)->sph_root = tmp; \
104 #define SPLAY_LINKLEFT(head, tmp, field) do { \ argument
105 SPLAY_LEFT(tmp, field) = (head)->sph_root; \
106 tmp = (head)->sph_root; \
110 #define SPLAY_LINKRIGHT(head, tmp, field) do { \ argument
111 SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
112 tmp = (head)->sph_root; \
364 #define RB_ROTATE_LEFT(head, elm, tmp, field) do { \ argument
365 (tmp) = RB_RIGHT(elm, field); \
366 if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field)) != NULL) { \
369 RB_SET_PARENT(tmp, RB_PARENT(elm, field), field); \
370 RB_SWAP_CHILD(head, elm, tmp, field); \
371 RB_LEFT(tmp, field) = (elm); \
372 RB_SET_PARENT(elm, tmp, field); \
376 #define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \ argument
377 (tmp) = RB_LEFT(elm, field); \
378 if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field)) != NULL) { \
381 RB_SET_PARENT(tmp, RB_PARENT(elm, field), field); \
382 RB_SWAP_CHILD(head, elm, tmp, field); \
383 RB_RIGHT(tmp, field) = (elm); \
384 RB_SET_PARENT(elm, tmp, field); \
395 #define RB_PARENT_ROTATE_LEFT(parent, left, tmp, field) do { \ argument
396 (tmp) = RB_RIGHT(left, field); \
397 if ((RB_RIGHT(left, field) = RB_LEFT(tmp, field)) != NULL) { \
400 RB_SET_PARENT(tmp, parent, field); \
401 RB_LEFT(parent, field) = (tmp); \
402 RB_LEFT(tmp, field) = (left); \
403 RB_SET_PARENT(left, tmp, field); \
407 #define RB_PARENT_ROTATE_RIGHT(parent, right, tmp, field) do { \ argument
408 (tmp) = RB_LEFT(right, field); \
409 if ((RB_LEFT(right, field) = RB_RIGHT(tmp, field)) != NULL) { \
412 RB_SET_PARENT(tmp, parent, field); \
413 RB_RIGHT(parent, field) = (tmp); \
414 RB_RIGHT(tmp, field) = (right); \
415 RB_SET_PARENT(right, tmp, field); \
436 #define RB_RED_ROTATE_LEFT(head, elm, tmp, field) do { \ argument
437 (tmp) = RB_RIGHT(elm, field); \
438 RB_RIGHT(elm, field) = RB_LEFT(tmp, field); \
440 RB_SET_PARENT(tmp, RB_PARENT(elm, field), field); \
441 RB_SWAP_CHILD(head, elm, tmp, field); \
442 RB_LEFT(tmp, field) = (elm); \
443 RB_SET_PARENT(elm, tmp, field); \
447 #define RB_RED_ROTATE_RIGHT(head, elm, tmp, field) do { \ argument
448 (tmp) = RB_LEFT(elm, field); \
449 RB_LEFT(elm, field) = RB_RIGHT(tmp, field); \
451 RB_SET_PARENT(tmp, RB_PARENT(elm, field), field); \
452 RB_SWAP_CHILD(head, elm, tmp, field); \
453 RB_RIGHT(tmp, field) = (elm); \
454 RB_SET_PARENT(elm, tmp, field); \
519 struct type *parent, *gparent, *tmp; \
523 tmp = RB_RIGHT(gparent, field); \
524 if (RB_ISRED(tmp, field)) { \
525 RB_COLOR(tmp, field) = RB_BLACK; \
532 tmp, field); \
533 tmp = parent; \
535 elm = tmp; \
538 RB_ROTATE_RIGHT(head, gparent, tmp, field); \
540 tmp = RB_LEFT(gparent, field); \
541 if (RB_ISRED(tmp, field)) { \
542 RB_COLOR(tmp, field) = RB_BLACK; \
549 tmp, field); \
550 tmp = parent; \
552 elm = tmp; \
555 RB_ROTATE_LEFT(head, gparent, tmp, field); \
565 struct type *elm, *tmp; \
569 tmp = RB_RIGHT(parent, field); \
570 if (RB_COLOR(tmp, field) == RB_RED) { \
571 RB_SET_BLACKRED(tmp, parent, field); \
572 RB_RED_ROTATE_LEFT(head, parent, tmp, field); \
573 tmp = RB_RIGHT(parent, field); \
575 if (RB_ISRED(RB_RIGHT(tmp, field), field)) \
576 RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK; \
577 else if (RB_ISRED(RB_LEFT(tmp, field), field)) { \
579 RB_PARENT_ROTATE_RIGHT(parent, tmp, \
582 tmp = oleft; \
584 RB_COLOR(tmp, field) = RB_RED; \
589 RB_COLOR(tmp, field) = RB_COLOR(parent, field); \
591 RB_ROTATE_LEFT(head, parent, tmp, field); \
595 tmp = RB_LEFT(parent, field); \
596 if (RB_COLOR(tmp, field) == RB_RED) { \
597 RB_SET_BLACKRED(tmp, parent, field); \
598 RB_RED_ROTATE_RIGHT(head, parent, tmp, field); \
599 tmp = RB_LEFT(parent, field); \
601 if (RB_ISRED(RB_LEFT(tmp, field), field)) \
602 RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK; \
603 else if (RB_ISRED(RB_RIGHT(tmp, field), field)) { \
605 RB_PARENT_ROTATE_LEFT(parent, tmp, \
608 tmp = oright; \
610 RB_COLOR(tmp, field) = RB_RED; \
615 RB_COLOR(tmp, field) = RB_COLOR(parent, field); \
617 RB_ROTATE_RIGHT(head, parent, tmp, field); \
676 struct type *tmp; \
679 tmp = RB_ROOT(head); \
680 while (tmp) { \
681 parent = tmp; \
684 tmp = RB_LEFT(tmp, field); \
686 tmp = RB_RIGHT(tmp, field); \
688 return (tmp); \
711 struct type *tmp = RB_ROOT(head); \
713 while (tmp) { \
714 comp = cmp(elm, tmp); \
716 tmp = RB_LEFT(tmp, field); \
718 tmp = RB_RIGHT(tmp, field); \
720 return (tmp); \
730 struct type *tmp = RB_ROOT(head); \
733 while (tmp) { \
734 comp = cmp(elm, tmp); \
736 res = tmp; \
737 tmp = RB_LEFT(tmp, field); \
740 tmp = RB_RIGHT(tmp, field); \
742 return (tmp); \
797 struct type *tmp = RB_ROOT(head); \
799 while (tmp) { \
800 parent = tmp; \
802 tmp = RB_LEFT(tmp, field); \
804 tmp = RB_RIGHT(tmp, field); \