From 612fd986ab1e00b6d34dc1937136250e08e89325 Mon Sep 17 00:00:00 2001 From: "J.J" Date: Thu, 30 May 2024 21:50:02 -0400 Subject: cleanup --- aoc2023/build/packages/pqueue/doc/edoc-info | 3 + aoc2023/build/packages/pqueue/doc/erlang.png | Bin 0 -> 2109 bytes aoc2023/build/packages/pqueue/doc/index.html | 17 ++ .../build/packages/pqueue/doc/modules-frame.html | 15 ++ .../packages/pqueue/doc/overview-summary.html | 16 ++ aoc2023/build/packages/pqueue/doc/pqueue.html | 166 +++++++++++++++++ aoc2023/build/packages/pqueue/doc/pqueue2.html | 143 ++++++++++++++ aoc2023/build/packages/pqueue/doc/pqueue3.html | 162 ++++++++++++++++ aoc2023/build/packages/pqueue/doc/pqueue4.html | 205 +++++++++++++++++++++ aoc2023/build/packages/pqueue/doc/stylesheet.css | 55 ++++++ 10 files changed, 782 insertions(+) create mode 100644 aoc2023/build/packages/pqueue/doc/edoc-info create mode 100644 aoc2023/build/packages/pqueue/doc/erlang.png create mode 100644 aoc2023/build/packages/pqueue/doc/index.html create mode 100644 aoc2023/build/packages/pqueue/doc/modules-frame.html create mode 100644 aoc2023/build/packages/pqueue/doc/overview-summary.html create mode 100644 aoc2023/build/packages/pqueue/doc/pqueue.html create mode 100644 aoc2023/build/packages/pqueue/doc/pqueue2.html create mode 100644 aoc2023/build/packages/pqueue/doc/pqueue3.html create mode 100644 aoc2023/build/packages/pqueue/doc/pqueue4.html create mode 100644 aoc2023/build/packages/pqueue/doc/stylesheet.css (limited to 'aoc2023/build/packages/pqueue/doc') diff --git a/aoc2023/build/packages/pqueue/doc/edoc-info b/aoc2023/build/packages/pqueue/doc/edoc-info new file mode 100644 index 0000000..5e5a8d3 --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/edoc-info @@ -0,0 +1,3 @@ +%% encoding: UTF-8 +{application,pqueue}. +{modules,[pqueue,pqueue2,pqueue3,pqueue4]}. diff --git a/aoc2023/build/packages/pqueue/doc/erlang.png b/aoc2023/build/packages/pqueue/doc/erlang.png new file mode 100644 index 0000000..987a618 Binary files /dev/null and b/aoc2023/build/packages/pqueue/doc/erlang.png differ diff --git a/aoc2023/build/packages/pqueue/doc/index.html b/aoc2023/build/packages/pqueue/doc/index.html new file mode 100644 index 0000000..d55b5e6 --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/index.html @@ -0,0 +1,17 @@ + + + +The pqueue application + + + + + + +<h2>This page uses frames</h2> +<p>Your browser does not accept frames. +<br>You should go to the <a href="overview-summary.html">non-frame version</a> instead. +</p> + + + \ No newline at end of file diff --git a/aoc2023/build/packages/pqueue/doc/modules-frame.html b/aoc2023/build/packages/pqueue/doc/modules-frame.html new file mode 100644 index 0000000..5a87cc4 --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/modules-frame.html @@ -0,0 +1,15 @@ + + + +The pqueue application + + + +

Modules

+ + + + +
pqueue
pqueue2
pqueue3
pqueue4
+ + \ 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 @@ + + + + +The pqueue application + + + + +

The pqueue application

+ +
+ +

Generated by EDoc

+ + diff --git a/aoc2023/build/packages/pqueue/doc/pqueue.html b/aoc2023/build/packages/pqueue/doc/pqueue.html new file mode 100644 index 0000000..40b05ac --- /dev/null +++ b/aoc2023/build/packages/pqueue/doc/pqueue.html @@ -0,0 +1,166 @@ + + + + +Module pqueue + + + + +
+ +

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. +

Copyright © 2011-2020 Michael Truog

+ +

