diff --git a/bitrot.jl b/bitrot.jl
deleted file mode 100644
index cc1d9d378..000000000
--- a/bitrot.jl
+++ /dev/null
@@ -1,41 +0,0 @@
-# Some experimental code that did not end up being used.
-
-using MAT
-
-"""Save an `(errors, nsamples, results)` tuple as a .mat file"""
-function matfileresults(filename)
- file = matopen(filename, "r")
- errors = read(file, "errors")
- nsamples = read(file, "nsamples")
- results = read(file, "results")
- close(file)
- return errors, nsamples, results
-end
-
-"""Update a .mat file with additional samples in the form of a `(errors, nsamples, results)` tuple"""
-function fileresults!(filename, errors, nsamples, results)
- exists = isfile(filename)
- nsamples, results = if exists
- file = matopen(filename, "r")
- olderrors = read(file, "errors")
- oldnsamples = read(file, "nsamples")
- oldresults = read(file, "results")
- close(file)
- if olderrors != errors
- @warn "Overwriting file with different simulated errors parameters"
- nsamples, results
- else
- totalsamples = nsamples .+ oldnsamples
- results .= (results .* nsamples .+ oldresults .* oldnsamples) ./ totalsamples
- nsamples, results
- end
- else
- nsamples, results
- end
- file = matopen(filename, "w")
- write(file, "errors", errors)
- write(file, "nsamples", nsamples)
- write(file, "results", results)
- close(file)
- return errors, nsamples, results
-end
diff --git a/code_metadata.jl b/code_metadata.jl
index 01c59853e..37c9d8e53 100644
--- a/code_metadata.jl
+++ b/code_metadata.jl
@@ -8,6 +8,8 @@ const eᵐⁱⁿ = 0.00001
const eᵐᵃˣ = 0.3
const steps = 20
+include("hodgepodge/hodgepodge_codes.jl")
+
const code_metadata = Dict(
Gottesman => Dict(
:family => [(3,),(4,),(5,),(6,)],
@@ -57,5 +59,20 @@ const code_metadata = Dict(
:errrange => (eᵐⁱⁿ, eᵐᵃˣ, steps),
:description => "The famous toric code, the first topological code. Terrible rate, ok-ish distance, awesome locality -- a tradeoff that will turn out to be fundamental to codes with only 2D connectivity.",
),
-
+ Surface => Dict(
+ :family => [(3,3), (4,4), (6,6), (8,8), (10,10), (12,12)],
+ :decoders => [TableDecoder, PyMatchingDecoder],
+ :setups => [CommutationCheckECCSetup],
+ :ecczoo => "https://errorcorrectionzoo.org/c/surface",
+ :errrange => (eᵐⁱⁿ, eᵐᵃˣ, steps),
+ :description => "An open-boundary version of the famous toric code, the first topological code. Terrible rate, ok-ish distance, awesome locality -- a tradeoff that will turn out to be fundamental to codes with only 2D connectivity.",
+ ),
+ Hodgepodge.NithinCode => Dict(
+ :family => [()],
+ :decoders => [TableDecoder, PyBeliefPropDecoder, PyBeliefPropOSDecoder],
+ :setups => [CommutationCheckECCSetup],
+ :ecczoo => "",
+ :errrange => (eᵐⁱⁿ, eᵐᵃˣ, steps),
+ :description => "My friend Nithin made this one. It is here as an example placeholder as we built out the page for this code family.",
+ ),
)
diff --git a/codes/Cleve8/totalsummary.png b/codes/Cleve8/totalsummary.png
index 013f0b6e2..5aa3381ea 100644
Binary files a/codes/Cleve8/totalsummary.png and b/codes/Cleve8/totalsummary.png differ
diff --git a/codes/Gottesman/totalsummary.png b/codes/Gottesman/totalsummary.png
index ca41a5fa5..b7f729a34 100644
Binary files a/codes/Gottesman/totalsummary.png and b/codes/Gottesman/totalsummary.png differ
diff --git a/codes/NithinCode/NithinCode().png b/codes/NithinCode/NithinCode().png
new file mode 100644
index 000000000..dc68fa77c
Binary files /dev/null and b/codes/NithinCode/NithinCode().png differ
diff --git a/codes/NithinCode/index.md b/codes/NithinCode/index.md
new file mode 100644
index 000000000..6ac9eb54d
--- /dev/null
+++ b/codes/NithinCode/index.md
@@ -0,0 +1,75 @@
++++
+title = "The Code Family `NithinCode`"
++++
+
+# The Code Family `NithinCode`
+
+My friend Nithin made this one. It is here as an example placeholder as we built out the page for this code family.
+
+![summary of all evaluations that have been executed for this code family](./totalsummary.png)
+
+@@card
+@@card-header
+References
+@@
+@@card-body
+[ECC Zoo entry]()~~~
~~~
+[QuantumClifford.jl docs](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.NithinCode)
+@@
+@@
+
+
+## A Few Examples from this Family
+
+@@small
+Click on the ▶ marker to expand
+@@
+
+
+~~~
+
+
+~~~
+### NithinCode()
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the NithinCode() instance of this code family](./NithinCode().png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the NithinCode() instance of this code family](./NithinCode()_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the NithinCode() instance of this code family](./NithinCode()_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the NithinCode() instance of this code family](./NithinCode()_shor.png)
+
+~~~
+
+~~~
+
+
+
+## Performance of Specific Decoders
+
+TODO
+
diff --git a/codes/NithinCode/totalsummary.png b/codes/NithinCode/totalsummary.png
new file mode 100644
index 000000000..14f9ec443
Binary files /dev/null and b/codes/NithinCode/totalsummary.png differ
diff --git a/codes/Perfect5/totalsummary.png b/codes/Perfect5/totalsummary.png
index feed2e210..7adac0057 100644
Binary files a/codes/Perfect5/totalsummary.png and b/codes/Perfect5/totalsummary.png differ
diff --git a/codes/Shor9/totalsummary.png b/codes/Shor9/totalsummary.png
index 145f625fb..1e51b9257 100644
Binary files a/codes/Shor9/totalsummary.png and b/codes/Shor9/totalsummary.png differ
diff --git a/codes/Steane7/totalsummary.png b/codes/Steane7/totalsummary.png
index 3e8f87709..99c914b3f 100644
Binary files a/codes/Steane7/totalsummary.png and b/codes/Steane7/totalsummary.png differ
diff --git a/codes/Surface/Surface(10, 10).png b/codes/Surface/Surface(10, 10).png
new file mode 100644
index 000000000..9648a9e71
Binary files /dev/null and b/codes/Surface/Surface(10, 10).png differ
diff --git a/codes/Surface/Surface(12, 12).png b/codes/Surface/Surface(12, 12).png
new file mode 100644
index 000000000..b8f7ce7a5
Binary files /dev/null and b/codes/Surface/Surface(12, 12).png differ
diff --git a/codes/Surface/Surface(3, 3).png b/codes/Surface/Surface(3, 3).png
new file mode 100644
index 000000000..ead5f4e8c
Binary files /dev/null and b/codes/Surface/Surface(3, 3).png differ
diff --git a/codes/Surface/Surface(4, 4).png b/codes/Surface/Surface(4, 4).png
new file mode 100644
index 000000000..a19316a3d
Binary files /dev/null and b/codes/Surface/Surface(4, 4).png differ
diff --git a/codes/Surface/Surface(6, 6).png b/codes/Surface/Surface(6, 6).png
new file mode 100644
index 000000000..8c4e02ef6
Binary files /dev/null and b/codes/Surface/Surface(6, 6).png differ
diff --git a/codes/Surface/Surface(8, 8).png b/codes/Surface/Surface(8, 8).png
new file mode 100644
index 000000000..99cc438c2
Binary files /dev/null and b/codes/Surface/Surface(8, 8).png differ
diff --git a/codes/Surface/index.md b/codes/Surface/index.md
new file mode 100644
index 000000000..33163c57a
--- /dev/null
+++ b/codes/Surface/index.md
@@ -0,0 +1,285 @@
++++
+title = "The Code Family `Surface`"
++++
+
+# The Code Family `Surface`
+
+An open-boundary version of the famous toric code, the first topological code. Terrible rate, ok-ish distance, awesome locality -- a tradeoff that will turn out to be fundamental to codes with only 2D connectivity.
+
+![summary of all evaluations that have been executed for this code family](./totalsummary.png)
+
+@@card
+@@card-header
+References
+@@
+@@card-body
+[ECC Zoo entry](https://errorcorrectionzoo.org/c/surface)~~~
~~~
+[QuantumClifford.jl docs](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.Surface)
+@@
+@@
+
+
+## A Few Examples from this Family
+
+@@small
+Click on the ▶ marker to expand
+@@
+
+
+~~~
+
+
+~~~
+### Surface(3, 3)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(3, 3) instance of this code family](./Surface(3, 3).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(3, 3) instance of this code family](./Surface(3, 3)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(3, 3) instance of this code family](./Surface(3, 3)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(3, 3) instance of this code family](./Surface(3, 3)_shor.png)
+
+~~~
+
+~~~
+
+
+~~~
+
+
+~~~
+### Surface(4, 4)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(4, 4) instance of this code family](./Surface(4, 4).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(4, 4) instance of this code family](./Surface(4, 4)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(4, 4) instance of this code family](./Surface(4, 4)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(4, 4) instance of this code family](./Surface(4, 4)_shor.png)
+
+~~~
+
+~~~
+
+
+~~~
+
+
+~~~
+### Surface(6, 6)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(6, 6) instance of this code family](./Surface(6, 6).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(6, 6) instance of this code family](./Surface(6, 6)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(6, 6) instance of this code family](./Surface(6, 6)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(6, 6) instance of this code family](./Surface(6, 6)_shor.png)
+
+~~~
+
+~~~
+
+
+~~~
+
+
+~~~
+### Surface(8, 8)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(8, 8) instance of this code family](./Surface(8, 8).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(8, 8) instance of this code family](./Surface(8, 8)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(8, 8) instance of this code family](./Surface(8, 8)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(8, 8) instance of this code family](./Surface(8, 8)_shor.png)
+
+~~~
+
+~~~
+
+
+~~~
+
+
+~~~
+### Surface(10, 10)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(10, 10) instance of this code family](./Surface(10, 10).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(10, 10) instance of this code family](./Surface(10, 10)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(10, 10) instance of this code family](./Surface(10, 10)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(10, 10) instance of this code family](./Surface(10, 10)_shor.png)
+
+~~~
+
+~~~
+
+
+~~~
+
+
+~~~
+### Surface(12, 12)
+~~~
+
+~~~
+
+#### Parity Check Tableau
+
+![the parity check tableau of the Surface(12, 12) instance of this code family](./Surface(12, 12).png)
+
+#### Encoding Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_encoding_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_encoding_circuit)
+@@
+
+![the encoding circuit of the Surface(12, 12) instance of this code family](./Surface(12, 12)_encoding.png)
+
+#### Naive Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.naive_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.naive_syndrome_circuit)
+@@
+
+![the naive syndrome extraction circuit of the Surface(12, 12) instance of this code family](./Surface(12, 12)_encoding.png)
+
+#### Shor Syndrome Extraction Circuit
+
+@@small
+can be generated with [`QuantumClifford.shor_syndrome_circuit`](https://quantumsavory.github.io/QuantumClifford.jl/dev/ECC_API/#QuantumClifford.ECC.shor_syndrome_circuit)
+@@
+
+![the Shor syndrome extraction circuit of the Surface(12, 12) instance of this code family](./Surface(12, 12)_shor.png)
+
+~~~
+
+~~~
+
+
+
+## Performance of Specific Decoders
+
+TODO
+
diff --git a/codes/Surface/totalsummary.png b/codes/Surface/totalsummary.png
new file mode 100644
index 000000000..e393f8caf
Binary files /dev/null and b/codes/Surface/totalsummary.png differ
diff --git a/codes/Toric/totalsummary.png b/codes/Toric/totalsummary.png
index 52d67a4dd..a73e9746a 100644
Binary files a/codes/Toric/totalsummary.png and b/codes/Toric/totalsummary.png differ
diff --git a/codes/results.sqlite b/codes/results.sqlite
index c4924153d..cffbfd524 100644
Binary files a/codes/results.sqlite and b/codes/results.sqlite differ
diff --git a/contributors.md b/contributors.md
index 18f4a2c55..a7721e61d 100644
--- a/contributors.md
+++ b/contributors.md
@@ -10,7 +10,10 @@ We are on [github](https://github.com/QuantumSavory/qECCBenchWiki). The project
This was build with input on content, code definition, decoder implementations, and circuit construction from:
+- Krishna Praneet Gudipaty, MS student, UMass Amherst
+- Anthony Micciche, PhD student, UMass Amherst
- Ben Kuchma, undergraduate, UMass Amherst
- Trung Dang, undergraduate, UMass Amherst
- Jianxiong (Henry) Lin, MS student, UMass Amherst
- Zhiheng (Andy) Wang, MS student, UMass Amherst
+- Feroz Ahmad, post-graduate, NUCES
diff --git a/generate_codes.jl b/generate_codes.jl
index a78d098fa..6041cc8c5 100644
--- a/generate_codes.jl
+++ b/generate_codes.jl
@@ -1,5 +1,6 @@
using QuantumClifford
using QuantumClifford.ECC
+using QuantumClifford.ECC: Surface # resolve name clashes
using CairoMakie
@@ -24,6 +25,33 @@ global_logger(TerminalLogger(right_justify=120))
##
+function instancenameof(x)
+ t = typeof(x)
+ str = string(nameof(t))*"("
+ nf = nfields(x)
+ nb = sizeof(x)
+ if nf != 0 || nb == 0
+ for i in 1:nf
+ f = fieldname(t, i)
+ str *= string(getfield(x, i))
+ if i < nf
+ str *= ", "
+ end
+ end
+ end
+ str *= ")"
+ return str
+end
+
+function skipredundantsuffix(x)
+ x = string(x)
+ xs = split(x, "(")
+ xs = [chopsuffix(chopsuffix(x, "Decoder"), "ECCSetup") for x in xs]
+ return join(xs, "(")
+end
+
+##
+
include("code_metadata.jl")
include("code_markdown.jl")
@@ -33,26 +61,30 @@ include("code_evaluation.jl")
#
-function run_evaluations(code_metadata)
+function run_evaluations(code_metadata; include=nothing)
for (codeentry, metadata) in code_metadata
+ codeentryname = nameof(codeentry)
+ !isnothing(include) && codeentry ∉ include && continue
codes = [codeentry(instance_args...) for instance_args in metadata[:family]]
decoders = metadata[:decoders]
setups = metadata[:setups]
errrange = metadata[:errrange]
- println("Evaluating $(codeentry) ...")
+ println("Evaluating $(codeentryname) ...")
e, n, r = evaluate_codes_decoders_setups(codes, decoders, setups; errrange)
end
end
function prep_folders(code_metada)
for (codeentry, metadata) in code_metadata
- isdir("codes/$codeentry") || mkdir("codes/$codeentry")
+ codeentryname = nameof(codeentry)
+ isdir("codes/$codeentryname") || mkdir("codes/$codeentryname")
end
end
function prep_figures(code_metada)
for (codeentry, metadata) in code_metadata
- println("Plotting $(codeentry) ...")
+ codeentryname = nameof(codeentry)
+ println("Plotting $(codeentryname) ...")
codes = [codeentry(instance_args...) for instance_args in metadata[:family]]
decoders = metadata[:decoders]
setups = metadata[:setups]
@@ -64,13 +96,13 @@ function prep_figures(code_metada)
# Plotting summary fig
f = make_decoder_figure(e, r;
- title="$(codeentry)",
- colorlabels=string.(codes),
- linestylelabels=string.(decoders),
- markerlabels=string.(setups),
+ title="$(codeentryname)",
+ colorlabels=instancenameof.(codes),
+ linestylelabels=skipredundantsuffix.(decoders),
+ markerlabels=skipredundantsuffix.(setups),
single_error
)
- save("codes/$(codeentry)/totalsummary.png", f)
+ save("codes/$(codeentryname)/totalsummary.png", f)
# Plotting code instances
for c in codes
@@ -78,21 +110,22 @@ function prep_figures(code_metada)
f = Figure(size=(400,400))
sf = f[1,1]
stabilizerplot_axis(sf, parity_checks(c))
- save("codes/$(codeentry)/$(c).png", f)
+ save("codes/$(codeentryname)/$(instancenameof(c)).png", f)
# Plotting circuits
+ continue # skip circuit plots
if nqubits(c) <= 15
try
- savecircuit(naive_encoding_circuit(c), "codes/$(codeentry)/$(c)_encoding.png")
+ savecircuit(naive_encoding_circuit(c), "codes/$(codeentryname)/$(c)_encoding.png")
catch
@error "$(c) failed to plot `naive_encoding_circuit`"
end
try
- savecircuit(naive_syndrome_circuit(c)[1], "codes/$(codeentry)/$(c)_naive_syndrome.png")
+ savecircuit(naive_syndrome_circuit(c)[1], "codes/$(codeentryname)/$(c)_naive_syndrome.png")
catch
@error "$(c) failed to plot `naive_syndrome_circuit`"
end
try
- savecircuit(vcat(shor_syndrome_circuit(c)[1:2]...), "codes/$(codeentry)/$(c)_naive_syndrome.png")
+ savecircuit(vcat(shor_syndrome_circuit(c)[1:2]...), "codes/$(codeentryname)/$(c)_naive_syndrome.png")
catch
@error "$(c) failed to plot `shor_syndrome_circuit`"
end
@@ -103,7 +136,8 @@ end
function prep_markdown(code_metada)
for (codeentry, metadata) in code_metadata
- make_markdown_page(codeentry, metadata)
+ codeentryname = nameof(codeentry)
+ make_markdown_page(codeentryname, metadata)
end
end
diff --git a/hodgepodge/file_to_matrix.m b/hodgepodge/file_to_matrix.m
new file mode 100644
index 000000000..9378f1eb1
--- /dev/null
+++ b/hodgepodge/file_to_matrix.m
@@ -0,0 +1,26 @@
+function [H] = file_to_matrix(input)
+% Converts the file format of the code into the H matrix (double)
+% N, M
+% dv col indices (starting from 1)
+% dc row indices (starting from 1)
+
+fid = fopen(input);
+code_dim = str2num(fgetl(fid));
+fclose(fid);
+fid = fopen(input);
+H = cell(code_dim(1),1);
+
+for i =1:code_dim(1)+1
+ H_cell{i} = str2num(fgetl(fid));
+end
+
+H = zeros(H_cell{1}(1), H_cell{1}(2))';
+
+for j = 1 : size(H, 2)
+ disp(j)
+ H(H_cell{j+1}(2:end), j) = 1;
+end
+
+fclose(fid);
+
+end
diff --git a/hodgepodge/hodgepodge_codes.jl b/hodgepodge/hodgepodge_codes.jl
new file mode 100644
index 000000000..bb7c009bc
--- /dev/null
+++ b/hodgepodge/hodgepodge_codes.jl
@@ -0,0 +1,32 @@
+# Codes that do not have a proper construction algorithm available, rather are provided in "hardcoded" fashion, because a friend thought they are of use.
+
+module Hodgepodge
+
+using QuantumClifford
+using QuantumClifford.ECC
+import QuantumClifford.ECC: AbstractECC, parity_checks, parity_checks_x, parity_checks_z
+
+abstract type HodgepodgeCode <: QuantumClifford.ECC.AbstractECC end
+
+function load_nithin(filename)
+ fid = open(filename)
+ col, row = parse.(Int, split(readline(fid)))
+ H = zeros(Bool, row, col)
+ for c in 1:col
+ idx = parse.(Int, split(readline(fid)))
+ H[idx[2:end],c] .= true
+ end
+ close(fid)
+ H
+end
+
+
+struct NithinCode <: HodgepodgeCode
+end
+
+nc() = CSS(load_nithin((@__DIR__)*"/nithin/QC_dv4dc8_psto_29_12_2_4_hx"), load_nithin((@__DIR__)*"/nithin/QC_dv4dc8_psto_29_12_2_4_hz"))
+parity_checks(::NithinCode) = parity_checks(nc())
+parity_checks_x(::NithinCode) = parity_checks_x(nc())
+parity_checks_z(::NithinCode) = parity_checks_z(nc())
+
+end
diff --git a/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hx b/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hx
new file mode 100644
index 000000000..43f8b1b69
--- /dev/null
+++ b/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hx
@@ -0,0 +1,349 @@
+232 116
+4 29 42 60 105
+4 1 43 61 106
+4 2 44 62 107
+4 3 45 63 108
+4 4 46 64 109
+4 5 47 65 110
+4 6 48 66 111
+4 7 49 67 112
+4 8 50 68 113
+4 9 51 69 114
+4 10 52 70 115
+4 11 53 71 116
+4 12 54 72 88
+4 13 55 73 89
+4 14 56 74 90
+4 15 57 75 91
+4 16 58 76 92
+4 17 30 77 93
+4 18 31 78 94
+4 19 32 79 95
+4 20 33 80 96
+4 21 34 81 97
+4 22 35 82 98
+4 23 36 83 99
+4 24 37 84 100
+4 25 38 85 101
+4 26 39 86 102
+4 27 40 87 103
+4 28 41 59 104
+4 18 58 71 89
+4 19 30 72 90
+4 20 31 73 91
+4 21 32 74 92
+4 22 33 75 93
+4 23 34 76 94
+4 24 35 77 95
+4 25 36 78 96
+4 26 37 79 97
+4 27 38 80 98
+4 28 39 81 99
+4 29 40 82 100
+4 1 41 83 101
+4 2 42 84 102
+4 3 43 85 103
+4 4 44 86 104
+4 5 45 87 105
+4 6 46 59 106
+4 7 47 60 107
+4 8 48 61 108
+4 9 49 62 109
+4 10 50 63 110
+4 11 51 64 111
+4 12 52 65 112
+4 13 53 66 113
+4 14 54 67 114
+4 15 55 68 115
+4 16 56 69 116
+4 17 57 70 88
+4 2 47 87 100
+4 3 48 59 101
+4 4 49 60 102
+4 5 50 61 103
+4 6 51 62 104
+4 7 52 63 105
+4 8 53 64 106
+4 9 54 65 107
+4 10 55 66 108
+4 11 56 67 109
+4 12 57 68 110
+4 13 58 69 111
+4 14 30 70 112
+4 15 31 71 113
+4 16 32 72 114
+4 17 33 73 115
+4 18 34 74 116
+4 19 35 75 88
+4 20 36 76 89
+4 21 37 77 90
+4 22 38 78 91
+4 23 39 79 92
+4 24 40 80 93
+4 25 41 81 94
+4 26 42 82 95
+4 27 43 83 96
+4 28 44 84 97
+4 29 45 85 98
+4 1 46 86 99
+4 13 31 76 116
+4 14 32 77 88
+4 15 33 78 89
+4 16 34 79 90
+4 17 35 80 91
+4 18 36 81 92
+4 19 37 82 93
+4 20 38 83 94
+4 21 39 84 95
+4 22 40 85 96
+4 23 41 86 97
+4 24 42 87 98
+4 25 43 59 99
+4 26 44 60 100
+4 27 45 61 101
+4 28 46 62 102
+4 29 47 63 103
+4 1 48 64 104
+4 2 49 65 105
+4 3 50 66 106
+4 4 51 67 107
+4 5 52 68 108
+4 6 53 69 109
+4 7 54 70 110
+4 8 55 71 111
+4 9 56 72 112
+4 10 57 73 113
+4 11 58 74 114
+4 12 30 75 115
+4 28 54 61 93
+4 29 55 62 94
+4 1 56 63 95
+4 2 57 64 96
+4 3 58 65 97
+4 4 30 66 98
+4 5 31 67 99
+4 6 32 68 100
+4 7 33 69 101
+4 8 34 70 102
+4 9 35 71 103
+4 10 36 72 104
+4 11 37 73 105
+4 12 38 74 106
+4 13 39 75 107
+4 14 40 76 108
+4 15 41 77 109
+4 16 42 78 110
+4 17 43 79 111
+4 18 44 80 112
+4 19 45 81 113
+4 20 46 82 114
+4 21 47 83 115
+4 22 48 84 116
+4 23 49 85 88
+4 24 50 86 89
+4 25 51 87 90
+4 26 52 59 91
+4 27 53 60 92
+4 6 57 83 90
+4 7 58 84 91
+4 8 30 85 92
+4 9 31 86 93
+4 10 32 87 94
+4 11 33 59 95
+4 12 34 60 96
+4 13 35 61 97
+4 14 36 62 98
+4 15 37 63 99
+4 16 38 64 100
+4 17 39 65 101
+4 18 40 66 102
+4 19 41 67 103
+4 20 42 68 104
+4 21 43 69 105
+4 22 44 70 106
+4 23 45 71 107
+4 24 46 72 108
+4 25 47 73 109
+4 26 48 74 110
+4 27 49 75 111
+4 28 50 76 112
+4 29 51 77 113
+4 1 52 78 114
+4 2 53 79 115
+4 3 54 80 116
+4 4 55 81 88
+4 5 56 82 89
+4 3 35 86 112
+4 4 36 87 113
+4 5 37 59 114
+4 6 38 60 115
+4 7 39 61 116
+4 8 40 62 88
+4 9 41 63 89
+4 10 42 64 90
+4 11 43 65 91
+4 12 44 66 92
+4 13 45 67 93
+4 14 46 68 94
+4 15 47 69 95
+4 16 48 70 96
+4 17 49 71 97
+4 18 50 72 98
+4 19 51 73 99
+4 20 52 74 100
+4 21 53 75 101
+4 22 54 76 102
+4 23 55 77 103
+4 24 56 78 104
+4 25 57 79 105
+4 26 58 80 106
+4 27 30 81 107
+4 28 31 82 108
+4 29 32 83 109
+4 1 33 84 110
+4 2 34 85 111
+4 25 32 64 115
+4 26 33 65 116
+4 27 34 66 88
+4 28 35 67 89
+4 29 36 68 90
+4 1 37 69 91
+4 2 38 70 92
+4 3 39 71 93
+4 4 40 72 94
+4 5 41 73 95
+4 6 42 74 96
+4 7 43 75 97
+4 8 44 76 98
+4 9 45 77 99
+4 10 46 78 100
+4 11 47 79 101
+4 12 48 80 102
+4 13 49 81 103
+4 14 50 82 104
+4 15 51 83 105
+4 16 52 84 106
+4 17 53 85 107
+4 18 54 86 108
+4 19 55 87 109
+4 20 56 59 110
+4 21 57 60 111
+4 22 58 61 112
+4 23 30 62 113
+4 24 31 63 114
+8 2 42 87 105 119 170 202 209
+8 3 43 59 106 120 171 203 210
+8 4 44 60 107 121 172 175 211
+8 5 45 61 108 122 173 176 212
+8 6 46 62 109 123 174 177 213
+8 7 47 63 110 124 146 178 214
+8 8 48 64 111 125 147 179 215
+8 9 49 65 112 126 148 180 216
+8 10 50 66 113 127 149 181 217
+8 11 51 67 114 128 150 182 218
+8 12 52 68 115 129 151 183 219
+8 13 53 69 116 130 152 184 220
+8 14 54 70 88 131 153 185 221
+8 15 55 71 89 132 154 186 222
+8 16 56 72 90 133 155 187 223
+8 17 57 73 91 134 156 188 224
+8 18 58 74 92 135 157 189 225
+8 19 30 75 93 136 158 190 226
+8 20 31 76 94 137 159 191 227
+8 21 32 77 95 138 160 192 228
+8 22 33 78 96 139 161 193 229
+8 23 34 79 97 140 162 194 230
+8 24 35 80 98 141 163 195 231
+8 25 36 81 99 142 164 196 232
+8 26 37 82 100 143 165 197 204
+8 27 38 83 101 144 166 198 205
+8 28 39 84 102 145 167 199 206
+8 29 40 85 103 117 168 200 207
+8 1 41 86 104 118 169 201 208
+8 18 31 71 116 122 148 199 231
+8 19 32 72 88 123 149 200 232
+8 20 33 73 89 124 150 201 204
+8 21 34 74 90 125 151 202 205
+8 22 35 75 91 126 152 203 206
+8 23 36 76 92 127 153 175 207
+8 24 37 77 93 128 154 176 208
+8 25 38 78 94 129 155 177 209
+8 26 39 79 95 130 156 178 210
+8 27 40 80 96 131 157 179 211
+8 28 41 81 97 132 158 180 212
+8 29 42 82 98 133 159 181 213
+8 1 43 83 99 134 160 182 214
+8 2 44 84 100 135 161 183 215
+8 3 45 85 101 136 162 184 216
+8 4 46 86 102 137 163 185 217
+8 5 47 87 103 138 164 186 218
+8 6 48 59 104 139 165 187 219
+8 7 49 60 105 140 166 188 220
+8 8 50 61 106 141 167 189 221
+8 9 51 62 107 142 168 190 222
+8 10 52 63 108 143 169 191 223
+8 11 53 64 109 144 170 192 224
+8 12 54 65 110 145 171 193 225
+8 13 55 66 111 117 172 194 226
+8 14 56 67 112 118 173 195 227
+8 15 57 68 113 119 174 196 228
+8 16 58 69 114 120 146 197 229
+8 17 30 70 115 121 147 198 230
+8 29 47 60 100 144 151 177 228
+8 1 48 61 101 145 152 178 229
+8 2 49 62 102 117 153 179 230
+8 3 50 63 103 118 154 180 231
+8 4 51 64 104 119 155 181 232
+8 5 52 65 105 120 156 182 204
+8 6 53 66 106 121 157 183 205
+8 7 54 67 107 122 158 184 206
+8 8 55 68 108 123 159 185 207
+8 9 56 69 109 124 160 186 208
+8 10 57 70 110 125 161 187 209
+8 11 58 71 111 126 162 188 210
+8 12 30 72 112 127 163 189 211
+8 13 31 73 113 128 164 190 212
+8 14 32 74 114 129 165 191 213
+8 15 33 75 115 130 166 192 214
+8 16 34 76 116 131 167 193 215
+8 17 35 77 88 132 168 194 216
+8 18 36 78 89 133 169 195 217
+8 19 37 79 90 134 170 196 218
+8 20 38 80 91 135 171 197 219
+8 21 39 81 92 136 172 198 220
+8 22 40 82 93 137 173 199 221
+8 23 41 83 94 138 174 200 222
+8 24 42 84 95 139 146 201 223
+8 25 43 85 96 140 147 202 224
+8 26 44 86 97 141 148 203 225
+8 27 45 87 98 142 149 175 226
+8 28 46 59 99 143 150 176 227
+8 13 58 76 89 141 173 180 206
+8 14 30 77 90 142 174 181 207
+8 15 31 78 91 143 146 182 208
+8 16 32 79 92 144 147 183 209
+8 17 33 80 93 145 148 184 210
+8 18 34 81 94 117 149 185 211
+8 19 35 82 95 118 150 186 212
+8 20 36 83 96 119 151 187 213
+8 21 37 84 97 120 152 188 214
+8 22 38 85 98 121 153 189 215
+8 23 39 86 99 122 154 190 216
+8 24 40 87 100 123 155 191 217
+8 25 41 59 101 124 156 192 218
+8 26 42 60 102 125 157 193 219
+8 27 43 61 103 126 158 194 220
+8 28 44 62 104 127 159 195 221
+8 29 45 63 105 128 160 196 222
+8 1 46 64 106 129 161 197 223
+8 2 47 65 107 130 162 198 224
+8 3 48 66 108 131 163 199 225
+8 4 49 67 109 132 164 200 226
+8 5 50 68 110 133 165 201 227
+8 6 51 69 111 134 166 202 228
+8 7 52 70 112 135 167 203 229
+8 8 53 71 113 136 168 175 230
+8 9 54 72 114 137 169 176 231
+8 10 55 73 115 138 170 177 232
+8 11 56 74 116 139 171 178 204
+8 12 57 75 88 140 172 179 205
diff --git a/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hz b/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hz
new file mode 100644
index 000000000..c576a488c
--- /dev/null
+++ b/hodgepodge/nithin/QC_dv4dc8_psto_29_12_2_4_hz
@@ -0,0 +1,349 @@
+232 116
+4 3 54 86 93
+4 4 55 87 94
+4 5 56 59 95
+4 6 57 60 96
+4 7 58 61 97
+4 8 30 62 98
+4 9 31 63 99
+4 10 32 64 100
+4 11 33 65 101
+4 12 34 66 102
+4 13 35 67 103
+4 14 36 68 104
+4 15 37 69 105
+4 16 38 70 106
+4 17 39 71 107
+4 18 40 72 108
+4 19 41 73 109
+4 20 42 74 110
+4 21 43 75 111
+4 22 44 76 112
+4 23 45 77 113
+4 24 46 78 114
+4 25 47 79 115
+4 26 48 80 116
+4 27 49 81 88
+4 28 50 82 89
+4 29 51 83 90
+4 1 52 84 91
+4 2 53 85 92
+4 6 32 83 115
+4 7 33 84 116
+4 8 34 85 88
+4 9 35 86 89
+4 10 36 87 90
+4 11 37 59 91
+4 12 38 60 92
+4 13 39 61 93
+4 14 40 62 94
+4 15 41 63 95
+4 16 42 64 96
+4 17 43 65 97
+4 18 44 66 98
+4 19 45 67 99
+4 20 46 68 100
+4 21 47 69 101
+4 22 48 70 102
+4 23 49 71 103
+4 24 50 72 104
+4 25 51 73 105
+4 26 52 74 106
+4 27 53 75 107
+4 28 54 76 108
+4 29 55 77 109
+4 1 56 78 110
+4 2 57 79 111
+4 3 58 80 112
+4 4 30 81 113
+4 5 31 82 114
+4 28 35 61 112
+4 29 36 62 113
+4 1 37 63 114
+4 2 38 64 115
+4 3 39 65 116
+4 4 40 66 88
+4 5 41 67 89
+4 6 42 68 90
+4 7 43 69 91
+4 8 44 70 92
+4 9 45 71 93
+4 10 46 72 94
+4 11 47 73 95
+4 12 48 74 96
+4 13 49 75 97
+4 14 50 76 98
+4 15 51 77 99
+4 16 52 78 100
+4 17 53 79 101
+4 18 54 80 102
+4 19 55 81 103
+4 20 56 82 104
+4 21 57 83 105
+4 22 58 84 106
+4 23 30 85 107
+4 24 31 86 108
+4 25 32 87 109
+4 26 33 59 110
+4 27 34 60 111
+4 25 57 64 90
+4 26 58 65 91
+4 27 30 66 92
+4 28 31 67 93
+4 29 32 68 94
+4 1 33 69 95
+4 2 34 70 96
+4 3 35 71 97
+4 4 36 72 98
+4 5 37 73 99
+4 6 38 74 100
+4 7 39 75 101
+4 8 40 76 102
+4 9 41 77 103
+4 10 42 78 104
+4 11 43 79 105
+4 12 44 80 106
+4 13 45 81 107
+4 14 46 82 108
+4 15 47 83 109
+4 16 48 84 110
+4 17 49 85 111
+4 18 50 86 112
+4 19 51 87 113
+4 20 52 59 114
+4 21 53 60 115
+4 22 54 61 116
+4 23 55 62 88
+4 24 56 63 89
+4 2 42 87 105
+4 3 43 59 106
+4 4 44 60 107
+4 5 45 61 108
+4 6 46 62 109
+4 7 47 63 110
+4 8 48 64 111
+4 9 49 65 112
+4 10 50 66 113
+4 11 51 67 114
+4 12 52 68 115
+4 13 53 69 116
+4 14 54 70 88
+4 15 55 71 89
+4 16 56 72 90
+4 17 57 73 91
+4 18 58 74 92
+4 19 30 75 93
+4 20 31 76 94
+4 21 32 77 95
+4 22 33 78 96
+4 23 34 79 97
+4 24 35 80 98
+4 25 36 81 99
+4 26 37 82 100
+4 27 38 83 101
+4 28 39 84 102
+4 29 40 85 103
+4 1 41 86 104
+4 18 31 71 116
+4 19 32 72 88
+4 20 33 73 89
+4 21 34 74 90
+4 22 35 75 91
+4 23 36 76 92
+4 24 37 77 93
+4 25 38 78 94
+4 26 39 79 95
+4 27 40 80 96
+4 28 41 81 97
+4 29 42 82 98
+4 1 43 83 99
+4 2 44 84 100
+4 3 45 85 101
+4 4 46 86 102
+4 5 47 87 103
+4 6 48 59 104
+4 7 49 60 105
+4 8 50 61 106
+4 9 51 62 107
+4 10 52 63 108
+4 11 53 64 109
+4 12 54 65 110
+4 13 55 66 111
+4 14 56 67 112
+4 15 57 68 113
+4 16 58 69 114
+4 17 30 70 115
+4 29 47 60 100
+4 1 48 61 101
+4 2 49 62 102
+4 3 50 63 103
+4 4 51 64 104
+4 5 52 65 105
+4 6 53 66 106
+4 7 54 67 107
+4 8 55 68 108
+4 9 56 69 109
+4 10 57 70 110
+4 11 58 71 111
+4 12 30 72 112
+4 13 31 73 113
+4 14 32 74 114
+4 15 33 75 115
+4 16 34 76 116
+4 17 35 77 88
+4 18 36 78 89
+4 19 37 79 90
+4 20 38 80 91
+4 21 39 81 92
+4 22 40 82 93
+4 23 41 83 94
+4 24 42 84 95
+4 25 43 85 96
+4 26 44 86 97
+4 27 45 87 98
+4 28 46 59 99
+4 13 58 76 89
+4 14 30 77 90
+4 15 31 78 91
+4 16 32 79 92
+4 17 33 80 93
+4 18 34 81 94
+4 19 35 82 95
+4 20 36 83 96
+4 21 37 84 97
+4 22 38 85 98
+4 23 39 86 99
+4 24 40 87 100
+4 25 41 59 101
+4 26 42 60 102
+4 27 43 61 103
+4 28 44 62 104
+4 29 45 63 105
+4 1 46 64 106
+4 2 47 65 107
+4 3 48 66 108
+4 4 49 67 109
+4 5 50 68 110
+4 6 51 69 111
+4 7 52 70 112
+4 8 53 71 113
+4 9 54 72 114
+4 10 55 73 115
+4 11 56 74 116
+4 12 57 75 88
+8 28 54 61 93 145 158 176 221
+8 29 55 62 94 117 159 177 222
+8 1 56 63 95 118 160 178 223
+8 2 57 64 96 119 161 179 224
+8 3 58 65 97 120 162 180 225
+8 4 30 66 98 121 163 181 226
+8 5 31 67 99 122 164 182 227
+8 6 32 68 100 123 165 183 228
+8 7 33 69 101 124 166 184 229
+8 8 34 70 102 125 167 185 230
+8 9 35 71 103 126 168 186 231
+8 10 36 72 104 127 169 187 232
+8 11 37 73 105 128 170 188 204
+8 12 38 74 106 129 171 189 205
+8 13 39 75 107 130 172 190 206
+8 14 40 76 108 131 173 191 207
+8 15 41 77 109 132 174 192 208
+8 16 42 78 110 133 146 193 209
+8 17 43 79 111 134 147 194 210
+8 18 44 80 112 135 148 195 211
+8 19 45 81 113 136 149 196 212
+8 20 46 82 114 137 150 197 213
+8 21 47 83 115 138 151 198 214
+8 22 48 84 116 139 152 199 215
+8 23 49 85 88 140 153 200 216
+8 24 50 86 89 141 154 201 217
+8 25 51 87 90 142 155 202 218
+8 26 52 59 91 143 156 203 219
+8 27 53 60 92 144 157 175 220
+8 6 57 83 90 134 174 187 205
+8 7 58 84 91 135 146 188 206
+8 8 30 85 92 136 147 189 207
+8 9 31 86 93 137 148 190 208
+8 10 32 87 94 138 149 191 209
+8 11 33 59 95 139 150 192 210
+8 12 34 60 96 140 151 193 211
+8 13 35 61 97 141 152 194 212
+8 14 36 62 98 142 153 195 213
+8 15 37 63 99 143 154 196 214
+8 16 38 64 100 144 155 197 215
+8 17 39 65 101 145 156 198 216
+8 18 40 66 102 117 157 199 217
+8 19 41 67 103 118 158 200 218
+8 20 42 68 104 119 159 201 219
+8 21 43 69 105 120 160 202 220
+8 22 44 70 106 121 161 203 221
+8 23 45 71 107 122 162 175 222
+8 24 46 72 108 123 163 176 223
+8 25 47 73 109 124 164 177 224
+8 26 48 74 110 125 165 178 225
+8 27 49 75 111 126 166 179 226
+8 28 50 76 112 127 167 180 227
+8 29 51 77 113 128 168 181 228
+8 1 52 78 114 129 169 182 229
+8 2 53 79 115 130 170 183 230
+8 3 54 80 116 131 171 184 231
+8 4 55 81 88 132 172 185 232
+8 5 56 82 89 133 173 186 204
+8 3 35 86 112 118 163 203 216
+8 4 36 87 113 119 164 175 217
+8 5 37 59 114 120 165 176 218
+8 6 38 60 115 121 166 177 219
+8 7 39 61 116 122 167 178 220
+8 8 40 62 88 123 168 179 221
+8 9 41 63 89 124 169 180 222
+8 10 42 64 90 125 170 181 223
+8 11 43 65 91 126 171 182 224
+8 12 44 66 92 127 172 183 225
+8 13 45 67 93 128 173 184 226
+8 14 46 68 94 129 174 185 227
+8 15 47 69 95 130 146 186 228
+8 16 48 70 96 131 147 187 229
+8 17 49 71 97 132 148 188 230
+8 18 50 72 98 133 149 189 231
+8 19 51 73 99 134 150 190 232
+8 20 52 74 100 135 151 191 204
+8 21 53 75 101 136 152 192 205
+8 22 54 76 102 137 153 193 206
+8 23 55 77 103 138 154 194 207
+8 24 56 78 104 139 155 195 208
+8 25 57 79 105 140 156 196 209
+8 26 58 80 106 141 157 197 210
+8 27 30 81 107 142 158 198 211
+8 28 31 82 108 143 159 199 212
+8 29 32 83 109 144 160 200 213
+8 1 33 84 110 145 161 201 214
+8 2 34 85 111 117 162 202 215
+8 25 32 64 115 129 147 192 232
+8 26 33 65 116 130 148 193 204
+8 27 34 66 88 131 149 194 205
+8 28 35 67 89 132 150 195 206
+8 29 36 68 90 133 151 196 207
+8 1 37 69 91 134 152 197 208
+8 2 38 70 92 135 153 198 209
+8 3 39 71 93 136 154 199 210
+8 4 40 72 94 137 155 200 211
+8 5 41 73 95 138 156 201 212
+8 6 42 74 96 139 157 202 213
+8 7 43 75 97 140 158 203 214
+8 8 44 76 98 141 159 175 215
+8 9 45 77 99 142 160 176 216
+8 10 46 78 100 143 161 177 217
+8 11 47 79 101 144 162 178 218
+8 12 48 80 102 145 163 179 219
+8 13 49 81 103 117 164 180 220
+8 14 50 82 104 118 165 181 221
+8 15 51 83 105 119 166 182 222
+8 16 52 84 106 120 167 183 223
+8 17 53 85 107 121 168 184 224
+8 18 54 86 108 122 169 185 225
+8 19 55 87 109 123 170 186 226
+8 20 56 59 110 124 171 187 227
+8 21 57 60 111 125 172 188 228
+8 22 58 61 112 126 173 189 229
+8 23 30 62 113 127 174 190 230
+8 24 31 63 114 128 146 191 231
diff --git a/utils.jl b/utils.jl
index d191403e9..8b43d8fdc 100644
--- a/utils.jl
+++ b/utils.jl
@@ -11,14 +11,14 @@ include("code_metadata.jl")
function hfun_allcodes()
io = IOBuffer()
- for (codetype, metadata) in pairs(code_metadata)
- codetype = nameof(codetype)
+ for (codeentry, metadata) in pairs(code_metadata)
+ codeentry = nameof(codeentry)
decoders = nameof.(metadata[:decoders])
setups = nameof.(metadata[:setups])
description = Markdown.html(Markdown.parse(get(metadata, :description, "")))
write(io, render(mt"""
-
+
@@ -29,7 +29,7 @@ function hfun_allcodes()
- """, (;codetype, decoders, setups, description)))
+ """, (;codeentry, decoders, setups, description)))
write(io, "\n")
end
return String(take!(io))