From 96a3c5c179d8d3fff24eb2953e45f8dd15e2714c Mon Sep 17 00:00:00 2001
From: HJ Generated by EDoc Copyright © 2011-2020 Michael Truog Version: 2.0.1 Nov 26 2020 14:55:34
+ ------------------------------------------------------------------------ Authors: Michael Truog (mjtruog at protonmail dot com). pqueue() = {integer(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, queue:queue(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}} | {empty, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, queue:queue(), {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}, {queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue(), queue:queue()}}
+ Modules
+
+
+
+
\ No newline at end of file
diff --git a/aoc2023/build/packages/pqueue/doc/overview-summary.html b/aoc2023/build/packages/pqueue/doc/overview-summary.html
new file mode 100644
index 0000000..e2f8906
--- /dev/null
+++ b/aoc2023/build/packages/pqueue/doc/overview-summary.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+pqueue
+pqueue2
+pqueue3 pqueue4 The pqueue application
+
+
+
+
+
+Module pqueue
+
+ Static Priority Queue.
+ This priority queue implementation depends on a static number of priorities
+ (-20 (high) to 20 (low)) so that tuple access times can be exploited for
+ quick in/out priority queue operations.
+Description
+ Static Priority Queue.
+ This priority queue implementation depends on a static number of priorities
+ (-20 (high) to 20 (low)) so that tuple access times can be exploited for
+ quick in/out priority queue operations. This implementation was created to
+ avoid the slowness within the priority queue used by both RabbitMQ and Riak
+ (https://github.com/basho/riak_core/blob/master/src/priority_queue.erl).
+Data Types
+
+pqueue()
+Function Index
+
+
+
+in/2
+ Append an item to the tail of the 0 priority queue.
+ O(1).
+in/3
+ Append an item to the tail of a specific priority queue.
+ O(1).
+is_empty/1
+ Check if the priority queue is empty.
+ O(1).
+is_queue/1
+ Check if the priority queue type is as expected.
+ O(1).
+join/2
+ Join two priority queues.
+ O(N).
+len/1
+ Determine the length of a priority queue.
+ O(N).
+new/0
+ Create a new priority queue.
+ O(1).
+out/1
+ Take an item from the head of the priority queue.
+ O(1) amortized, O(N) worst case.
+out/2
+ Take an item of a specific priority from the head of the queue.
+ O(1) amortized, O(N) worst case.
+pout/1
+ Take an item from the head of the priority queue.
+ Includes the priority in the return value.
+test/0
+ Regression test.
.
+to_list/1
+ Convert the priority queue to a list.
+ O(N).Function Details
+
+in/2
+Append an item to the tail of the 0 priority queue.
+ O(1)
+
is_empty(X1::pqueue()) -> true | false
+
is_queue(X1::pqueue()) -> true | false
+
+
len(X1::pqueue()) -> non_neg_integer()
+
new() -> pqueue()
+
+
+
+
test() -> any()
++
to_list(X1::pqueue()) -> [term()]
+
Generated by EDoc
+ + diff --git a/aoc2023/build/packages/pqueue/doc/pqueue2.html b/aoc2023/build/packages/pqueue/doc/pqueue2.html new file mode 100644 index 0000000..2942b84 --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/pqueue2.html @@ -0,0 +1,143 @@ + + + + +Copyright © 2011-2020 Michael Truog
+ +Version: 2.0.1 Nov 26 2020 14:55:32 + ------------------------------------------------------------------------
+Authors: Michael Truog (mjtruog at protonmail dot com).
+ +pqueue2() = empty | {integer(), pqueue2(), pqueue2(), element, term()} | {integer(), pqueue2(), pqueue2(), queue, queue:queue()}
+ + ++
+
is_empty(X1::pqueue2()) -> true | false
+
is_queue(X1::pqueue2()) -> true | false
+
len(H::pqueue2()) -> non_neg_integer()
+
new() -> pqueue2()
+
+
+
+
test() -> any()
++
to_list(H::pqueue2()) -> [term()]
+
Generated by EDoc
+ + diff --git a/aoc2023/build/packages/pqueue/doc/pqueue3.html b/aoc2023/build/packages/pqueue/doc/pqueue3.html new file mode 100644 index 0000000..35f1a7b --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/pqueue3.html @@ -0,0 +1,162 @@ + + + + +Copyright © 2011-2020 Michael Truog
+ +Version: 2.0.1 Nov 26 2020 14:55:32 + ------------------------------------------------------------------------
+Authors: Michael Truog (mjtruog at protonmail dot com).
+ +pqueue3() = {integer(), integer(), empty | integer(), tuple()}
+ + +pqueue3_empty() = {integer(), integer(), empty, tuple()}
+ + +in/2 |
+ Append an item to the tail of the 0 priority queue.+ O(1). |
in/3 |
+ Append an item to the tail of a specific priority queue.+ O(1). |
is_empty/1 |
+ Check if the priority queue is empty.+ O(1). |
is_queue/1 |
+ Check if the priority queue type is as expected.+ O(1). |
len/1 |
+ Determine the length of a priority queue.+ O(N). |
new/0 |
+ Create a new priority queue.+ O(1). |
new/1 |
+ Create a new priority queue with customization options.+ O(1). |
out/1 |
+ Take an item from the head of the priority queue.+ O(1) amortized, O(N) worst case. |
out/2 |
+ Take an item of a specific priority from the head of the queue.+ O(1) amortized, O(N) worst case. |
pout/1 |
+ Take an item from the head of the priority queue.+ Includes the priority in the return value. |
to_list/1 |
+ Convert the priority queue to a list.+ O(N). |
+
+
is_empty(Q::pqueue3()) -> true | false
+
is_queue(X1::pqueue3()) -> true | false
+
len(Q::pqueue3()) -> non_neg_integer()
+
new() -> pqueue3_empty()
+
new(Options::[{atom(), term()}]) -> pqueue3()
+
+
+
+
to_list(Q::pqueue3()) -> [term()]
+
Generated by EDoc
+ + diff --git a/aoc2023/build/packages/pqueue/doc/pqueue4.html b/aoc2023/build/packages/pqueue/doc/pqueue4.html new file mode 100644 index 0000000..edcdb6e --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/pqueue4.html @@ -0,0 +1,205 @@ + + + + +Copyright © 2011-2020 Michael Truog
+ +Version: 2.0.1 Nov 26 2020 14:55:34 + ------------------------------------------------------------------------
+Authors: Michael Truog (mjtruog at protonmail dot com).
+ +pqueue4() = pqueue4(any())
+ + +pqueue4(T) = {priority() | empty, non_neg_integer(), {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, queue:queue(T), {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}, {queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T), queue:queue(T)}}
+ + +priority() = -128..128
+ + ++
+
+
+
is_empty(X1::pqueue4()) -> true | false
+
is_queue(X1::pqueue4()) -> true | false
+
len(X1::pqueue4()) -> non_neg_integer()
+
new() -> pqueue4()
+
+
+
+
+
remove_unique(F::fun((any()) -> boolean()), P::integer(), Q::pqueue4()) -> {boolean(), pqueue4()}
+
to_list(Q::pqueue4()) -> list()
+
to_plist(Q::pqueue4()) -> [{priority(), list()}]
+
Generated by EDoc
+ + diff --git a/aoc2023/build/packages/pqueue/doc/stylesheet.css b/aoc2023/build/packages/pqueue/doc/stylesheet.css new file mode 100644 index 0000000..ab170c0 --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/stylesheet.css @@ -0,0 +1,55 @@ +/* standard EDoc style sheet */ +body { + font-family: Verdana, Arial, Helvetica, sans-serif; + margin-left: .25in; + margin-right: .2in; + margin-top: 0.2in; + margin-bottom: 0.2in; + color: #000000; + background-color: #ffffff; +} +h1,h2 { + margin-left: -0.2in; +} +div.navbar { + background-color: #add8e6; + padding: 0.2em; +} +h2.indextitle { + padding: 0.4em; + background-color: #add8e6; +} +h3.function,h3.typedecl { + background-color: #add8e6; + padding-left: 1em; +} +div.spec { + margin-left: 2em; + background-color: #eeeeee; +} +a.module { + text-decoration:none +} +a.module:hover { + background-color: #eeeeee; +} +ul.definitions { + list-style-type: none; +} +ul.index { + list-style-type: none; + background-color: #eeeeee; +} + +/* + * Minor style tweaks + */ +ul { + list-style-type: square; +} +table { + border-collapse: collapse; +} +td { + padding: 3 +} -- cgit v1.2.3