Version: 2.0.1 Nov 26 2020 14:55:34 + ------------------------------------------------------------------------

+

Authors: Michael Truog (mjtruog at protonmail dot com).

+ +

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()

+

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()}}

+ + +

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

+
+

in(X::term(), Q::pqueue()) -> pqueue()

+

+

Append an item to the tail of the 0 priority queue.

+ O(1)

+ +

in/3

+
+

in(X::term(), P::integer(), Q::pqueue()) -> pqueue()

+

+

Append an item to the tail of a specific priority queue.

+ O(1)

+ +

is_empty/1

+
+

is_empty(X1::pqueue()) -> true | false

+

+

Check if the priority queue is empty.

+ O(1)

+ +

is_queue/1

+
+

is_queue(X1::pqueue()) -> true | false

+

+

Check if the priority queue type is as expected.

+ O(1)

+ +

join/2

+
+

join(X1::pqueue(), X2::pqueue()) -> pqueue()

+

+

Join two priority queues.

+ O(N)

+ +

len/1

+
+

len(X1::pqueue()) -> non_neg_integer()

+

+

Determine the length of a priority queue.

+ O(N)

+ +

new/0

+
+

new() -> pqueue()

+

+

Create a new priority queue.

+ O(1)

+ +

out/1

+
+

out(Q::pqueue()) -> {{value, term()}, pqueue()} | {empty, pqueue()}

+

+

Take an item from the head of the priority queue.

+ O(1) amortized, O(N) worst case

+ +

out/2

+
+

out(P::integer(), Q::pqueue()) -> {{value, term()}, pqueue()} | {empty, pqueue()}

+

+

Take an item of a specific priority from the head of the queue.

+ O(1) amortized, O(N) worst case

+ +

pout/1

+
+

pout(Q::pqueue()) -> {{value, term(), integer()}, pqueue()} | {empty, pqueue()}

+

+

Take an item from the head of the priority queue.

+ Includes the priority in the return value. + O(1) amortized, O(N) worst case

+ +

test/0

+
+

test() -> any()

+

+

Regression test.

+

+ +

to_list/1

+
+

to_list(X1::pqueue()) -> [term()]

+

+

Convert the priority queue to a list.

+ O(N)

+
+ + +

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 @@ + + + + +Module pqueue2 + + + + +
+ +

Module pqueue2

+ +

Skew Heap Priority Queue.

+ Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority + queue implementation. +

Copyright © 2011-2020 Michael Truog

+ +

Version: 2.0.1 Nov 26 2020 14:55:32 + ------------------------------------------------------------------------

+

Authors: Michael Truog (mjtruog at protonmail dot com).

+ +

Description

+

Skew Heap Priority Queue.

+ Ulf Wiger suggested pursuing a skew heap as an optimal Erlang priority + queue implementation. Unfortunately, testing has shown this solution to + be more than 2 times slower than pqueue. +

Data Types

+ +

pqueue2()

+

pqueue2() = empty | {integer(), pqueue2(), pqueue2(), element, term()} | {integer(), pqueue2(), pqueue2(), queue, queue:queue()}

+ + +

Function Index

+ + + + + + + + + + + +
in/2 +

Append an item to the tail of the 0 priority queue.

.
in/3 +

Append an item to the tail of a specific priority queue.

.
is_empty/1 +

Check if the priority queue is empty.

.
is_queue/1 +

Check if the priority queue type is as expected.

.
len/1 +

Determine the length of a priority queue.

.
new/0 +

Create a new priority queue.

.
out/1 +

Take an item from the head of the priority queue.

.
out/2 +

Take an item of a specific priority from the head of the queue.

.
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.

.
+ +

Function Details

+ +

in/2

+
+

in(Value::term(), H::pqueue2()) -> pqueue2()

+

+

Append an item to the tail of the 0 priority queue.

+

+ +

in/3

+
+

in(Value::term(), P::integer(), H::pqueue2()) -> pqueue2()

+

+

Append an item to the tail of a specific priority queue.

+

+ +

is_empty/1

+
+

is_empty(X1::pqueue2()) -> true | false

+

+

Check if the priority queue is empty.

+

+ +

is_queue/1

+
+

is_queue(X1::pqueue2()) -> true | false

