authorgravatar for saurabh.m@proton.meSaurabh Mishra <saurabh.m@proton.me> 2026-02-18 11:43:57-08:00
committergravatar for saurabh.m@proton.meSaurabh Mishra <saurabh.m@proton.me> 2026-02-18 11:43:57-08:00
log535722b37419f821650a3765e20880a3186ceff3
tree48cff6ea4e9eb51730a2be73314ba4efde758db7
parentd297f7b8f2f598967a8b91a45df1b1932dd3c81d

rename `add` to `push` and `remove` to `pop` in methods and tests


1 files changed, 196 insertions(+), 196 deletions(-)

lib/std/priority_dequeue.zig+196-196
...@@ -38,20 +38,20 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar...@@ -38,20 +38,20 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar
38 }38 }
3939
40 /// Insert a new element, maintaining priority.40 /// Insert a new element, maintaining priority.
41 pub fn add(self: *Self, allocator: Allocator, elem: T) !void {41 pub fn push(self: *Self, allocator: Allocator, elem: T) !void {
42 try self.ensureUnusedCapacity(allocator, 1);42 try self.ensureUnusedCapacity(allocator, 1);
43 addUnchecked(self, elem);43 pushUnchecked(self, elem);
44 }44 }
4545
46 /// Add each element in `items` to the dequeue.46 /// Add each element in `items` to the dequeue.
47 pub fn addSlice(self: *Self, allocator: Allocator, items: []const T) !void {47 pub fn pushSlice(self: *Self, allocator: Allocator, items: []const T) !void {
48 try self.ensureUnusedCapacity(allocator, items.len);48 try self.ensureUnusedCapacity(allocator, items.len);
49 for (items) |e| {49 for (items) |e| {
50 self.addUnchecked(e);50 self.pushUnchecked(e);
51 }51 }
52 }52 }
5353
54 fn addUnchecked(self: *Self, elem: T) void {54 fn pushUnchecked(self: *Self, elem: T) void {
55 self.items[self.len] = elem;55 self.items[self.len] = elem;
5656
57 if (self.len > 0) {57 if (self.len > 0) {
...@@ -151,32 +151,32 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar...@@ -151,32 +151,32 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar
151151
152 /// Pop the smallest element from the dequeue. Returns152 /// Pop the smallest element from the dequeue. Returns
153 /// `null` if empty.153 /// `null` if empty.
154 pub fn removeMinOrNull(self: *Self) ?T {154 pub fn popMinOrNull(self: *Self) ?T {
155 return if (self.len > 0) self.removeMin() else null;155 return if (self.len > 0) self.popMin() else null;
156 }156 }
157157
158 /// Remove and return the smallest element from the158 /// Remove and return the smallest element from the
159 /// dequeue.159 /// dequeue.
160 pub fn removeMin(self: *Self) T {160 pub fn popMin(self: *Self) T {
161 return self.removeIndex(0);161 return self.popIndex(0);
162 }162 }
163163
164 /// Pop the largest element from the dequeue. Returns164 /// Pop the largest element from the dequeue. Returns
165 /// `null` if empty.165 /// `null` if empty.
166 pub fn removeMaxOrNull(self: *Self) ?T {166 pub fn popMaxOrNull(self: *Self) ?T {
167 return if (self.len > 0) self.removeMax() else null;167 return if (self.len > 0) self.popMax() else null;
168 }168 }
169169
170 /// Remove and return the largest element from the170 /// Remove and return the largest element from the
171 /// dequeue.171 /// dequeue.
172 pub fn removeMax(self: *Self) T {172 pub fn popMax(self: *Self) T {
173 return self.removeIndex(self.maxIndex().?);173 return self.popIndex(self.maxIndex().?);
174 }174 }
175175
176 /// Remove and return element at index. Indices are in the176 /// Remove and return element at index. Indices are in the
177 /// same order as iterator, which is not necessarily priority177 /// same order as iterator, which is not necessarily priority
178 /// order.178 /// order.
179 pub fn removeIndex(self: *Self, index: usize) T {179 pub fn popIndex(self: *Self, index: usize) T {
180 assert(self.len > index);180 assert(self.len > index);
181 const item = self.items[index];181 const item = self.items[index];
182 const last = self.items[self.len - 1];182 const last = self.items[self.len - 1];
...@@ -391,8 +391,8 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar...@@ -391,8 +391,8 @@ pub fn PriorityDequeue(comptime T: type, comptime Context: type, comptime compar
391 }391 }
392 return error.ElementNotFound;392 return error.ElementNotFound;
393 };393 };
394 _ = self.removeIndex(old_index);394 _ = self.popIndex(old_index);
395 self.addUnchecked(new_elem);395 self.pushUnchecked(new_elem);
396 }396 }
397397
398 pub const Iterator = struct {398 pub const Iterator = struct {
...@@ -463,27 +463,27 @@ fn lessThanComparison(context: void, a: u32, b: u32) Order {...@@ -463,27 +463,27 @@ fn lessThanComparison(context: void, a: u32, b: u32) Order {
463463
464const PDQ = PriorityDequeue(u32, void, lessThanComparison);464const PDQ = PriorityDequeue(u32, void, lessThanComparison);
465465
466test "add and remove min" {466test "push and pop min" {
467 const gpa = std.testing.allocator;467 const gpa = std.testing.allocator;
468 var queue = PDQ.init({});468 var queue = PDQ.init({});
469 defer queue.deinit(gpa);469 defer queue.deinit(gpa);
470470
471 try queue.add(gpa, 54);471 try queue.push(gpa, 54);
472 try queue.add(gpa, 12);472 try queue.push(gpa, 12);
473 try queue.add(gpa, 7);473 try queue.push(gpa, 7);
474 try queue.add(gpa, 23);474 try queue.push(gpa, 23);
475 try queue.add(gpa, 25);475 try queue.push(gpa, 25);
476 try queue.add(gpa, 13);476 try queue.push(gpa, 13);
477477
478 try expectEqual(@as(u32, 7), queue.removeMin());478 try expectEqual(@as(u32, 7), queue.popMin());
479 try expectEqual(@as(u32, 12), queue.removeMin());479 try expectEqual(@as(u32, 12), queue.popMin());
480 try expectEqual(@as(u32, 13), queue.removeMin());480 try expectEqual(@as(u32, 13), queue.popMin());
481 try expectEqual(@as(u32, 23), queue.removeMin());481 try expectEqual(@as(u32, 23), queue.popMin());
482 try expectEqual(@as(u32, 25), queue.removeMin());482 try expectEqual(@as(u32, 25), queue.popMin());
483 try expectEqual(@as(u32, 54), queue.removeMin());483 try expectEqual(@as(u32, 54), queue.popMin());
484}484}
485485
486test "add and remove min structs" {486test "push and pop min structs" {
487 const gpa = std.testing.allocator;487 const gpa = std.testing.allocator;
488488
489 const S = struct {489 const S = struct {
...@@ -497,92 +497,92 @@ test "add and remove min structs" {...@@ -497,92 +497,92 @@ test "add and remove min structs" {
497 }.order).init({});497 }.order).init({});
498 defer queue.deinit(gpa);498 defer queue.deinit(gpa);
499499
500 try queue.add(gpa, .{ .size = 54 });500 try queue.push(gpa, .{ .size = 54 });
501 try queue.add(gpa, .{ .size = 12 });501 try queue.push(gpa, .{ .size = 12 });
502 try queue.add(gpa, .{ .size = 7 });502 try queue.push(gpa, .{ .size = 7 });
503 try queue.add(gpa, .{ .size = 23 });503 try queue.push(gpa, .{ .size = 23 });
504 try queue.add(gpa, .{ .size = 25 });504 try queue.push(gpa, .{ .size = 25 });
505 try queue.add(gpa, .{ .size = 13 });505 try queue.push(gpa, .{ .size = 13 });
506506
507 try expectEqual(@as(u32, 7), queue.removeMin().size);507 try expectEqual(@as(u32, 7), queue.popMin().size);
508 try expectEqual(@as(u32, 12), queue.removeMin().size);508 try expectEqual(@as(u32, 12), queue.popMin().size);
509 try expectEqual(@as(u32, 13), queue.removeMin().size);509 try expectEqual(@as(u32, 13), queue.popMin().size);
510 try expectEqual(@as(u32, 23), queue.removeMin().size);510 try expectEqual(@as(u32, 23), queue.popMin().size);
511 try expectEqual(@as(u32, 25), queue.removeMin().size);511 try expectEqual(@as(u32, 25), queue.popMin().size);
512 try expectEqual(@as(u32, 54), queue.removeMin().size);512 try expectEqual(@as(u32, 54), queue.popMin().size);
513}513}
514514
515test "add and remove max" {515test "push and pop max" {
516 const gpa = std.testing.allocator;516 const gpa = std.testing.allocator;
517517
518 var queue = PDQ.init({});518 var queue = PDQ.init({});
519 defer queue.deinit(gpa);519 defer queue.deinit(gpa);
520520
521 try queue.add(gpa, 54);521 try queue.push(gpa, 54);
522 try queue.add(gpa, 12);522 try queue.push(gpa, 12);
523 try queue.add(gpa, 7);523 try queue.push(gpa, 7);
524 try queue.add(gpa, 23);524 try queue.push(gpa, 23);
525 try queue.add(gpa, 25);525 try queue.push(gpa, 25);
526 try queue.add(gpa, 13);526 try queue.push(gpa, 13);
527527
528 try expectEqual(@as(u32, 54), queue.removeMax());528 try expectEqual(@as(u32, 54), queue.popMax());
529 try expectEqual(@as(u32, 25), queue.removeMax());529 try expectEqual(@as(u32, 25), queue.popMax());
530 try expectEqual(@as(u32, 23), queue.removeMax());530 try expectEqual(@as(u32, 23), queue.popMax());
531 try expectEqual(@as(u32, 13), queue.removeMax());531 try expectEqual(@as(u32, 13), queue.popMax());
532 try expectEqual(@as(u32, 12), queue.removeMax());532 try expectEqual(@as(u32, 12), queue.popMax());
533 try expectEqual(@as(u32, 7), queue.removeMax());533 try expectEqual(@as(u32, 7), queue.popMax());
534}534}
535535
536test "add and remove same min" {536test "push and pop same min" {
537 const gpa = std.testing.allocator;537 const gpa = std.testing.allocator;
538538
539 var queue = PDQ.init({});539 var queue = PDQ.init({});
540 defer queue.deinit(gpa);540 defer queue.deinit(gpa);
541541
542 try queue.add(gpa, 1);542 try queue.push(gpa, 1);
543 try queue.add(gpa, 1);543 try queue.push(gpa, 1);
544 try queue.add(gpa, 2);544 try queue.push(gpa, 2);
545 try queue.add(gpa, 2);545 try queue.push(gpa, 2);
546 try queue.add(gpa, 1);546 try queue.push(gpa, 1);
547 try queue.add(gpa, 1);547 try queue.push(gpa, 1);
548548
549 try expectEqual(@as(u32, 1), queue.removeMin());549 try expectEqual(@as(u32, 1), queue.popMin());
550 try expectEqual(@as(u32, 1), queue.removeMin());550 try expectEqual(@as(u32, 1), queue.popMin());
551 try expectEqual(@as(u32, 1), queue.removeMin());551 try expectEqual(@as(u32, 1), queue.popMin());
552 try expectEqual(@as(u32, 1), queue.removeMin());552 try expectEqual(@as(u32, 1), queue.popMin());
553 try expectEqual(@as(u32, 2), queue.removeMin());553 try expectEqual(@as(u32, 2), queue.popMin());
554 try expectEqual(@as(u32, 2), queue.removeMin());554 try expectEqual(@as(u32, 2), queue.popMin());
555}555}
556556
557test "add and remove same max" {557test "push and pop same max" {
558 const gpa = std.testing.allocator;558 const gpa = std.testing.allocator;
559559
560 var queue = PDQ.init({});560 var queue = PDQ.init({});
561 defer queue.deinit(gpa);561 defer queue.deinit(gpa);
562562
563 try queue.add(gpa, 1);563 try queue.push(gpa, 1);
564 try queue.add(gpa, 1);564 try queue.push(gpa, 1);
565 try queue.add(gpa, 2);565 try queue.push(gpa, 2);
566 try queue.add(gpa, 2);566 try queue.push(gpa, 2);
567 try queue.add(gpa, 1);567 try queue.push(gpa, 1);
568 try queue.add(gpa, 1);568 try queue.push(gpa, 1);
569569
570 try expectEqual(@as(u32, 2), queue.removeMax());570 try expectEqual(@as(u32, 2), queue.popMax());
571 try expectEqual(@as(u32, 2), queue.removeMax());571 try expectEqual(@as(u32, 2), queue.popMax());
572 try expectEqual(@as(u32, 1), queue.removeMax());572 try expectEqual(@as(u32, 1), queue.popMax());
573 try expectEqual(@as(u32, 1), queue.removeMax());573 try expectEqual(@as(u32, 1), queue.popMax());
574 try expectEqual(@as(u32, 1), queue.removeMax());574 try expectEqual(@as(u32, 1), queue.popMax());
575 try expectEqual(@as(u32, 1), queue.removeMax());575 try expectEqual(@as(u32, 1), queue.popMax());
576}576}
577577
578test "removeOrNull empty" {578test "popOrNull empty" {
579 const gpa = std.testing.allocator;579 const gpa = std.testing.allocator;
580580
581 var queue = PDQ.init({});581 var queue = PDQ.init({});
582 defer queue.deinit(gpa);582 defer queue.deinit(gpa);
583583
584 try expect(queue.removeMinOrNull() == null);584 try expect(queue.popMinOrNull() == null);
585 try expect(queue.removeMaxOrNull() == null);585 try expect(queue.popMaxOrNull() == null);
586}586}
587587
588test "edge case 3 elements" {588test "edge case 3 elements" {
...@@ -591,13 +591,13 @@ test "edge case 3 elements" {...@@ -591,13 +591,13 @@ test "edge case 3 elements" {
591 var queue = PDQ.init({});591 var queue = PDQ.init({});
592 defer queue.deinit(gpa);592 defer queue.deinit(gpa);
593593
594 try queue.add(gpa, 9);594 try queue.push(gpa, 9);
595 try queue.add(gpa, 3);595 try queue.push(gpa, 3);
596 try queue.add(gpa, 2);596 try queue.push(gpa, 2);
597597
598 try expectEqual(@as(u32, 2), queue.removeMin());598 try expectEqual(@as(u32, 2), queue.popMin());
599 try expectEqual(@as(u32, 3), queue.removeMin());599 try expectEqual(@as(u32, 3), queue.popMin());
600 try expectEqual(@as(u32, 9), queue.removeMin());600 try expectEqual(@as(u32, 9), queue.popMin());
601}601}
602602
603test "edge case 3 elements max" {603test "edge case 3 elements max" {
...@@ -606,13 +606,13 @@ test "edge case 3 elements max" {...@@ -606,13 +606,13 @@ test "edge case 3 elements max" {
606 var queue = PDQ.init({});606 var queue = PDQ.init({});
607 defer queue.deinit(gpa);607 defer queue.deinit(gpa);
608608
609 try queue.add(gpa, 9);609 try queue.push(gpa, 9);
610 try queue.add(gpa, 3);610 try queue.push(gpa, 3);
611 try queue.add(gpa, 2);611 try queue.push(gpa, 2);
612612
613 try expectEqual(@as(u32, 9), queue.removeMax());613 try expectEqual(@as(u32, 9), queue.popMax());
614 try expectEqual(@as(u32, 3), queue.removeMax());614 try expectEqual(@as(u32, 3), queue.popMax());
615 try expectEqual(@as(u32, 2), queue.removeMax());615 try expectEqual(@as(u32, 2), queue.popMax());
616}616}
617617
618test "peekMin" {618test "peekMin" {
...@@ -623,9 +623,9 @@ test "peekMin" {...@@ -623,9 +623,9 @@ test "peekMin" {
623623
624 try expect(queue.peekMin() == null);624 try expect(queue.peekMin() == null);
625625
626 try queue.add(gpa, 9);626 try queue.push(gpa, 9);
627 try queue.add(gpa, 3);627 try queue.push(gpa, 3);
628 try queue.add(gpa, 2);628 try queue.push(gpa, 2);
629629
630 try expect(queue.peekMin().? == 2);630 try expect(queue.peekMin().? == 2);
631 try expect(queue.peekMin().? == 2);631 try expect(queue.peekMin().? == 2);
...@@ -639,15 +639,15 @@ test "peekMax" {...@@ -639,15 +639,15 @@ test "peekMax" {
639639
640 try expect(queue.peekMin() == null);640 try expect(queue.peekMin() == null);
641641
642 try queue.add(gpa, 9);642 try queue.push(gpa, 9);
643 try queue.add(gpa, 3);643 try queue.push(gpa, 3);
644 try queue.add(gpa, 2);644 try queue.push(gpa, 2);
645645
646 try expect(queue.peekMax().? == 9);646 try expect(queue.peekMax().? == 9);
647 try expect(queue.peekMax().? == 9);647 try expect(queue.peekMax().? == 9);
648}648}
649649
650test "sift up with odd indices, removeMin" {650test "sift up with odd indices, popMin" {
651 const gpa = std.testing.allocator;651 const gpa = std.testing.allocator;
652652
653 var queue = PDQ.init({});653 var queue = PDQ.init({});
...@@ -655,16 +655,16 @@ test "sift up with odd indices, removeMin" {...@@ -655,16 +655,16 @@ test "sift up with odd indices, removeMin" {
655655
656 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };656 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
657 for (items) |e| {657 for (items) |e| {
658 try queue.add(gpa, e);658 try queue.push(gpa, e);
659 }659 }
660660
661 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };661 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };
662 for (sorted_items) |e| {662 for (sorted_items) |e| {
663 try expectEqual(e, queue.removeMin());663 try expectEqual(e, queue.popMin());
664 }664 }
665}665}
666666
667test "sift up with odd indices, removeMax" {667test "sift up with odd indices, popMax" {
668 const gpa = std.testing.allocator;668 const gpa = std.testing.allocator;
669669
670 var queue = PDQ.init({});670 var queue = PDQ.init({});
...@@ -672,42 +672,42 @@ test "sift up with odd indices, removeMax" {...@@ -672,42 +672,42 @@ test "sift up with odd indices, removeMax" {
672672
673 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };673 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
674 for (items) |e| {674 for (items) |e| {
675 try queue.add(gpa, e);675 try queue.push(gpa, e);
676 }676 }
677677
678 const sorted_items = [_]u32{ 25, 24, 24, 22, 21, 16, 15, 15, 14, 13, 12, 11, 7, 7, 6, 5, 2, 1 };678 const sorted_items = [_]u32{ 25, 24, 24, 22, 21, 16, 15, 15, 14, 13, 12, 11, 7, 7, 6, 5, 2, 1 };
679 for (sorted_items) |e| {679 for (sorted_items) |e| {
680 try expectEqual(e, queue.removeMax());680 try expectEqual(e, queue.popMax());
681 }681 }
682}682}
683683
684test "addSlice min" {684test "pushSlice min" {
685 const gpa = std.testing.allocator;685 const gpa = std.testing.allocator;
686686
687 var queue = PDQ.init({});687 var queue = PDQ.init({});
688 defer queue.deinit(gpa);688 defer queue.deinit(gpa);
689689
690 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };690 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
691 try queue.addSlice(gpa, items[0..]);691 try queue.pushSlice(gpa, items[0..]);
692692
693 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };693 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };
694 for (sorted_items) |e| {694 for (sorted_items) |e| {
695 try expectEqual(e, queue.removeMin());695 try expectEqual(e, queue.popMin());
696 }696 }
697}697}
698698
699test "addSlice max" {699test "pushSlice max" {
700 const gpa = std.testing.allocator;700 const gpa = std.testing.allocator;
701701
702 var queue = PDQ.init({});702 var queue = PDQ.init({});
703 defer queue.deinit(gpa);703 defer queue.deinit(gpa);
704704
705 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };705 const items = [_]u32{ 15, 7, 21, 14, 13, 22, 12, 6, 7, 25, 5, 24, 11, 16, 15, 24, 2, 1 };
706 try queue.addSlice(gpa, items[0..]);706 try queue.pushSlice(gpa, items[0..]);
707707
708 const sorted_items = [_]u32{ 25, 24, 24, 22, 21, 16, 15, 15, 14, 13, 12, 11, 7, 7, 6, 5, 2, 1 };708 const sorted_items = [_]u32{ 25, 24, 24, 22, 21, 16, 15, 15, 14, 13, 12, 11, 7, 7, 6, 5, 2, 1 };
709 for (sorted_items) |e| {709 for (sorted_items) |e| {
710 try expectEqual(e, queue.removeMax());710 try expectEqual(e, queue.popMax());
711 }711 }
712}712}
713713
...@@ -721,7 +721,7 @@ test "fromOwnedSlice trivial case 0" {...@@ -721,7 +721,7 @@ test "fromOwnedSlice trivial case 0" {
721 defer queue.deinit(gpa);721 defer queue.deinit(gpa);
722722
723 try expectEqual(@as(usize, 0), queue.len);723 try expectEqual(@as(usize, 0), queue.len);
724 try expect(queue.removeMinOrNull() == null);724 try expect(queue.popMinOrNull() == null);
725}725}
726726
727test "fromOwnedSlice trivial case 1" {727test "fromOwnedSlice trivial case 1" {
...@@ -734,8 +734,8 @@ test "fromOwnedSlice trivial case 1" {...@@ -734,8 +734,8 @@ test "fromOwnedSlice trivial case 1" {
734 defer queue.deinit(gpa);734 defer queue.deinit(gpa);
735735
736 try expectEqual(@as(usize, 1), queue.len);736 try expectEqual(@as(usize, 1), queue.len);
737 try expectEqual(items[0], queue.removeMin());737 try expectEqual(items[0], queue.popMin());
738 try expect(queue.removeMinOrNull() == null);738 try expect(queue.popMinOrNull() == null);
739}739}
740740
741test "fromOwnedSlice" {741test "fromOwnedSlice" {
...@@ -749,7 +749,7 @@ test "fromOwnedSlice" {...@@ -749,7 +749,7 @@ test "fromOwnedSlice" {
749749
750 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };750 const sorted_items = [_]u32{ 1, 2, 5, 6, 7, 7, 11, 12, 13, 14, 15, 15, 16, 21, 22, 24, 24, 25 };
751 for (sorted_items) |e| {751 for (sorted_items) |e| {
752 try expectEqual(e, queue.removeMin());752 try expectEqual(e, queue.popMin());
753 }753 }
754}754}
755755
...@@ -759,15 +759,15 @@ test "update min queue" {...@@ -759,15 +759,15 @@ test "update min queue" {
759 var queue = PDQ.init({});759 var queue = PDQ.init({});
760 defer queue.deinit(gpa);760 defer queue.deinit(gpa);
761761
762 try queue.add(gpa, 55);762 try queue.push(gpa, 55);
763 try queue.add(gpa, 44);763 try queue.push(gpa, 44);
764 try queue.add(gpa, 11);764 try queue.push(gpa, 11);
765 try queue.update(55, 5);765 try queue.update(55, 5);
766 try queue.update(44, 4);766 try queue.update(44, 4);
767 try queue.update(11, 1);767 try queue.update(11, 1);
768 try expectEqual(@as(u32, 1), queue.removeMin());768 try expectEqual(@as(u32, 1), queue.popMin());
769 try expectEqual(@as(u32, 4), queue.removeMin());769 try expectEqual(@as(u32, 4), queue.popMin());
770 try expectEqual(@as(u32, 5), queue.removeMin());770 try expectEqual(@as(u32, 5), queue.popMin());
771}771}
772772
773test "update same min queue" {773test "update same min queue" {
...@@ -776,16 +776,16 @@ test "update same min queue" {...@@ -776,16 +776,16 @@ test "update same min queue" {
776 var queue = PDQ.init({});776 var queue = PDQ.init({});
777 defer queue.deinit(gpa);777 defer queue.deinit(gpa);
778778
779 try queue.add(gpa, 1);779 try queue.push(gpa, 1);
780 try queue.add(gpa, 1);780 try queue.push(gpa, 1);
781 try queue.add(gpa, 2);781 try queue.push(gpa, 2);
782 try queue.add(gpa, 2);782 try queue.push(gpa, 2);
783 try queue.update(1, 5);783 try queue.update(1, 5);
784 try queue.update(2, 4);784 try queue.update(2, 4);
785 try expectEqual(@as(u32, 1), queue.removeMin());785 try expectEqual(@as(u32, 1), queue.popMin());
786 try expectEqual(@as(u32, 2), queue.removeMin());786 try expectEqual(@as(u32, 2), queue.popMin());
787 try expectEqual(@as(u32, 4), queue.removeMin());787 try expectEqual(@as(u32, 4), queue.popMin());
788 try expectEqual(@as(u32, 5), queue.removeMin());788 try expectEqual(@as(u32, 5), queue.popMin());
789}789}
790790
791test "update max queue" {791test "update max queue" {
...@@ -794,16 +794,16 @@ test "update max queue" {...@@ -794,16 +794,16 @@ test "update max queue" {
794 var queue = PDQ.init({});794 var queue = PDQ.init({});
795 defer queue.deinit(gpa);795 defer queue.deinit(gpa);
796796
797 try queue.add(gpa, 55);797 try queue.push(gpa, 55);
798 try queue.add(gpa, 44);798 try queue.push(gpa, 44);
799 try queue.add(gpa, 11);799 try queue.push(gpa, 11);
800 try queue.update(55, 5);800 try queue.update(55, 5);
801 try queue.update(44, 1);801 try queue.update(44, 1);
802 try queue.update(11, 4);802 try queue.update(11, 4);
803803
804 try expectEqual(@as(u32, 5), queue.removeMax());804 try expectEqual(@as(u32, 5), queue.popMax());
805 try expectEqual(@as(u32, 4), queue.removeMax());805 try expectEqual(@as(u32, 4), queue.popMax());
806 try expectEqual(@as(u32, 1), queue.removeMax());806 try expectEqual(@as(u32, 1), queue.popMax());
807}807}
808808
809test "update same max queue" {809test "update same max queue" {
...@@ -812,26 +812,26 @@ test "update same max queue" {...@@ -812,26 +812,26 @@ test "update same max queue" {
812 var queue = PDQ.init({});812 var queue = PDQ.init({});
813 defer queue.deinit(gpa);813 defer queue.deinit(gpa);
814814
815 try queue.add(gpa, 1);815 try queue.push(gpa, 1);
816 try queue.add(gpa, 1);816 try queue.push(gpa, 1);
817 try queue.add(gpa, 2);817 try queue.push(gpa, 2);
818 try queue.add(gpa, 2);818 try queue.push(gpa, 2);
819 try queue.update(1, 5);819 try queue.update(1, 5);
820 try queue.update(2, 4);820 try queue.update(2, 4);
821 try expectEqual(@as(u32, 5), queue.removeMax());821 try expectEqual(@as(u32, 5), queue.popMax());
822 try expectEqual(@as(u32, 4), queue.removeMax());822 try expectEqual(@as(u32, 4), queue.popMax());
823 try expectEqual(@as(u32, 2), queue.removeMax());823 try expectEqual(@as(u32, 2), queue.popMax());
824 try expectEqual(@as(u32, 1), queue.removeMax());824 try expectEqual(@as(u32, 1), queue.popMax());
825}825}
826826
827test "update after remove" {827test "update after pop" {
828 const gpa = std.testing.allocator;828 const gpa = std.testing.allocator;
829829
830 var queue = PDQ.init({});830 var queue = PDQ.init({});
831 defer queue.deinit(gpa);831 defer queue.deinit(gpa);
832832
833 try queue.add(gpa, 1);833 try queue.push(gpa, 1);
834 try expectEqual(@as(u32, 1), queue.removeMin());834 try expectEqual(@as(u32, 1), queue.popMin());
835 try expectError(error.ElementNotFound, queue.update(1, 1));835 try expectError(error.ElementNotFound, queue.update(1, 1));
836}836}
837837
...@@ -847,7 +847,7 @@ test "iterator" {...@@ -847,7 +847,7 @@ test "iterator" {
847847
848 const items = [_]u32{ 54, 12, 7, 23, 25, 13 };848 const items = [_]u32{ 54, 12, 7, 23, 25, 13 };
849 for (items) |e| {849 for (items) |e| {
850 _ = try queue.add(gpa, e);850 _ = try queue.push(gpa, e);
851 _ = try map.put(e, {});851 _ = try map.put(e, {});
852 }852 }
853853
...@@ -859,15 +859,15 @@ test "iterator" {...@@ -859,15 +859,15 @@ test "iterator" {
859 try expectEqual(@as(usize, 0), map.count());859 try expectEqual(@as(usize, 0), map.count());
860}860}
861861
862test "remove at index" {862test "pop at index" {
863 const gpa = std.testing.allocator;863 const gpa = std.testing.allocator;
864864
865 var queue = PDQ.init({});865 var queue = PDQ.init({});
866 defer queue.deinit(gpa);866 defer queue.deinit(gpa);
867867
868 try queue.add(gpa, 3);868 try queue.push(gpa, 3);
869 try queue.add(gpa, 2);869 try queue.push(gpa, 2);
870 try queue.add(gpa, 1);870 try queue.push(gpa, 1);
871871
872 var it = queue.iterator();872 var it = queue.iterator();
873 var elem = it.next();873 var elem = it.next();
...@@ -878,10 +878,10 @@ test "remove at index" {...@@ -878,10 +878,10 @@ test "remove at index" {
878 idx += 1;878 idx += 1;
879 } else unreachable;879 } else unreachable;
880880
881 try expectEqual(queue.removeIndex(two_idx), 2);881 try expectEqual(queue.popIndex(two_idx), 2);
882 try expectEqual(queue.removeMin(), 1);882 try expectEqual(queue.popMin(), 1);
883 try expectEqual(queue.removeMin(), 3);883 try expectEqual(queue.popMin(), 3);
884 try expectEqual(queue.removeMinOrNull(), null);884 try expectEqual(queue.popMinOrNull(), null);
885}885}
886886
887test "iterator while empty" {887test "iterator while empty" {
...@@ -904,9 +904,9 @@ test "shrinkAndFree" {...@@ -904,9 +904,9 @@ test "shrinkAndFree" {
904 try queue.ensureTotalCapacity(gpa, 4);904 try queue.ensureTotalCapacity(gpa, 4);
905 try expect(queue.capacity() >= 4);905 try expect(queue.capacity() >= 4);
906906
907 try queue.add(gpa, 1);907 try queue.push(gpa, 1);
908 try queue.add(gpa, 2);908 try queue.push(gpa, 2);
909 try queue.add(gpa, 3);909 try queue.push(gpa, 3);
910 try expect(queue.capacity() >= 4);910 try expect(queue.capacity() >= 4);
911 try expectEqual(@as(usize, 3), queue.len);911 try expectEqual(@as(usize, 3), queue.len);
912912
...@@ -914,10 +914,10 @@ test "shrinkAndFree" {...@@ -914,10 +914,10 @@ test "shrinkAndFree" {
914 try expectEqual(@as(usize, 3), queue.capacity());914 try expectEqual(@as(usize, 3), queue.capacity());
915 try expectEqual(@as(usize, 3), queue.len);915 try expectEqual(@as(usize, 3), queue.len);
916916
917 try expectEqual(@as(u32, 3), queue.removeMax());917 try expectEqual(@as(u32, 3), queue.popMax());
918 try expectEqual(@as(u32, 2), queue.removeMax());918 try expectEqual(@as(u32, 2), queue.popMax());
919 try expectEqual(@as(u32, 1), queue.removeMax());919 try expectEqual(@as(u32, 1), queue.popMax());
920 try expect(queue.removeMaxOrNull() == null);920 try expect(queue.popMaxOrNull() == null);
921}921}
922922
923test "fuzz testing min" {923test "fuzz testing min" {
...@@ -942,7 +942,7 @@ fn fuzzTestMin(rng: std.Random, comptime queue_size: usize) !void {...@@ -942,7 +942,7 @@ fn fuzzTestMin(rng: std.Random, comptime queue_size: usize) !void {
942 defer queue.deinit(gpa);942 defer queue.deinit(gpa);
943943
944 var last_removed: ?u32 = null;944 var last_removed: ?u32 = null;
945 while (queue.removeMinOrNull()) |next| {945 while (queue.popMinOrNull()) |next| {
946 if (last_removed) |last| {946 if (last_removed) |last| {
947 try expect(last <= next);947 try expect(last <= next);
948 }948 }
...@@ -972,7 +972,7 @@ fn fuzzTestMax(rng: std.Random, queue_size: usize) !void {...@@ -972,7 +972,7 @@ fn fuzzTestMax(rng: std.Random, queue_size: usize) !void {
972 defer queue.deinit(gpa);972 defer queue.deinit(gpa);
973973
974 var last_removed: ?u32 = null;974 var last_removed: ?u32 = null;
975 while (queue.removeMaxOrNull()) |next| {975 while (queue.popMaxOrNull()) |next| {
976 if (last_removed) |last| {976 if (last_removed) |last| {
977 try expect(last >= next);977 try expect(last >= next);
978 }978 }
...@@ -1006,13 +1006,13 @@ fn fuzzTestMinMax(rng: std.Random, queue_size: usize) !void {...@@ -1006,13 +1006,13 @@ fn fuzzTestMinMax(rng: std.Random, queue_size: usize) !void {
1006 var i: usize = 0;1006 var i: usize = 0;
1007 while (i < queue_size) : (i += 1) {1007 while (i < queue_size) : (i += 1) {
1008 if (i % 2 == 0) {1008 if (i % 2 == 0) {
1009 const next = queue.removeMin();1009 const next = queue.popMin();
1010 if (last_min) |last| {1010 if (last_min) |last| {
1011 try expect(last <= next);1011 try expect(last <= next);
1012 }1012 }
1013 last_min = next;1013 last_min = next;
1014 } else {1014 } else {
1015 const next = queue.removeMax();1015 const next = queue.popMax();
1016 if (last_max) |last| {1016 if (last_max) |last| {
1017 try expect(last >= next);1017 try expect(last >= next);
1018 }1018 }
...@@ -1040,7 +1040,7 @@ fn contextLessThanComparison(context: []const u32, a: usize, b: usize) Order {...@@ -1040,7 +1040,7 @@ fn contextLessThanComparison(context: []const u32, a: usize, b: usize) Order {
10401040
1041const CPDQ = PriorityDequeue(usize, []const u32, contextLessThanComparison);1041const CPDQ = PriorityDequeue(usize, []const u32, contextLessThanComparison);
10421042
1043test "add and remove" {1043test "push and pop" {
1044 const gpa = std.testing.allocator;1044 const gpa = std.testing.allocator;
10451045
1046 const context = [_]u32{ 5, 3, 4, 2, 2, 8, 0 };1046 const context = [_]u32{ 5, 3, 4, 2, 2, 8, 0 };
...@@ -1048,20 +1048,20 @@ test "add and remove" {...@@ -1048,20 +1048,20 @@ test "add and remove" {
1048 var queue = CPDQ.init(context[0..]);1048 var queue = CPDQ.init(context[0..]);
1049 defer queue.deinit(gpa);1049 defer queue.deinit(gpa);
10501050
1051 try queue.add(gpa, 0);1051 try queue.push(gpa, 0);
1052 try queue.add(gpa, 1);1052 try queue.push(gpa, 1);
1053 try queue.add(gpa, 2);1053 try queue.push(gpa, 2);
1054 try queue.add(gpa, 3);1054 try queue.push(gpa, 3);
1055 try queue.add(gpa, 4);1055 try queue.push(gpa, 4);
1056 try queue.add(gpa, 5);1056 try queue.push(gpa, 5);
1057 try queue.add(gpa, 6);1057 try queue.push(gpa, 6);
1058 try expectEqual(@as(usize, 6), queue.removeMin());1058 try expectEqual(@as(usize, 6), queue.popMin());
1059 try expectEqual(@as(usize, 5), queue.removeMax());1059 try expectEqual(@as(usize, 5), queue.popMax());
1060 try expectEqual(@as(usize, 3), queue.removeMin());1060 try expectEqual(@as(usize, 3), queue.popMin());
1061 try expectEqual(@as(usize, 0), queue.removeMax());1061 try expectEqual(@as(usize, 0), queue.popMax());
1062 try expectEqual(@as(usize, 4), queue.removeMin());1062 try expectEqual(@as(usize, 4), queue.popMin());
1063 try expectEqual(@as(usize, 2), queue.removeMax());1063 try expectEqual(@as(usize, 2), queue.popMax());
1064 try expectEqual(@as(usize, 1), queue.removeMin());1064 try expectEqual(@as(usize, 1), queue.popMin());
1065}1065}
10661066
1067var all_cmps_unique = true;1067var all_cmps_unique = true;
...@@ -1077,13 +1077,13 @@ test "don't compare a value to a copy of itself" {...@@ -1077,13 +1077,13 @@ test "don't compare a value to a copy of itself" {
1077 }.uniqueLessThan).init({});1077 }.uniqueLessThan).init({});
1078 defer depq.deinit(gpa);1078 defer depq.deinit(gpa);
10791079
1080 try depq.add(gpa, 1);1080 try depq.push(gpa, 1);
1081 try depq.add(gpa, 2);1081 try depq.push(gpa, 2);
1082 try depq.add(gpa, 3);1082 try depq.push(gpa, 3);
1083 try depq.add(gpa, 4);1083 try depq.push(gpa, 4);
1084 try depq.add(gpa, 5);1084 try depq.push(gpa, 5);
1085 try depq.add(gpa, 6);1085 try depq.push(gpa, 6);
10861086
1087 _ = depq.removeIndex(2);1087 _ = depq.popIndex(2);
1088 try expectEqual(all_cmps_unique, true);1088 try expectEqual(all_cmps_unique, true);
1089}1089}