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"""
-
{{:codetype}}
+
{{:codeentry}}

{{{:description}}}

@@ -29,7 +29,7 @@ function hfun_allcodes()

- """, (;codetype, decoders, setups, description))) + """, (;codeentry, decoders, setups, description))) write(io, "\n") end return String(take!(io))