+

+

Check if the priority queue type is as expected.

+

+ +

len/1

+
+

len(H::pqueue2()) -> non_neg_integer()

+

+

Determine the length of a priority queue.

+

+ +

new/0

+
+

new() -> pqueue2()

+

+

Create a new priority queue.

+

+ +

out/1

+
+

out(X1::pqueue2()) -> {{value, term()}, pqueue2()} | {empty, pqueue2()}

+

+

Take an item from the head of the priority queue.

+

+ +

out/2

+
+

out(P::integer(), H::pqueue2()) -> {{value, term()}, pqueue2()} | {empty, pqueue2()}

+

+

Take an item of a specific priority from the head of the queue.

+

+ +

pout/1

+
+

pout(X1::pqueue2()) -> {{value, term(), integer()}, pqueue2()} | {empty, pqueue2()}

+

+

Take an item from the head of the priority queue.

+ Includes the priority in the return value.

+ +

test/0

+
+

test() -> any()

+

+

Regression test.

+

+ +

to_list/1

+
+

to_list(H::pqueue2()) -> [term()]

+

+

Convert the priority queue to a list.

+

+
+ + +

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 @@ + + + + +Module pqueue3 + + + + +
+ +

Module pqueue3

+ +

A Large Priority Queue.

+ 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. +

Copyright © 2011-2020 Michael Truog

+ +

Version: 2.0.1 Nov 26 2020 14:55:32 + ------------------------------------------------------------------------

+

Authors: Michael Truog (mjtruog at protonmail dot com).

+ +

Description

+

A Large Priority Queue.

+ 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). +

Data Types

+ +

pqueue3()

+

pqueue3() = {integer(), integer(), empty | integer(), tuple()}

+ + +

pqueue3_empty()

+

pqueue3_empty() = {integer(), integer(), empty, tuple()}

+ + +

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).
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).
+ +

Function Details

+ +

in/2

+
+

in(Value::term(), Q::pqueue3()) -> pqueue3()

+

+

Append an item to the tail of the 0 priority queue.

+ O(1)

+ +

in/3

+
+

in(Value::term(), P::integer(), X3::pqueue3()) -> pqueue3()

+

+

Append an item to the tail of a specific priority queue.

+ O(1)

+ +

is_empty/1

+
+

is_empty(Q::pqueue3()) -> true | false

+

+

Check if the priority queue is empty.

+ O(1)

+ +

is_queue/1

+
+

is_queue(X1::pqueue3()) -> true | false

+

+

Check if the priority queue type is as expected.

+ O(1)

+ +

len/1

+
+

len(Q::pqueue3()) -> non_neg_integer()

+

+

Determine the length of a priority queue.

+ O(N)

+ +

new/0

+
+

new() -> pqueue3_empty()

+

+

Create a new priority queue.

+ O(1)

+ +

new/1

+
+

new(Options::[{atom(), term()}]) -> pqueue3()

+

+

Create a new priority queue with customization options.

+ O(1)

+ +

out/1

+
+

out(Q::pqueue3()) -> {{value, term()}, pqueue3()} | {empty, pqueue3()}

+

+

Take an item from the head of the priority queue.

+ O(1) amortized, O(N) worst case

+ +

out/2

+
+

out(P::integer(), Q::pqueue3()) -> {{value, term()}, pqueue3()} | {empty, pqueue3()}

+

+

Take an item of a specific priority from the head of the queue.

+ O(1) amortized, O(N) worst case

+ +

pout/1

+
+

pout(Q::pqueue3()) -> {{value, term(), integer()}, pqueue3()} | {empty, pqueue3()}

+

+

Take an item from the head of the priority queue.

+ Includes the priority in the return value. + O(1) amortized, O(N) worst case

+ +

to_list/1

+
+

to_list(Q::pqueue3()) -> [term()]

+

+

Convert the priority queue to a list.

+ O(N)

+
+ + +

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 @@ + + + + +Module pqueue4 + + + + +
+ +

Module pqueue4

+ +

Static Priority Queue.

+ This priority queue implementation depends on a static number of priorities + (-128 (high) to 128 (low)) so that tuple access times can be exploited for + quick in/out priority queue operations. +

