aboutsummaryrefslogtreecommitdiff
path: root/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
diff options
context:
space:
mode:
authorJ.J <thechairman@thechairman.info>2024-05-30 21:50:02 -0400
committerJ.J <thechairman@thechairman.info>2024-05-30 21:50:02 -0400
commit612fd986ab1e00b6d34dc1937136250e08e89325 (patch)
treea3c93952040c6afdf348b5831619a45db7ba0a2e /aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
parent231c2b688d1e6cf0846d46e883da30e042a9c6cf (diff)
downloadgleam_aoc-612fd986ab1e00b6d34dc1937136250e08e89325.tar.gz
gleam_aoc-612fd986ab1e00b6d34dc1937136250e08e89325.zip
cleanup
Diffstat (limited to 'aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html')
-rw-r--r--aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html162
1 files changed, 162 insertions, 0 deletions
diff --git a/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html b/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
new file mode 100644
index 0000000..35f1a7b
--- /dev/null
+++ b/aoc2023/build/dev/erlang/pqueue/doc/pqueue3.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Module pqueue3</title>
+<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
+</head>
+<body bgcolor="white">
+<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<hr>
+
+<h1>Module pqueue3</h1>
+<ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
+ <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
+ This priority queue implementation depends on layered tuples, so that tuple
+ access times can be exploited for quick in/out priority queue operations
+ when using 64 or more total priorities.
+<p>Copyright © 2011-2020 Michael Truog</p>
+
+<p><b>Version:</b> 2.0.1 Nov 26 2020 14:55:32
+ ------------------------------------------------------------------------</p>
+<p><b>Authors:</b> Michael Truog (<a href="mailto:mjtruog at protonmail dot com"><tt>mjtruog at protonmail dot com</tt></a>).</p>
+
+<h2><a name="description">Description</a></h2>
+ <h3><a name="A_Large_Priority_Queue.">A Large Priority Queue.</a></h3>
+ This priority queue implementation depends on layered tuples, so that tuple
+ access times can be exploited for quick in/out priority queue operations
+ when using 64 or more total priorities. 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).
+<h2><a name="types">Data Types</a></h2>
+
+<h3 class="typedecl"><a name="type-pqueue3">pqueue3()</a></h3>
+<p><tt>pqueue3() = {integer(), integer(), empty | integer(), tuple()}</tt></p>
+
+
+<h3 class="typedecl"><a name="type-pqueue3_empty">pqueue3_empty()</a></h3>
+<p><tt>pqueue3_empty() = {integer(), integer(), empty, tuple()}</tt></p>
+
+
+<h2><a name="index">Function Index</a></h2>
+<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#in-2">in/2</a></td><td>
+ <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#in-3">in/3</a></td><td>
+ <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#is_empty-1">is_empty/1</a></td><td>
+ <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#is_queue-1">is_queue/1</a></td><td>
+ <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#len-1">len/1</a></td><td>
+ <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
+ O(N).</td></tr>
+<tr><td valign="top"><a href="#new-0">new/0</a></td><td>
+ <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#new-1">new/1</a></td><td>
+ <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
+ O(1).</td></tr>
+<tr><td valign="top"><a href="#out-1">out/1</a></td><td>
+ <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
+ O(1) amortized, O(N) worst case.</td></tr>
+<tr><td valign="top"><a href="#out-2">out/2</a></td><td>
+ <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
+ O(1) amortized, O(N) worst case.</td></tr>
+<tr><td valign="top"><a href="#pout-1">pout/1</a></td><td>
+ <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
+ Includes the priority in the return value.</td></tr>
+<tr><td valign="top"><a href="#to_list-1">to_list/1</a></td><td>
+ <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
+ O(N).</td></tr>
+</table>
+
+<h2><a name="functions">Function Details</a></h2>
+
+<h3 class="function"><a name="in-2">in/2</a></h3>
+<div class="spec">
+<p><tt>in(Value::term(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
+</div><p>
+ <h4><a name="Append_an_item_to_the_tail_of_the_0_priority_queue.">Append an item to the tail of the 0 priority queue.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="in-3">in/3</a></h3>
+<div class="spec">
+<p><tt>in(Value::term(), P::integer(), X3::<a href="#type-pqueue3">pqueue3()</a>) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
+</div><p>
+ <h4><a name="Append_an_item_to_the_tail_of_a_specific_priority_queue.">Append an item to the tail of a specific priority queue.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="is_empty-1">is_empty/1</a></h3>
+<div class="spec">
+<p><tt>is_empty(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
+</div><p>
+ <h4><a name="Check_if_the_priority_queue_is_empty.">Check if the priority queue is empty.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="is_queue-1">is_queue/1</a></h3>
+<div class="spec">
+<p><tt>is_queue(X1::<a href="#type-pqueue3">pqueue3()</a>) -&gt; true | false</tt><br></p>
+</div><p>
+ <h4><a name="Check_if_the_priority_queue_type_is_as_expected.">Check if the priority queue type is as expected.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="len-1">len/1</a></h3>
+<div class="spec">
+<p><tt>len(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; non_neg_integer()</tt><br></p>
+</div><p>
+ <h4><a name="Determine_the_length_of_a_priority_queue.">Determine the length of a priority queue.</a></h4>
+ O(N)</p>
+
+<h3 class="function"><a name="new-0">new/0</a></h3>
+<div class="spec">
+<p><tt>new() -&gt; <a href="#type-pqueue3_empty">pqueue3_empty()</a></tt><br></p>
+</div><p>
+ <h4><a name="Create_a_new_priority_queue.">Create a new priority queue.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="new-1">new/1</a></h3>
+<div class="spec">
+<p><tt>new(Options::[{atom(), term()}]) -&gt; <a href="#type-pqueue3">pqueue3()</a></tt><br></p>
+</div><p>
+ <h4><a name="Create_a_new_priority_queue_with_customization_options.">Create a new priority queue with customization options.</a></h4>
+ O(1)</p>
+
+<h3 class="function"><a name="out-1">out/1</a></h3>
+<div class="spec">
+<p><tt>out(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
+</div><p>
+ <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
+ O(1) amortized, O(N) worst case</p>
+
+<h3 class="function"><a name="out-2">out/2</a></h3>
+<div class="spec">
+<p><tt>out(P::integer(), Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
+</div><p>
+ <h4><a name="Take_an_item_of_a_specific_priority_from_the_head_of_the_queue.">Take an item of a specific priority from the head of the queue.</a></h4>
+ O(1) amortized, O(N) worst case</p>
+
+<h3 class="function"><a name="pout-1">pout/1</a></h3>
+<div class="spec">
+<p><tt>pout(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; {{value, term(), integer()}, <a href="#type-pqueue3">pqueue3()</a>} | {empty, <a href="#type-pqueue3">pqueue3()</a>}</tt><br></p>
+</div><p>
+ <h4><a name="Take_an_item_from_the_head_of_the_priority_queue.">Take an item from the head of the priority queue.</a></h4>
+ Includes the priority in the return value.
+ O(1) amortized, O(N) worst case</p>
+
+<h3 class="function"><a name="to_list-1">to_list/1</a></h3>
+<div class="spec">
+<p><tt>to_list(Q::<a href="#type-pqueue3">pqueue3()</a>) -&gt; [term()]</tt><br></p>
+</div><p>
+ <h4><a name="Convert_the_priority_queue_to_a_list.">Convert the priority queue to a list.</a></h4>
+ O(N)</p>
+<hr>
+
+<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
+<p><i>Generated by EDoc</i></p>
+</body>
+</html>