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 {...@@ -387,17 +387,6 @@ pub fn PriorityDequeue(comptime T: type) type {
387 return;387 return;
388 },388 },
389 };389 };
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;
401 }390 }
402391
403 pub fn update(self: *Self, elem: T, new_elem: T) !void {392 pub fn update(self: *Self, elem: T, new_elem: T) !void {
...@@ -836,7 +825,7 @@ test "std.PriorityDequeue: iterator while empty" {...@@ -836,7 +825,7 @@ test "std.PriorityDequeue: iterator while empty" {
836 try expectEqual(it.next(), null);825 try expectEqual(it.next(), null);
837}826}
838827
839test "std.PriorityDequeue: shrinkRetainingCapacity and shrinkAndFree" {828test "std.PriorityDequeue: shrinkAndFree" {
840 var queue = PDQ.init(testing.allocator, lessThanComparison);829 var queue = PDQ.init(testing.allocator, lessThanComparison);
841 defer queue.deinit();830 defer queue.deinit();
842831
...@@ -849,10 +838,6 @@ test "std.PriorityDequeue: shrinkRetainingCapacity and shrinkAndFree" {...@@ -849,10 +838,6 @@ test "std.PriorityDequeue: shrinkRetainingCapacity and shrinkAndFree" {
849 try expect(queue.capacity() >= 4);838 try expect(queue.capacity() >= 4);
850 try expectEqual(@as(usize, 3), queue.len);839 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
856 queue.shrinkAndFree(3);841 queue.shrinkAndFree(3);
857 try expectEqual(@as(usize, 3), queue.capacity());842 try expectEqual(@as(usize, 3), queue.capacity());
858 try expectEqual(@as(usize, 3), queue.len);843 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 {...@@ -203,17 +203,6 @@ pub fn PriorityQueue(comptime T: type) type {
203 return;203 return;
204 },204 },
205 };205 };
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;
217 }206 }
218207
219 pub fn update(self: *Self, elem: T, new_elem: T) !void {208 pub fn update(self: *Self, elem: T, new_elem: T) !void {
...@@ -495,7 +484,7 @@ test "std.PriorityQueue: iterator while empty" {...@@ -495,7 +484,7 @@ test "std.PriorityQueue: iterator while empty" {
495 try expectEqual(it.next(), null);484 try expectEqual(it.next(), null);
496}485}
497486
498test "std.PriorityQueue: shrinkRetainingCapacity and shrinkAndFree" {487test "std.PriorityQueue: shrinkAndFree" {
499 var queue = PQ.init(testing.allocator, lessThan);488 var queue = PQ.init(testing.allocator, lessThan);
500 defer queue.deinit();489 defer queue.deinit();
501490
...@@ -508,10 +497,6 @@ test "std.PriorityQueue: shrinkRetainingCapacity and shrinkAndFree" {...@@ -508,10 +497,6 @@ test "std.PriorityQueue: shrinkRetainingCapacity and shrinkAndFree" {
508 try expect(queue.capacity() >= 4);497 try expect(queue.capacity() >= 4);
509 try expectEqual(@as(usize, 3), queue.len);498 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
515 queue.shrinkAndFree(3);500 queue.shrinkAndFree(3);
516 try expectEqual(@as(usize, 3), queue.capacity());501 try expectEqual(@as(usize, 3), queue.capacity());
517 try expectEqual(@as(usize, 3), queue.len);502 try expectEqual(@as(usize, 3), queue.len);