Copyright © 2011-2020 Michael Truog

+ +

Version: 2.0.1 Nov 26 2020 14:55:34 + ------------------------------------------------------------------------

+

Authors: Michael Truog (mjtruog at protonmail dot com).

+ +

Description

+

Static Priority Queue.

+ This priority queue implementation depends on a static number of priorities + (-128 (high) to 128 (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

+ +

pqueue4()

+

pqueue4() = pqueue4(any())

+ + +

pqueue4()

+

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()

+

priority() = -128..128

+ + +

Function Index

+ + + + + + + + + + + + + + + +
filter/2 +

Filter the priority queue.

+ O(N).
filter/3 +

Filter a specific priority within the priority queue.

+ O(N).
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(1).
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.
remove_unique/2 +

Remove a unique value from the priority queue with a binary predicate.

+ O(N) but smaller constant than filter/2.
remove_unique/3 +

Remove a unique value in a specific priority within the priority queue with a binary predicate.

+ O(N) but smaller constant than filter/3.
to_list/1 +

Convert the priority queue to a list.

+ O(N).
to_plist/1 +

Convert the priority queue to a list with priorities.

+ O(N).
+ +

Function Details

+ +

filter/2

+
+

filter(F::fun((any()) -> boolean()), Q::pqueue4()) -> pqueue4()

+

+

Filter the priority queue.

+ O(N)

+ +

filter/3

+
+

filter(F::fun((any()) -> boolean()), P::integer(), Q::pqueue4()) -> pqueue4()

+

+

Filter a specific priority within the priority queue.

+ O(N)

+ +

in/2

+
+

in(X::any(), Q::pqueue4()) -> pqueue4()

+

+

Append an item to the tail of the 0 priority queue.

+ O(1)

+ +

in/3

+
+

in(X::any(), P::integer(), Q::pqueue4()) -> pqueue4()

+

+

Append an item to the tail of a specific priority queue.

+ O(1)

+ +

is_empty/1

+
+

is_empty(X1::pqueue4()) -> true | false

+

+

Check if the priority queue is empty.

+ O(1)

+ +

is_queue/1

+
+

is_queue(X1::pqueue4()) -> true | false

+

+

Check if the priority queue type is as expected.

+ O(1)

+ +

len/1

+
+

len(X1::pqueue4()) -> non_neg_integer()

+

+

Determine the length of a priority queue.

+ O(1)

+ +

new/0

+
+

new() -> pqueue4()

+

+

Create a new priority queue.

+ O(1)

+ +

out/1

+
+

out(Q::pqueue4()) -> {{value, any()}, pqueue4()} | {empty, pqueue4()}

+

+

Take an item from the head of the priority queue.

+ O(1) amortized, O(N) worst case

+ +

out/2

+
+

out(P::integer(), Q::pqueue4()) -> {{value, any()}, pqueue4()} | {empty, pqueue4()}

+

+

Take an item of a specific priority from the head of the queue.

+ O(1) amortized, O(N) worst case

+ +

pout/1

+
+

pout(Q::pqueue4()) -> {{value, any(), integer()}, pqueue4()} | {empty, pqueue4()}

+

+

Take an item from the head of the priority queue.

+ Includes the priority in the return value. + O(1) amortized, O(N) worst case

+ +

remove_unique/2

+
+

remove_unique(F::fun((any()) -> boolean()), Q::pqueue4()) -> {boolean(), pqueue4()}

+

+

Remove a unique value from the priority queue with a binary predicate.

+ O(N) but smaller constant than filter/2

+ +

remove_unique/3

+
+

remove_unique(F::fun((any()) -> boolean()), P::integer(), Q::pqueue4()) -> {boolean(), pqueue4()}

+

+

Remove a unique value in a specific priority within the priority queue with a binary predicate.

+ O(N) but smaller constant than filter/3

+ +

to_list/1

+
+

to_list(Q::pqueue4()) -> list()

+

+

Convert the priority queue to a list.

+ O(N)

+ +

to_plist/1

+
+

to_plist(Q::pqueue4()) -> [{priority(), list()}]

+

+

Convert the priority queue to a list with priorities.

+ O(N)

+
+ + +

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