authorgravatar for matthew.h.borkowski@gmail.comMatthew Borkowski <matthew.h.borkowski@gmail.com> 2021-05-09 01:13:18-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-05-12 18:33:25-04:00
log40a47eae65b918866abc9d745f89d837f6a1e591
tree99c792cced15e69e153255774b0e967f76c1e9dd
parent19aab5302c71edccae7959065062fd1695a396aa

fix shrinkAndFree and remove shrinkRetainingCapacity in PriorityQueue and PriorityDequeue


2 files changed, 2 insertions(+), 32 deletions(-)

lib/std/priority_dequeue.zig+1-16
......@@ -387,17 +387,6 @@ pub fn PriorityDequeue(comptime T: type) type {
387387 return;
388388 },
389389 };
390 self.len = new_len;
391 }
392
393 /// Reduce length to `new_len`.
394 pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
395 assert(new_len <= self.items.len);
396
397 // Cannot shrink to smaller than the current queue size without invalidating the heap property
398 assert(new_len >= self.len);
399
400 self.len = new_len;
401390 }
402391
403392 pub fn update(self: *Self, elem: T, new_elem: T) !void {
......@@ -836,7 +825,7 @@ test "std.PriorityDequeue: iterator while empty" {
836825 try expectEqual(it.next(), null);
837826}
838827
839test "std.PriorityDequeue: shrinkRetainingCapacity and shrinkAndFree" {
828test "std.PriorityDequeue: shrinkAndFree" {
840829 var queue = PDQ.init(testing.allocator, lessThanComparison);
841830 defer queue.deinit();
842831
......@@ -849,10 +838,6 @@ test "std.PriorityDequeue: shrinkRetainingCapacity and shrinkAndFree" {
849838 try expect(queue.capacity() >= 4);
850839 try expectEqual(@as(usize, 3), queue.len);
851840
852 queue.shrinkRetainingCapacity(3);
853 try expect(queue.capacity() >= 4);
854 try expectEqual(@as(usize, 3), queue.len);
855
856841 queue.shrinkAndFree(3);
857842 try expectEqual(@as(usize, 3), queue.capacity());
858843 try expectEqual(@as(usize, 3), queue.len);
lib/std/priority_queue.zig+1-16
......@@ -203,17 +203,6 @@ pub fn PriorityQueue(comptime T: type) type {
203203 return;
204204 },
205205 };
206 self.len = new_len;
207 }
208
209 /// Reduce length to `new_len`.
210 pub fn shrinkRetainingCapacity(self: *Self, new_len: usize) void {
211 assert(new_len <= self.items.len);
212
213 // Cannot shrink to smaller than the current queue size without invalidating the heap property
214 assert(new_len >= self.len);
215
216 self.len = new_len;
217206 }
218207
219208 pub fn update(self: *Self, elem: T, new_elem: T) !void {
......@@ -495,7 +484,7 @@ test "std.PriorityQueue: iterator while empty" {
495484 try expectEqual(it.next(), null);
496485}
497486
498test "std.PriorityQueue: shrinkRetainingCapacity and shrinkAndFree" {
487test "std.PriorityQueue: shrinkAndFree" {
499488 var queue = PQ.init(testing.allocator, lessThan);
500489 defer queue.deinit();
501490
......@@ -508,10 +497,6 @@ test "std.PriorityQueue: shrinkRetainingCapacity and shrinkAndFree" {
508497 try expect(queue.capacity() >= 4);
509498 try expectEqual(@as(usize, 3), queue.len);
510499
511 queue.shrinkRetainingCapacity(3);
512 try expect(queue.capacity() >= 4);
513 try expectEqual(@as(usize, 3), queue.len);
514
515500 queue.shrinkAndFree(3);
516501 try expectEqual(@as(usize, 3), queue.capacity());
517502 try expectEqual(@as(usize, 3), queue.len);