summaryrefslogtreecommitdiff
path: root/queue.adb
diff options
context:
space:
mode:
authorrexim <reximkut@gmail.com>2024-03-17 01:59:06 +0700
committerrexim <reximkut@gmail.com>2024-03-17 01:59:06 +0700
commitee5d0dae7738e0cb480465ae0ecd6e15fd8ed118 (patch)
treea1691e76f2ebe6b2e9da91afacd532f8398c500f /queue.adb
parent074c3b9d787aacd13ba87fd49b01537fb99bbac0 (diff)
Optimize path finding, remove custom queue.
Diffstat (limited to 'queue.adb')
-rw-r--r--queue.adb43
1 files changed, 0 insertions, 43 deletions
diff --git a/queue.adb b/queue.adb
deleted file mode 100644
index 4745ee8..0000000
--- a/queue.adb
+++ /dev/null
@@ -1,43 +0,0 @@
-with Ada.Unchecked_Deallocation;
-
-package body Queue is
- procedure Delete_Items_Array is new Ada.Unchecked_Deallocation(Items_Array, Items_Array_Access);
-
- procedure Grow(Q: in out Queue) is
- New_Items: constant Items_Array_Access := new Items_Array(0..Q.Items'Length*2-1);
- begin
- for Offset in Q.Items'Range loop
- New_Items(Offset) := Q.Items((Q.Start + Offset) mod Q.Items'Length);
- end loop;
- Delete_Items_Array(Q.Items);
- Q.Items := New_Items;
- Q.Start := 0;
- end;
-
- procedure Enqueue(Q: in out Queue; X: Item) is
- begin
- if Q.Items = null then
- Q.Items := new Items_Array(0..INIT_CAPACITY-1);
- end if;
-
- if Q.Count >= Q.Items'Length then
- Grow(Q);
- end if;
-
- Q.Items((Q.Start + Q.Count) mod Q.Items'Length) := X;
- Q.Count := Q.Count + 1;
- end;
-
- function Dequeue(Q: in out Queue; X: out Item) return Boolean is
- begin
- if Q.Count <= 0 then
- return False;
- end if;
-
- X := Q.Items(Q.Start);
- Q.Start := (Q.Start + 1) mod Q.Items'Length;
- Q.Count := Q.Count - 1;
-
- return True;
- end;
-end Queue;