From a0c445a0e6fc779f881c77be3138628671327c55 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 4 May 2026 20:48:00 -0500 Subject: [PATCH] Enable IDE0300/IDE0302 as errors and use collection expressions - Add .editorconfig with IDE0300 (array) and IDE0302 (stackalloc) as errors - Enable EnforceCodeStyleInBuild in Directory.Build.props - Convert all new[] and new T[] initializers to collection expressions - Update README and sample to use collection expression syntax Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .editorconfig | 11 + Directory.Build.props | 1 + README.md | 6 +- SortingNetworks.Generators/NetworkDatabase.cs | 368 +++++++++--------- SortingNetworks.Generators/ScalarEmitter.cs | 4 +- .../SourceGeneratorDriver.cs | 8 +- samples/SortingNetworks.Sample/Program.cs | 4 +- 7 files changed, 207 insertions(+), 195 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1e9ded7 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*.cs] +# Enforce analyzers on source-generated code +generated_code = analyzed +# IDE0300: Use collection expression for array +dotnet_diagnostic.IDE0300.severity = error +# IDE0301: Use collection expression for empty +dotnet_diagnostic.IDE0301.severity = error +# IDE0302: Use collection expression for stackalloc +dotnet_diagnostic.IDE0302.severity = error diff --git a/Directory.Build.props b/Directory.Build.props index df29e39..20c73a3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,6 +4,7 @@ enable enable latest + true 0.1.1 Copyright (c) Jonathan Peppers diff --git a/README.md b/README.md index 51b5eaf..be66ead 100644 --- a/README.md +++ b/README.md @@ -33,15 +33,15 @@ using SortingNetworks; partial class MySorter { } // Sort a span of exactly 27 ints -Span data = stackalloc int[] { +Span data = [ 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, -}; +]; MySorter.Sort(data); // Array overload -int[] array = { 3, 1, 4, 1, 5, 9, 2, 6, /* ... 27 elements */ }; +int[] array = [3, 1, 4, 1, 5, 9, 2, 6, /* ... 27 elements */]; MySorter.Sort(array); // IComparer overload diff --git a/SortingNetworks.Generators/NetworkDatabase.cs b/SortingNetworks.Generators/NetworkDatabase.cs index ffd4bdc..a796318 100644 --- a/SortingNetworks.Generators/NetworkDatabase.cs +++ b/SortingNetworks.Generators/NetworkDatabase.cs @@ -47,61 +47,61 @@ internal static class NetworkDatabase static NetworkDatabase() { // Size 2: 1 CE, 1 layer (optimal) - Networks[2] = new[] { 0, 1 }; - LayerSizes[2] = new[] { 1 }; + Networks[2] = [0, 1]; + LayerSizes[2] = [1]; // Size 3: 3 CEs, 3 layers (optimal) - Networks[3] = new[] { 0, 2, 0, 1, 1, 2 }; - LayerSizes[3] = new[] { 1, 1, 1 }; + Networks[3] = [0, 2, 0, 1, 1, 2]; + LayerSizes[3] = [1, 1, 1]; // Size 4: 5 CEs, 3 layers (optimal) - Networks[4] = new[] { 0, 2, 1, 3, 0, 1, 2, 3, 1, 2 }; - LayerSizes[4] = new[] { 2, 2, 1 }; + Networks[4] = [0, 2, 1, 3, 0, 1, 2, 3, 1, 2]; + LayerSizes[4] = [2, 2, 1]; // Size 5: 9 CEs, 5 layers (optimal) - Networks[5] = new[] { + Networks[5] = [ 0, 3, 1, 4, 0, 2, 1, 3, 0, 1, 2, 4, 1, 2, 3, 4, 2, 3 - }; - LayerSizes[5] = new[] { 2, 2, 2, 2, 1 }; + ]; + LayerSizes[5] = [2, 2, 2, 2, 1]; // Size 6: 12 CEs, 5 layers (optimal) - Networks[6] = new[] { + Networks[6] = [ 0, 5, 1, 3, 2, 4, 1, 2, 3, 4, 0, 3, 2, 5, 0, 1, 2, 3, 4, 5, 1, 2, 3, 4 - }; - LayerSizes[6] = new[] { 3, 2, 2, 3, 2 }; + ]; + LayerSizes[6] = [3, 2, 2, 3, 2]; // Size 7: 16 CEs, 6 layers (optimal) - Networks[7] = new[] { + Networks[7] = [ 0, 6, 2, 3, 4, 5, 0, 2, 1, 4, 3, 6, 0, 1, 2, 5, 3, 4, 1, 2, 4, 6, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6 - }; - LayerSizes[7] = new[] { 3, 3, 3, 2, 2, 3 }; + ]; + LayerSizes[7] = [3, 3, 3, 2, 2, 3]; // Size 8: 19 CEs, 6 layers (optimal) - Networks[8] = new[] { + Networks[8] = [ 0, 2, 1, 3, 4, 6, 5, 7, 0, 4, 1, 5, 2, 6, 3, 7, 0, 1, 2, 3, 4, 5, 6, 7, 2, 4, 3, 5, 1, 4, 3, 6, 1, 2, 3, 4, 5, 6 - }; - LayerSizes[8] = new[] { 4, 4, 4, 2, 2, 3 }; + ]; + LayerSizes[8] = [4, 4, 4, 2, 2, 3]; // Size 9: 25 CEs, 7 layers (optimal) - Networks[9] = new[] { + Networks[9] = [ 0, 3, 1, 7, 2, 5, 4, 8, 0, 7, 2, 4, 3, 8, 5, 6, 0, 2, 1, 3, 4, 5, 7, 8, @@ -109,11 +109,11 @@ static NetworkDatabase() 0, 1, 2, 4, 3, 5, 6, 8, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6 - }; - LayerSizes[9] = new[] { 4, 4, 4, 3, 4, 3, 3 }; + ]; + LayerSizes[9] = [4, 4, 4, 3, 4, 3, 3]; // Size 10: 29 CEs, 8 layers (optimal) - Networks[10] = new[] { + Networks[10] = [ 0, 8, 1, 9, 2, 7, 3, 5, 4, 6, 0, 2, 1, 4, 5, 8, 7, 9, 0, 3, 2, 4, 5, 7, 6, 9, @@ -122,11 +122,11 @@ static NetworkDatabase() 1, 2, 3, 5, 4, 6, 7, 8, 2, 3, 4, 5, 6, 7, 3, 4, 5, 6 - }; - LayerSizes[10] = new[] { 5, 4, 4, 3, 4, 4, 3, 2 }; + ]; + LayerSizes[10] = [5, 4, 4, 3, 4, 4, 3, 2]; // Size 11: 35 CEs, 8 layers (optimal, Harder 2019) - Networks[11] = new[] { + Networks[11] = [ 0, 9, 1, 6, 2, 4, 3, 7, 5, 8, 0, 1, 3, 5, 4, 10, 6, 9, 7, 8, 1, 3, 2, 5, 4, 7, 8, 10, @@ -135,11 +135,11 @@ static NetworkDatabase() 2, 4, 3, 6, 5, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7 - }; - LayerSizes[11] = new[] { 5, 5, 4, 5, 5, 4, 4, 3 }; + ]; + LayerSizes[11] = [5, 5, 4, 5, 5, 4, 4, 3]; // Size 12: 39 CEs, 9 layers (optimal, Harder 2019) - Networks[12] = new[] { + Networks[12] = [ 0, 8, 1, 7, 2, 6, 3, 11, 4, 10, 5, 9, 0, 1, 2, 5, 3, 4, 6, 9, 7, 8, 10, 11, 0, 2, 1, 6, 5, 10, 9, 11, @@ -149,11 +149,11 @@ static NetworkDatabase() 2, 3, 4, 5, 6, 7, 8, 9, 4, 6, 5, 7, 3, 4, 5, 6, 7, 8 - }; - LayerSizes[12] = new[] { 6, 6, 4, 6, 4, 4, 4, 2, 3 }; + ]; + LayerSizes[12] = [6, 6, 4, 6, 4, 4, 4, 2, 3]; // Size 13: 45 CEs, 10 layers (optimal) - Networks[13] = new[] { + Networks[13] = [ 0, 12, 1, 10, 2, 9, 3, 7, 5, 11, 6, 8, 1, 6, 2, 3, 4, 11, 7, 9, 8, 10, 0, 4, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12, @@ -164,11 +164,11 @@ static NetworkDatabase() 1, 2, 3, 4, 5, 7, 6, 8, 2, 3, 4, 5, 6, 7, 8, 9, 3, 4, 5, 6 - }; - LayerSizes[13] = new[] { 6, 5, 6, 4, 5, 5, 4, 4, 4, 2 }; + ]; + LayerSizes[13] = [6, 5, 6, 4, 5, 5, 4, 4, 4, 2]; // Size 14: 51 CEs, 10 layers (optimal) - Networks[14] = new[] { + Networks[14] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 2, 1, 3, 4, 8, 5, 9, 10, 12, 11, 13, 0, 4, 1, 2, 3, 7, 5, 8, 6, 10, 9, 13, 11, 12, @@ -179,11 +179,11 @@ static NetworkDatabase() 2, 4, 3, 6, 5, 8, 7, 10, 9, 11, 3, 4, 5, 6, 7, 8, 9, 10, 6, 7 - }; - LayerSizes[14] = new[] { 7, 6, 7, 6, 4, 5, 6, 5, 4, 1 }; + ]; + LayerSizes[14] = [7, 6, 7, 6, 4, 5, 6, 5, 4, 1]; // Size 15: 56 CEs, 10 layers (optimal) - Networks[15] = new[] { + Networks[15] = [ 1, 2, 3, 10, 4, 14, 5, 8, 6, 13, 7, 12, 9, 11, 0, 14, 1, 5, 2, 8, 3, 7, 6, 9, 10, 12, 11, 13, 0, 7, 1, 6, 2, 9, 4, 10, 5, 11, 8, 13, 12, 14, @@ -194,11 +194,11 @@ static NetworkDatabase() 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 5, 6, 7, 8 - }; - LayerSizes[15] = new[] { 7, 7, 7, 7, 7, 6, 4, 4, 5, 2 }; + ]; + LayerSizes[15] = [7, 7, 7, 7, 7, 6, 4, 4, 5, 2]; // Size 16: 60 CEs, 10 layers (optimal, Green 1969) - Networks[16] = new[] { + Networks[16] = [ 0, 13, 1, 12, 2, 15, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 0, 5, 1, 7, 2, 9, 3, 4, 6, 13, 8, 14, 10, 15, 11, 12, 0, 1, 2, 3, 4, 5, 6, 8, 7, 9, 10, 11, 12, 13, 14, 15, @@ -209,14 +209,14 @@ static NetworkDatabase() 3, 5, 6, 8, 7, 9, 10, 12, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 6, 7, 8, 9 - }; - LayerSizes[16] = new[] { 8, 8, 8, 8, 7, 6, 4, 4, 5, 2 }; + ]; + LayerSizes[16] = [8, 8, 8, 8, 7, 6, 4, 4, 5, 2]; // Sizes 17-26: best-known networks from Dobbelaere's SorterHunter // Using the depth-optimized variants where available // Size 17: 71 CEs, 12 layers - Networks[17] = new[] { + Networks[17] = [ 0, 11, 1, 15, 2, 10, 3, 5, 4, 6, 8, 12, 9, 16, 13, 14, 0, 6, 1, 13, 2, 8, 4, 14, 5, 15, 7, 11, 0, 8, 3, 7, 4, 9, 6, 16, 10, 11, 12, 14, @@ -229,11 +229,11 @@ static NetworkDatabase() 3, 4, 6, 8, 7, 9, 10, 12, 5, 6, 7, 8, 9, 10, 11, 12, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 - }; - LayerSizes[17] = new[] { 8, 6, 6, 8, 7, 7, 6, 6, 4, 4, 4, 5 }; + ]; + LayerSizes[17] = [8, 6, 6, 8, 7, 7, 6, 6, 4, 4, 4, 5]; // Size 18: 77 CEs, 12 layers - Networks[18] = new[] { + Networks[18] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0, 2, 1, 3, 4, 12, 5, 13, 6, 8, 9, 11, 14, 16, 15, 17, 0, 14, 1, 16, 2, 15, 3, 17, @@ -246,11 +246,11 @@ static NetworkDatabase() 2, 4, 5, 8, 6, 10, 7, 11, 9, 12, 13, 15, 3, 5, 6, 8, 7, 10, 9, 11, 12, 14, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - }; - LayerSizes[18] = new[] { 9, 8, 4, 6, 6, 8, 6, 5, 8, 6, 5, 6 }; + ]; + LayerSizes[18] = [9, 8, 4, 6, 6, 8, 6, 5, 8, 6, 5, 6]; // Size 19: 85 CEs, 12 layers - Networks[19] = new[] { + Networks[19] = [ 0, 12, 1, 4, 2, 8, 3, 5, 6, 17, 7, 11, 9, 14, 10, 13, 15, 16, 0, 2, 1, 7, 3, 6, 4, 11, 5, 17, 8, 12, 10, 15, 13, 16, 14, 18, 3, 10, 4, 14, 5, 15, 6, 13, 7, 9, 11, 17, 16, 18, @@ -263,11 +263,11 @@ static NetworkDatabase() 3, 6, 4, 5, 7, 9, 8, 10, 11, 12, 13, 14, 15, 16, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 12, 14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 - }; - LayerSizes[19] = new[] { 9, 9, 7, 7, 5, 7, 7, 8, 7, 7, 6, 7 }; + ]; + LayerSizes[19] = [9, 9, 7, 7, 5, 7, 7, 8, 7, 7, 6, 7]; // Size 20: 91 CEs, 12 layers - Networks[20] = new[] { + Networks[20] = [ 0, 3, 1, 7, 2, 5, 4, 8, 6, 9, 10, 13, 11, 15, 12, 18, 14, 17, 16, 19, 0, 14, 1, 11, 2, 16, 3, 17, 4, 12, 5, 19, 6, 10, 7, 15, 8, 18, 9, 13, 0, 4, 1, 2, 3, 8, 5, 7, 11, 16, 12, 14, 15, 19, 17, 18, @@ -280,11 +280,11 @@ static NetworkDatabase() 2, 3, 4, 6, 5, 8, 7, 9, 10, 12, 11, 14, 13, 15, 16, 17, 4, 5, 6, 8, 7, 10, 9, 12, 11, 13, 14, 15, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 - }; - LayerSizes[20] = new[] { 10, 10, 8, 8, 6, 6, 7, 8, 8, 8, 6, 7 }; + ]; + LayerSizes[20] = [10, 10, 8, 8, 6, 6, 7, 8, 8, 8, 6, 7]; // Size 21: 99 CEs, 15 layers - Networks[21] = new[] { + Networks[21] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, @@ -300,11 +300,11 @@ static NetworkDatabase() 4, 6, 7, 8, 9, 12, 13, 15, 3, 4, 5, 7, 8, 10, 9, 11, 12, 14, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - }; - LayerSizes[21] = new[] { 10, 10, 8, 8, 3, 4, 9, 7, 8, 7, 7, 3, 4, 5, 5 }; + ]; + LayerSizes[21] = [10, 10, 8, 8, 3, 4, 9, 7, 8, 7, 7, 3, 4, 5, 5]; // Size 22: 106 CEs, 13 layers - Networks[22] = new[] { + Networks[22] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 2, 1, 3, 4, 6, 5, 7, 8, 12, 9, 13, 14, 16, 15, 17, 18, 20, 19, 21, 0, 4, 1, 5, 2, 6, 3, 7, 8, 10, 9, 12, 11, 13, 14, 18, 15, 19, 16, 20, 17, 21, @@ -318,11 +318,11 @@ static NetworkDatabase() 5, 6, 7, 8, 9, 11, 10, 12, 13, 14, 15, 16, 3, 5, 6, 7, 8, 10, 9, 12, 11, 13, 14, 15, 16, 18, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 - }; - LayerSizes[22] = new[] { 11, 10, 11, 10, 6, 10, 8, 5, 8, 6, 6, 7, 8 }; + ]; + LayerSizes[22] = [11, 10, 11, 10, 6, 10, 8, 5, 8, 6, 6, 7, 8]; // Size 23: 114 CEs, 14 layers (Dobbelaere SorterHunter) - Networks[23] = new[] { + Networks[23] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 21, 22, 0, 4, 1, 5, 2, 6, 3, 7, 8, 12, 9, 13, 10, 14, 11, 15, 17, 21, 18, 20, 19, 22, @@ -337,11 +337,11 @@ static NetworkDatabase() 2, 3, 4, 6, 8, 9, 11, 12, 13, 14, 15, 16, 17, 19, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 17, 18, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17 - }; - LayerSizes[23] = new[] { 11, 11, 11, 8, 7, 7, 6, 8, 9, 8, 9, 7, 7, 5 }; + ]; + LayerSizes[23] = [11, 11, 11, 8, 7, 7, 6, 8, 9, 8, 9, 7, 7, 5]; // Size 24: 120 CEs, 13 layers (Dobbelaere SorterHunter) - Networks[24] = new[] { + Networks[24] = [ 0, 20, 1, 12, 2, 16, 3, 23, 4, 6, 5, 10, 7, 21, 8, 14, 9, 15, 11, 22, 13, 18, 17, 19, 0, 3, 1, 11, 2, 7, 4, 17, 5, 13, 6, 19, 8, 9, 10, 18, 12, 22, 14, 15, 16, 21, 20, 23, 0, 1, 2, 4, 3, 12, 5, 8, 6, 9, 7, 10, 11, 20, 13, 16, 14, 17, 15, 18, 19, 21, 22, 23, @@ -355,11 +355,11 @@ static NetworkDatabase() 3, 4, 5, 7, 10, 12, 11, 13, 16, 18, 19, 20, 4, 6, 8, 10, 9, 12, 11, 14, 13, 15, 17, 19, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 - }; - LayerSizes[24] = new[] { 12, 12, 12, 8, 8, 11, 10, 10, 10, 8, 6, 6, 7 }; + ]; + LayerSizes[24] = [12, 12, 12, 8, 8, 11, 10, 10, 10, 8, 6, 6, 7]; // Size 25: 130 CEs, 15 layers (Dobbelaere SorterHunter) - Networks[25] = new[] { + Networks[25] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 21, 22, 23, 24, 0, 4, 1, 5, 2, 6, 3, 7, 8, 12, 9, 13, 10, 14, 11, 15, 18, 21, 20, 23, 22, 24, @@ -375,11 +375,11 @@ static NetworkDatabase() 3, 5, 4, 6, 7, 8, 9, 11, 10, 12, 13, 14, 15, 16, 17, 18, 4, 7, 6, 8, 9, 10, 11, 12, 13, 15, 14, 16, 17, 19, 18, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 - }; - LayerSizes[25] = new[] { 12, 12, 11, 12, 6, 6, 7, 6, 9, 8, 9, 7, 8, 8, 9 }; + ]; + LayerSizes[25] = [12, 12, 11, 12, 6, 6, 7, 6, 9, 8, 9, 7, 8, 8, 9]; // Size 26: 138 CEs, 15 layers (Dobbelaere SorterHunter) - Networks[26] = new[] { + Networks[26] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 14, 16, 15, 17, 18, 20, 19, 21, 22, 24, 23, 25, 0, 4, 1, 6, 2, 5, 3, 7, 8, 14, 9, 16, 10, 15, 11, 17, 18, 22, 19, 24, 20, 23, 21, 25, @@ -395,18 +395,18 @@ static NetworkDatabase() 3, 4, 5, 8, 6, 7, 9, 11, 10, 12, 13, 15, 14, 16, 17, 20, 18, 19, 21, 22, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 - }; - LayerSizes[26] = new[] { 13, 12, 12, 10, 6, 10, 6, 8, 8, 8, 8, 10, 10, 8, 9 }; + ]; + LayerSizes[26] = [13, 12, 12, 10, 6, 10, 6, 8, 8, 8, 8, 10, 10, 8, 9]; // Note: sizes 27-28 are from arXiv:2511.04107 // Size 27: depth-13 network from arXiv:2511.04107 (already in the repo) // Derived from Network28 by filtering pairs where both indices < 27 Networks[27] = DeriveNetwork27FromNetwork28(); - LayerSizes[27] = new[] { 13, 13, 13, 13, 13, 13, 11, 10, 10, 10, 12, 12, 11 }; + LayerSizes[27] = [13, 13, 13, 13, 13, 13, 11, 10, 10, 10, 12, 12, 11]; // Size 28: depth-13 network from arXiv:2511.04107 - Networks[28] = new[] { + Networks[28] = [ 0,27, 1,26, 2,25, 3,24, 4,23, 5,22, 6,21, 7,20, 8,9, 10,11, 12,15, 13,14, 16,17, 18,19, 0,1, 2,3, 4,5, 6,7, 8,10, 9,11, 12,14, 13,15, 16,18, 17,19, 20,21, 22,23, 24,25, 26,27, 0,2, 1,3, 4,6, 5,7, 8,19, 9,12, 10,14, 11,16, 13,17, 15,18, 20,22, 21,23, 24,26, 25,27, @@ -420,11 +420,11 @@ static NetworkDatabase() 1,3, 4,7, 5,6, 8,9, 10,12, 11,16, 13,14, 15,17, 18,19, 20,23, 21,22, 24,26, 2,3, 4,5, 6,7, 8,10, 9,12, 11,13, 14,16, 15,18, 17,19, 20,21, 22,23, 24,25, 3,4, 5,6, 7,8, 9,10, 11,12, 13,14, 15,16, 17,18, 19,20, 21,22, 23,24 - }; - LayerSizes[28] = new[] { 14, 14, 14, 14, 13, 14, 11, 10, 10, 10, 12, 12, 11 }; + ]; + LayerSizes[28] = [14, 14, 14, 14, 13, 14, 11, 10, 10, 10, 12, 12, 11]; // Size 29: 164 CEs, 15 layers (Dobbelaere SorterHunter) - Networks[29] = new[] { + Networks[29] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 28, 17, 26, 18, 25, 19, 23, 21, 27, 22, 24, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 17, 22, 18, 19, 20, 27, 23, 25, 24, 26, 0, 4, 1, 5, 2, 6, 3, 7, 8, 12, 9, 13, 10, 14, 11, 15, 16, 20, 17, 18, 19, 22, 23, 24, 25, 26, 27, 28, @@ -440,11 +440,11 @@ static NetworkDatabase() 5, 8, 6, 7, 9, 12, 10, 11, 13, 14, 15, 16, 17, 20, 18, 19, 21, 23, 24, 25, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 14, 16, 17, 18, 19, 20, 21, 22, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 - }; - LayerSizes[29] = new[] { 14, 13, 14, 13, 13, 10, 11, 11, 11, 8, 8, 9, 10, 9, 10 }; + ]; + LayerSizes[29] = [14, 13, 14, 13, 13, 10, 11, 11, 11, 8, 8, 9, 10, 9, 10]; // Size 30: 172 CEs, 14 layers (Dobbelaere SorterHunter) - Networks[30] = new[] { + Networks[30] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 13, 15, 14, 16, 18, 20, 19, 21, 22, 24, 23, 25, 26, 28, 27, 29, 0, 4, 1, 5, 2, 6, 3, 7, 8, 14, 9, 17, 10, 16, 12, 20, 13, 19, 15, 21, 22, 26, 23, 27, 24, 28, 25, 29, @@ -459,11 +459,11 @@ static NetworkDatabase() 1, 2, 3, 10, 5, 12, 7, 14, 9, 16, 11, 18, 13, 20, 15, 22, 17, 24, 19, 26, 27, 28, 2, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15, 18, 17, 20, 19, 22, 21, 24, 23, 26, 25, 27, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 - }; - LayerSizes[30] = new[] { 15, 14, 14, 14, 14, 14, 12, 10, 8, 10, 11, 11, 13, 12 }; + ]; + LayerSizes[30] = [15, 14, 14, 14, 14, 14, 12, 10, 8, 10, 11, 11, 13, 12]; // Size 31: 180 CEs, 14 layers (Dobbelaere SorterHunter, derived from 32-input network) - Networks[31] = new[] { + Networks[31] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, 28, 30, 0, 4, 1, 5, 2, 6, 3, 7, 8, 12, 9, 13, 10, 14, 11, 15, 16, 20, 17, 21, 18, 22, 19, 23, 24, 28, 25, 29, 26, 30, @@ -478,11 +478,11 @@ static NetworkDatabase() 5, 6, 8, 12, 9, 10, 11, 13, 14, 16, 15, 17, 18, 20, 19, 23, 21, 22, 25, 26, 3, 5, 6, 7, 8, 9, 10, 12, 11, 14, 13, 16, 15, 18, 17, 20, 19, 21, 22, 23, 24, 25, 26, 28, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 - }; - LayerSizes[31] = new[] { 15, 15, 15, 15, 15, 14, 12, 12, 12, 10, 10, 10, 12, 13 }; + ]; + LayerSizes[31] = [15, 15, 15, 15, 15, 14, 12, 12, 12, 10, 10, 10, 12, 13]; // Size 32: 185 CEs, 14 layers (Dobbelaere SorterHunter) - Networks[32] = new[] { + Networks[32] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, 28, 30, 29, 31, 0, 4, 1, 5, 2, 6, 3, 7, 8, 12, 9, 13, 10, 14, 11, 15, 16, 20, 17, 21, 18, 22, 19, 23, 24, 28, 25, 29, 26, 30, 27, 31, @@ -497,15 +497,15 @@ static NetworkDatabase() 5, 6, 8, 12, 9, 10, 11, 13, 14, 16, 15, 17, 18, 20, 19, 23, 21, 22, 25, 26, 3, 5, 6, 7, 8, 9, 10, 12, 11, 14, 13, 16, 15, 18, 17, 20, 19, 21, 22, 23, 24, 25, 26, 28, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 - }; - LayerSizes[32] = new[] { 16, 16, 16, 16, 16, 14, 12, 12, 12, 10, 10, 10, 12, 13 }; + ]; + LayerSizes[32] = [16, 16, 16, 16, 16, 14, 12, 12, 12, 10, 10, 10, 12, 13]; // Sizes 33-64: best-known networks from Dobbelaere's SorterHunter // Source: https://github.com/bertdobbelaere/SorterHunter/tree/main/Networks/Sorters // Source: https://bertdobbelaere.github.io/sorting_networks_extended.html // Size 33: 199 CEs, 15 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_33_199_15.json - Networks[33] = new[] { + Networks[33] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, @@ -526,12 +526,12 @@ static NetworkDatabase() 18, 19, 21, 22, 23, 24, 25, 26, 1, 3, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 14, 16, 17, 18, 19, 20, 21, 23, 22, 24, 26, 27, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 - }; - LayerSizes[33] = new[] { 16, 16, 16, 16, 16, 15, 12, 11, 11, 10, 11, 13, 11, 13, 12 }; + ]; + LayerSizes[33] = [16, 16, 16, 16, 16, 15, 12, 11, 11, 10, 11, 13, 11, 13, 12]; // Size 34: 209 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_34_209_17.json - Networks[34] = new[] { + Networks[34] = [ 0, 33, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 1, 3, 2, 4, 5, 7, 6, 8, 9, 11, 10, 12, 13, 15, 14, 16, 17, 19, 18, 20, 21, 23, 22, 24, 25, 27, @@ -553,12 +553,12 @@ static NetworkDatabase() 21, 23, 22, 25, 24, 26, 28, 29, 30, 31, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 19, 20, 21, 22, 24, 25, 26, 27, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 9, 10, 14, 15, 16, 17, 18, 19, 23, 24 - }; - LayerSizes[34] = new[] { 17, 16, 16, 16, 16, 14, 8, 10, 12, 12, 10, 12, 12, 14, 9, 10, 5 }; + ]; + LayerSizes[34] = [17, 16, 16, 16, 16, 14, 8, 10, 12, 12, 10, 12, 12, 14, 9, 10, 5]; // Size 35: 220 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_35_220_17.json - Networks[35] = new[] { + Networks[35] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, @@ -581,12 +581,12 @@ static NetworkDatabase() 17, 18, 20, 21, 22, 23, 24, 26, 25, 27, 28, 29, 30, 31, 5, 6, 7, 10, 9, 11, 12, 13, 14, 16, 15, 17, 18, 19, 20, 22, 21, 23, 24, 25, 26, 27, 29, 30, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 - }; - LayerSizes[35] = new[] { 17, 17, 17, 16, 16, 16, 8, 9, 8, 10, 12, 10, 13, 15, 13, 12, 11 }; + ]; + LayerSizes[35] = [17, 17, 17, 16, 16, 16, 8, 9, 8, 10, 12, 10, 13, 15, 13, 12, 11]; // Size 36: 227 CEs, 18 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_36_227_18.json - Networks[36] = new[] { + Networks[36] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 34, 1, 35, 2, 4, 3, 5, 6, 8, 7, 9, 10, 12, 11, 13, 14, 16, 15, 17, 18, 20, 19, 21, @@ -610,12 +610,12 @@ static NetworkDatabase() 5, 7, 8, 10, 12, 13, 14, 15, 16, 18, 17, 19, 20, 21, 22, 23, 25, 27, 28, 30, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 7, 8, 9, 10, 11, 12, 23, 24, 25, 26, 27, 28 - }; - LayerSizes[36] = new[] { 18, 18, 16, 16, 16, 14, 8, 6, 10, 14, 10, 14, 14, 14, 12, 10, 11, 6 }; + ]; + LayerSizes[36] = [18, 18, 16, 16, 16, 14, 8, 6, 10, 14, 10, 14, 14, 14, 12, 10, 11, 6]; // Size 37: 240 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_37_240_17.json - Networks[37] = new[] { + Networks[37] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 33, 36, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, @@ -640,12 +640,12 @@ static NetworkDatabase() 26, 28, 27, 30, 29, 32, 31, 33, 5, 6, 7, 10, 9, 12, 11, 13, 14, 16, 15, 18, 17, 20, 19, 21, 22, 24, 23, 26, 25, 28, 27, 29, 30, 32, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 - }; - LayerSizes[37] = new[] { 18, 18, 18, 18, 17, 16, 10, 8, 9, 11, 14, 14, 13, 15, 15, 13, 13 }; + ]; + LayerSizes[37] = [18, 18, 18, 18, 17, 16, 10, 8, 9, 11, 14, 14, 13, 15, 15, 13, 13]; // Size 38: 250 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_38_250_17.json - Networks[38] = new[] { + Networks[38] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 20, 17, 21, 22, 24, @@ -671,12 +671,12 @@ static NetworkDatabase() 27, 30, 28, 29, 31, 33, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 - }; - LayerSizes[38] = new[] { 19, 18, 18, 18, 18, 14, 12, 10, 10, 12, 14, 14, 16, 16, 14, 14, 13 }; + ]; + LayerSizes[38] = [19, 18, 18, 18, 18, 14, 12, 10, 10, 12, 14, 14, 16, 16, 14, 14, 13]; // Size 39: 259 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_39_259_17.json - Networks[39] = new[] { + Networks[39] = [ 1, 2, 3, 6, 4, 5, 7, 14, 8, 9, 10, 11, 12, 13, 15, 38, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0, 1, 3, 4, 5, 6, 7, 12, 8, 10, 9, 11, 13, 14, 15, 36, 16, 18, 17, 19, 20, 22, @@ -703,12 +703,12 @@ static NetworkDatabase() 6, 7, 8, 10, 9, 11, 12, 13, 14, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 - }; - LayerSizes[39] = new[] { 19, 19, 19, 17, 15, 14, 12, 10, 15, 14, 16, 16, 14, 14, 16, 14, 15 }; + ]; + LayerSizes[39] = [19, 19, 19, 17, 15, 14, 12, 10, 15, 14, 16, 16, 14, 14, 16, 14, 15]; // Size 40: 265 CEs, 17 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_40_265_17.json - Networks[40] = new[] { + Networks[40] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, @@ -736,12 +736,12 @@ static NetworkDatabase() 13, 16, 15, 17, 18, 20, 19, 21, 22, 24, 23, 26, 25, 28, 27, 29, 30, 32, 31, 33, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 - }; - LayerSizes[40] = new[] { 20, 20, 20, 18, 16, 14, 12, 10, 16, 14, 16, 16, 14, 14, 16, 14, 15 }; + ]; + LayerSizes[40] = [20, 20, 20, 18, 16, 14, 12, 10, 16, 14, 16, 16, 14, 14, 16, 14, 15]; // Size 41: 282 CEs, 18 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_41_282_18.json - Networks[41] = new[] { + Networks[41] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, @@ -771,12 +771,12 @@ static NetworkDatabase() 23, 25, 26, 28, 27, 29, 30, 32, 31, 33, 34, 35, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 - }; - LayerSizes[41] = new[] { 20, 20, 20, 19, 18, 17, 14, 11, 13, 12, 15, 14, 13, 16, 15, 14, 15, 16 }; + ]; + LayerSizes[41] = [20, 20, 20, 19, 18, 17, 14, 11, 13, 12, 15, 14, 13, 16, 15, 14, 15, 16]; // Size 42: 291 CEs, 18 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_42_291_18.json - Networks[42] = new[] { + Networks[42] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 24, @@ -807,12 +807,12 @@ static NetworkDatabase() 18, 20, 21, 23, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33 - }; - LayerSizes[42] = new[] { 21, 20, 21, 20, 20, 19, 14, 14, 17, 12, 16, 10, 14, 16, 14, 16, 14, 13 }; + ]; + LayerSizes[42] = [21, 20, 21, 20, 20, 19, 14, 14, 17, 12, 16, 10, 14, 16, 14, 16, 14, 13]; // Size 43: 303 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_43_303_19.json - Networks[43] = new[] { + Networks[43] = [ 1, 2, 3, 6, 4, 5, 7, 14, 8, 9, 10, 11, 12, 13, 15, 42, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 0, 1, 3, 4, 5, 6, 7, 12, 8, 10, 9, 11, 13, 14, 15, 40, 16, 18, @@ -844,12 +844,12 @@ static NetworkDatabase() 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 29, 31, 32, 34, 33, 35, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 - }; - LayerSizes[43] = new[] { 21, 21, 19, 21, 20, 19, 12, 11, 16, 16, 18, 14, 14, 14, 12, 12, 14, 14, 15 }; + ]; + LayerSizes[43] = [21, 21, 19, 21, 20, 19, 12, 11, 16, 16, 18, 14, 14, 14, 12, 12, 14, 14, 15]; // Size 44: 309 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_44_309_19.json - Networks[44] = new[] { + Networks[44] = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, @@ -881,12 +881,12 @@ static NetworkDatabase() 7, 9, 10, 12, 11, 13, 14, 16, 15, 18, 17, 20, 19, 22, 21, 24, 23, 26, 25, 28, 27, 29, 30, 32, 31, 33, 34, 36, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36 - }; - LayerSizes[44] = new[] { 22, 22, 20, 22, 20, 20, 12, 12, 16, 16, 18, 14, 14, 14, 12, 12, 14, 14, 15 }; + ]; + LayerSizes[44] = [22, 22, 20, 22, 20, 20, 12, 12, 16, 16, 18, 14, 14, 14, 12, 12, 14, 14, 15]; // Size 45: 324 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_45_324_19.json - Networks[45] = new[] { + Networks[45] = [ 3, 12, 4, 8, 5, 6, 7, 11, 9, 10, 13, 32, 14, 35, 15, 18, 16, 29, 17, 28, 19, 30, 20, 24, 21, 22, 23, 27, 25, 26, 31, 34, 33, 44, 36, 40, 37, 38, 39, 43, 41, 42, 0, 5, 1, 7, 2, 9, 3, 4, 8, 12, 10, 11, 13, 37, 14, 36, 15, 25, @@ -920,12 +920,12 @@ static NetworkDatabase() 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 35, 38, 37, 40, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 - }; - LayerSizes[45] = new[] { 21, 22, 21, 22, 22, 19, 15, 12, 17, 13, 17, 16, 16, 14, 14, 14, 16, 16, 17 }; + ]; + LayerSizes[45] = [21, 22, 21, 22, 22, 19, 15, 12, 17, 13, 17, 16, 16, 14, 14, 14, 16, 16, 17]; // Size 46: 332 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_46_332_19.json - Networks[46] = new[] { + Networks[46] = [ 2, 13, 3, 12, 4, 8, 5, 6, 7, 11, 9, 10, 14, 35, 15, 18, 16, 29, 17, 28, 19, 30, 20, 24, 21, 22, 23, 27, 25, 26, 31, 34, 32, 45, 33, 44, 36, 40, 37, 38, 39, 43, 41, 42, 0, 5, 1, 7, 2, 9, 3, 4, 8, 12, 10, 13, 14, 36, 15, 25, @@ -960,12 +960,12 @@ static NetworkDatabase() 29, 32, 31, 34, 33, 35, 36, 37, 38, 39, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 - }; - LayerSizes[46] = new[] { 22, 22, 23, 22, 22, 20, 15, 13, 18, 14, 18, 16, 16, 14, 14, 14, 16, 16, 17 }; + ]; + LayerSizes[46] = [22, 22, 23, 22, 22, 20, 15, 13, 18, 14, 18, 16, 16, 14, 14, 14, 16, 16, 17]; // Size 47: 340 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_47_340_19.json - Networks[47] = new[] { + Networks[47] = [ 1, 12, 2, 13, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 15, 18, 16, 29, 17, 28, 19, 30, 20, 24, 21, 22, 23, 27, 25, 26, 31, 34, 32, 45, 33, 44, 35, 46, 36, 40, 37, 38, 39, 43, 41, 42, 0, 5, 1, 7, 2, 9, 3, 4, 8, 14, 10, 13, 11, 12, @@ -1000,12 +1000,12 @@ static NetworkDatabase() 13, 15, 16, 18, 17, 20, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 - }; - LayerSizes[47] = new[] { 23, 23, 23, 23, 23, 21, 15, 14, 18, 16, 18, 16, 16, 14, 14, 14, 16, 16, 17 }; + ]; + LayerSizes[47] = [23, 23, 23, 23, 23, 21, 15, 14, 18, 16, 18, 16, 16, 14, 14, 14, 16, 16, 17]; // Size 48: 346 CEs, 19 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_48_346_19.json - Networks[48] = new[] { + Networks[48] = [ 0, 13, 1, 12, 2, 15, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 16, 29, 17, 28, 18, 31, 19, 30, 20, 24, 21, 22, 23, 27, 25, 26, 32, 45, 33, 44, 34, 47, 35, 46, 36, 40, 37, 38, 39, 43, 41, 42, 0, 5, 1, 7, 2, 9, 3, 4, 6, 13, 8, 14, @@ -1041,12 +1041,12 @@ static NetworkDatabase() 21, 24, 23, 26, 25, 27, 28, 29, 30, 32, 31, 34, 33, 36, 35, 37, 38, 40, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 - }; - LayerSizes[48] = new[] { 24, 24, 24, 24, 23, 22, 16, 14, 18, 16, 18, 16, 16, 14, 14, 14, 16, 16, 17 }; + ]; + LayerSizes[48] = [24, 24, 24, 24, 23, 22, 16, 14, 18, 16, 18, 16, 16, 14, 14, 14, 16, 16, 17]; // Size 49: 365 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_49_365_21.json - Networks[49] = new[] { + Networks[49] = [ 0, 8, 1, 7, 2, 6, 3, 11, 4, 10, 5, 9, 12, 20, 13, 19, 14, 18, 15, 23, 16, 22, 17, 21, 24, 32, 25, 31, 26, 30, 27, 35, 28, 34, 29, 33, 36, 48, 37, 46, 38, 45, 39, 43, 41, 47, 42, 44, 0, 1, 2, 5, 3, 4, 6, 9, 7, 8, 10, 11, @@ -1084,12 +1084,12 @@ static NetworkDatabase() 25, 28, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 39, 40, 43, 44 - }; - LayerSizes[49] = new[] { 24, 23, 18, 22, 19, 17, 20, 17, 18, 15, 14, 15, 17, 16, 16, 13, 14, 16, 15, 19, 17 }; + ]; + LayerSizes[49] = [24, 23, 18, 22, 19, 17, 20, 17, 18, 15, 14, 15, 17, 16, 16, 13, 14, 16, 15, 19, 17]; // Size 50: 376 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_50_376_21.json - Networks[50] = new[] { + Networks[50] = [ 0, 8, 1, 7, 2, 6, 3, 11, 4, 10, 5, 9, 12, 24, 13, 22, 14, 21, 15, 19, 17, 23, 18, 20, 25, 33, 26, 32, 27, 31, 28, 36, 29, 35, 30, 34, 37, 49, 38, 47, 39, 46, 40, 44, 42, 48, 43, 45, 0, 1, 2, 5, 3, 4, 6, 9, 7, 8, 10, 11, @@ -1128,12 +1128,12 @@ static NetworkDatabase() 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 44, 45, 46, 47, 3, 4, 7, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 43, 44, 47, 48 - }; - LayerSizes[50] = new[] { 24, 22, 20, 20, 19, 18, 19, 17, 19, 19, 16, 17, 18, 16, 16, 11, 16, 12, 17, 21, 19 }; + ]; + LayerSizes[50] = [24, 22, 20, 20, 19, 18, 19, 17, 19, 19, 16, 17, 18, 16, 16, 11, 16, 12, 17, 21, 19]; // Size 51: 387 CEs, 22 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_51_387_22.json - Networks[51] = new[] { + Networks[51] = [ 0, 8, 1, 7, 2, 6, 3, 11, 4, 10, 5, 9, 12, 24, 13, 22, 14, 21, 15, 19, 17, 23, 18, 20, 25, 37, 26, 35, 27, 34, 28, 32, 30, 36, 31, 33, 38, 50, 39, 48, 40, 47, 41, 45, 43, 49, 44, 46, 0, 1, 2, 5, 3, 4, 6, 9, 7, 8, 10, 11, @@ -1173,12 +1173,12 @@ static NetworkDatabase() 40, 41, 42, 43, 3, 4, 5, 6, 7, 9, 10, 12, 11, 13, 14, 16, 17, 18, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 41, 42, 43, 44, 7, 8, 11, 12, 15, 16, 19, 20, 23, 24, 35, 36, 39, 40 - }; - LayerSizes[51] = new[] { 24, 21, 22, 18, 20, 19, 19, 19, 20, 18, 20, 18, 17, 17, 16, 11, 12, 14, 21, 16, 18, 7 }; + ]; + LayerSizes[51] = [24, 21, 22, 18, 20, 19, 19, 19, 20, 18, 20, 18, 17, 17, 16, 11, 12, 14, 21, 16, 18, 7]; // Size 52: 395 CEs, 20 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_52_395_20.json - Networks[52] = new[] { + Networks[52] = [ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, 28, 30, 29, 31, 32, 34, 33, 35, 36, 38, 37, 39, 40, 42, 41, 43, 44, 46, 45, 47, 48, 50, 49, 51, 0, 1, 2, 3, 4, 5, 6, 7, @@ -1219,12 +1219,12 @@ static NetworkDatabase() 43, 45, 46, 48, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 - }; - LayerSizes[52] = new[] { 26, 26, 25, 22, 22, 20, 18, 20, 18, 16, 18, 17, 16, 16, 16, 16, 18, 20, 22, 23 }; + ]; + LayerSizes[52] = [26, 26, 25, 22, 22, 20, 18, 20, 18, 16, 18, 17, 16, 16, 16, 16, 18, 20, 22, 23]; // Size 53: 411 CEs, 22 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_53_411_22.json - Networks[53] = new[] { + Networks[53] = [ 0, 12, 1, 10, 2, 9, 3, 7, 5, 11, 6, 8, 13, 25, 14, 23, 15, 22, 16, 20, 18, 24, 19, 21, 26, 38, 27, 36, 28, 35, 29, 33, 31, 37, 32, 34, 39, 45, 40, 50, 41, 51, 42, 49, 43, 44, 46, 52, 47, 48, 1, 6, 2, 3, 4, 11, 7, 9, 8, 10, @@ -1267,12 +1267,12 @@ static NetworkDatabase() 42, 44, 45, 46, 47, 48, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 43, 44 - }; - LayerSizes[53] = new[] { 25, 21, 24, 18, 20, 20, 21, 20, 21, 21, 16, 16, 16, 16, 19, 16, 14, 16, 15, 17, 21, 18 }; + ]; + LayerSizes[53] = [25, 21, 24, 18, 20, 20, 21, 20, 21, 21, 16, 16, 16, 16, 19, 16, 14, 16, 15, 17, 21, 18]; // Size 54: 421 CEs, 20 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_54_421_20.json - Networks[54] = new[] { + Networks[54] = [ 0, 13, 1, 12, 2, 15, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 16, 35, 17, 34, 18, 37, 19, 36, 20, 30, 21, 22, 23, 33, 24, 29, 25, 27, 26, 28, 31, 32, 38, 51, 39, 50, 40, 53, 41, 52, 42, 46, 43, 44, 45, 49, 47, 48, 0, 5, 1, 7, 2, 9, @@ -1316,12 +1316,12 @@ static NetworkDatabase() 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 - }; - LayerSizes[54] = new[] { 27, 26, 26, 27, 27, 22, 16, 18, 19, 20, 16, 20, 22, 16, 14, 18, 22, 22, 21, 22 }; + ]; + LayerSizes[54] = [27, 26, 26, 27, 27, 22, 16, 18, 19, 20, 16, 20, 22, 16, 14, 18, 22, 22, 21, 22]; // Size 55: 432 CEs, 20 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_55_432_20.json - Networks[55] = new[] { + Networks[55] = [ 1, 12, 2, 13, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 15, 18, 16, 37, 17, 36, 19, 38, 20, 32, 21, 22, 23, 35, 24, 26, 25, 27, 28, 30, 29, 31, 33, 34, 39, 42, 40, 53, 41, 52, 43, 54, 44, 48, 45, 46, 47, 51, 49, 50, 0, 5, 1, 7, 2, 9, @@ -1366,12 +1366,12 @@ static NetworkDatabase() 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 - }; - LayerSizes[55] = new[] { 27, 27, 27, 25, 26, 24, 18, 20, 21, 20, 16, 18, 20, 18, 18, 18, 22, 22, 22, 23 }; + ]; + LayerSizes[55] = [27, 27, 27, 25, 26, 24, 18, 20, 21, 20, 16, 18, 20, 18, 18, 18, 22, 22, 22, 23]; // Size 56: 438 CEs, 20 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_56_438_20.json - Networks[56] = new[] { + Networks[56] = [ 0, 13, 1, 12, 2, 15, 3, 14, 4, 8, 5, 6, 7, 11, 9, 10, 16, 37, 17, 36, 18, 39, 19, 38, 20, 32, 21, 22, 23, 35, 24, 26, 25, 27, 28, 30, 29, 31, 33, 34, 40, 53, 41, 52, 42, 55, 43, 54, 44, 48, 45, 46, 47, 51, 49, 50, 0, 5, 1, 7, @@ -1416,12 +1416,12 @@ static NetworkDatabase() 39, 41, 42, 44, 43, 45, 46, 48, 47, 49, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 - }; - LayerSizes[56] = new[] { 28, 28, 28, 26, 27, 25, 18, 20, 21, 20, 16, 18, 20, 18, 18, 18, 22, 22, 22, 23 }; + ]; + LayerSizes[56] = [28, 28, 28, 26, 27, 25, 18, 20, 21, 20, 16, 18, 20, 18, 18, 18, 22, 22, 22, 23]; // Size 57: 454 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_57_454_21.json - Networks[57] = new[] { + Networks[57] = [ 0, 8, 1, 7, 2, 6, 3, 11, 4, 10, 5, 9, 12, 24, 13, 22, 14, 21, 15, 19, 17, 23, 18, 20, 25, 38, 26, 37, 27, 40, 28, 39, 29, 33, 30, 31, 32, 36, 34, 35, 41, 54, 42, 53, 43, 56, 44, 55, 45, 49, 46, 47, 48, 52, 50, 51, 0, 1, 2, 5, @@ -1468,12 +1468,12 @@ static NetworkDatabase() 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 - }; - LayerSizes[57] = new[] { 28, 27, 26, 26, 24, 21, 20, 19, 19, 18, 18, 18, 19, 20, 17, 18, 20, 22, 25, 24, 25 }; + ]; + LayerSizes[57] = [28, 27, 26, 26, 24, 21, 20, 19, 19, 18, 18, 18, 19, 20, 17, 18, 20, 22, 25, 24, 25]; // Size 58: 465 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_58_465_21.json - Networks[58] = new[] { + Networks[58] = [ 0, 8, 1, 9, 2, 7, 3, 5, 4, 6, 10, 23, 11, 22, 12, 25, 13, 24, 14, 18, 15, 16, 17, 21, 19, 20, 26, 39, 27, 38, 28, 41, 29, 40, 30, 34, 31, 32, 33, 37, 35, 36, 42, 55, 43, 54, 44, 57, 45, 56, 46, 50, 47, 48, 49, 53, 51, 52, 0, 2, @@ -1521,12 +1521,12 @@ static NetworkDatabase() 50, 52, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 52 - }; - LayerSizes[58] = new[] { 29, 28, 28, 27, 27, 23, 17, 20, 21, 22, 19, 21, 20, 20, 13, 17, 16, 24, 25, 24, 24 }; + ]; + LayerSizes[58] = [29, 28, 28, 27, 27, 23, 17, 20, 21, 22, 19, 21, 20, 20, 13, 17, 16, 24, 25, 24, 24]; // Size 59: 476 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_59_476_21.json - Networks[59] = new[] { + Networks[59] = [ 0, 9, 1, 6, 2, 4, 3, 7, 5, 8, 11, 24, 12, 23, 13, 26, 14, 25, 15, 19, 16, 17, 18, 22, 20, 21, 27, 40, 28, 39, 29, 42, 30, 41, 31, 35, 32, 33, 34, 38, 36, 37, 43, 56, 44, 55, 45, 58, 46, 57, 47, 51, 48, 49, 50, 54, 52, 53, 0, 1, @@ -1575,12 +1575,12 @@ static NetworkDatabase() 50, 51, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 - }; - LayerSizes[59] = new[] { 29, 29, 28, 29, 28, 23, 19, 21, 20, 20, 21, 21, 18, 21, 13, 17, 21, 25, 24, 24, 25 }; + ]; + LayerSizes[59] = [29, 29, 28, 29, 28, 23, 19, 21, 20, 20, 21, 21, 18, 21, 13, 17, 21, 25, 24, 24, 25]; // Size 60: 483 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_60_483_21.json - Networks[60] = new[] { + Networks[60] = [ 1, 2, 3, 10, 4, 14, 5, 8, 6, 13, 7, 12, 9, 11, 16, 17, 18, 25, 19, 29, 20, 23, 21, 28, 22, 27, 24, 26, 31, 32, 33, 40, 34, 44, 35, 38, 36, 43, 37, 42, 39, 41, 46, 47, 48, 55, 49, 59, 50, 53, 51, 58, 52, 57, 54, 56, 0, 14, 1, 5, @@ -1630,12 +1630,12 @@ static NetworkDatabase() 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 - }; - LayerSizes[60] = new[] { 28, 28, 28, 28, 30, 26, 21, 24, 26, 22, 20, 20, 21, 20, 13, 14, 15, 22, 24, 26, 27 }; + ]; + LayerSizes[60] = [28, 28, 28, 28, 30, 26, 21, 24, 26, 22, 20, 20, 21, 20, 13, 14, 15, 22, 24, 26, 27]; // Size 61: 497 CEs, 22 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_61_497_22.json - Networks[61] = new[] { + Networks[61] = [ 1, 2, 3, 10, 4, 14, 5, 8, 6, 13, 7, 12, 9, 11, 16, 17, 18, 25, 19, 29, 20, 23, 21, 28, 22, 27, 24, 26, 31, 32, 33, 40, 34, 44, 35, 38, 36, 43, 37, 42, 39, 41, 45, 58, 46, 57, 47, 60, 48, 59, 49, 53, 50, 51, 52, 56, 54, 55, 0, 14, @@ -1686,12 +1686,12 @@ static NetworkDatabase() 40, 42, 41, 43, 45, 46, 47, 49, 50, 52, 54, 56, 3, 4, 7, 8, 11, 12, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 51, 52, 55, 56 - }; - LayerSizes[61] = new[] { 29, 29, 29, 29, 29, 24, 20, 24, 26, 22, 20, 19, 19, 19, 16, 19, 20, 20, 21, 19, 23, 21 }; + ]; + LayerSizes[61] = [29, 29, 29, 29, 29, 24, 20, 24, 26, 22, 20, 19, 19, 19, 16, 19, 20, 20, 21, 19, 23, 21]; // Size 62: 506 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_62_506_21.json - Networks[62] = new[] { + Networks[62] = [ 1, 2, 3, 10, 4, 14, 5, 8, 6, 13, 7, 12, 9, 11, 15, 28, 16, 27, 17, 30, 18, 29, 19, 23, 20, 21, 22, 26, 24, 25, 32, 33, 34, 41, 35, 45, 36, 39, 37, 44, 38, 43, 40, 42, 46, 59, 47, 58, 48, 61, 49, 60, 50, 54, 51, 52, 53, 57, 55, 56, @@ -1743,12 +1743,12 @@ static NetworkDatabase() 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 - }; - LayerSizes[62] = new[] { 30, 30, 30, 30, 29, 24, 20, 24, 26, 23, 20, 19, 23, 20, 17, 19, 23, 23, 24, 26, 26 }; + ]; + LayerSizes[62] = [30, 30, 30, 30, 29, 24, 20, 24, 26, 23, 20, 19, 23, 20, 17, 19, 23, 23, 24, 26, 26]; // Size 63: 515 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_63_515_21.json - Networks[63] = new[] { + Networks[63] = [ 1, 2, 3, 10, 4, 14, 5, 8, 6, 13, 7, 12, 9, 11, 15, 28, 16, 27, 17, 30, 18, 29, 19, 23, 20, 21, 22, 26, 24, 25, 31, 44, 32, 43, 33, 46, 34, 45, 35, 39, 36, 37, 38, 42, 40, 41, 47, 60, 48, 59, 49, 62, 50, 61, 51, 55, 52, 53, 54, 58, @@ -1801,12 +1801,12 @@ static NetworkDatabase() 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 - }; - LayerSizes[63] = new[] { 31, 31, 31, 31, 30, 24, 20, 24, 26, 21, 21, 21, 23, 19, 17, 20, 22, 25, 25, 26, 27 }; + ]; + LayerSizes[63] = [31, 31, 31, 31, 30, 24, 20, 24, 26, 21, 21, 21, 23, 19, 17, 20, 22, 25, 25, 26, 27]; // Size 64: 521 CEs, 21 layers // Source: https://github.com/bertdobbelaere/SorterHunter/blob/main/Networks/Sorters/Sort_64_521_21.json - Networks[64] = new[] { + Networks[64] = [ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11, 12, 14, 13, 15, 16, 18, 17, 19, 20, 22, 21, 23, 24, 26, 25, 27, 28, 30, 29, 31, 32, 34, 33, 35, 36, 38, 37, 39, 40, 42, 41, 43, 44, 46, 45, 47, 48, 50, 49, 51, 52, 54, 53, 55, 56, 58, 57, 59, @@ -1860,8 +1860,8 @@ static NetworkDatabase() 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 55, 56, 59, 60 - }; - LayerSizes[64] = new[] { 32, 32, 32, 32, 32, 32, 30, 26, 22, 18, 20, 20, 22, 20, 16, 16, 20, 24, 22, 28, 25 }; + ]; + LayerSizes[64] = [32, 32, 32, 32, 32, 32, 30, 26, 22, 18, 20, 20, 22, 20, 16, 16, 20, 24, 22, 28, 25]; } private static int[] DeriveNetwork27FromNetwork28() diff --git a/SortingNetworks.Generators/ScalarEmitter.cs b/SortingNetworks.Generators/ScalarEmitter.cs index 707a3a0..ce1259a 100644 --- a/SortingNetworks.Generators/ScalarEmitter.cs +++ b/SortingNetworks.Generators/ScalarEmitter.cs @@ -60,13 +60,13 @@ internal static string EmitSortMethod(int size, string typeName, int[] network, internal static string EmitNetworkDataField(int size, int[] network) { var sb = new StringBuilder(); - sb.Append($" private static readonly int[] Network{size} = new int[] {{ "); + sb.Append($" private static readonly int[] Network{size} = ["); for (int i = 0; i < network.Length; i++) { if (i > 0) sb.Append(", "); sb.Append(network[i]); } - sb.AppendLine(" };"); + sb.AppendLine("];"); return sb.ToString(); } diff --git a/SortingNetworks.Tests/SourceGeneratorDriver.cs b/SortingNetworks.Tests/SourceGeneratorDriver.cs index 1428651..097d69d 100644 --- a/SortingNetworks.Tests/SourceGeneratorDriver.cs +++ b/SortingNetworks.Tests/SourceGeneratorDriver.cs @@ -40,7 +40,7 @@ public static CSharpCompilation CreateCompilation(string source, string assembly return CSharpCompilation.Create( assemblyName, - new[] { syntaxTree }, + [syntaxTree], references!, new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary) .WithNullableContextOptions(NullableContextOptions.Enable) @@ -97,7 +97,7 @@ public static GeneratorDriverRunResult RunGenerator(CSharpCompilation compilatio var generator = new SortingNetworkGenerator(); GeneratorDriver driver = CSharpGeneratorDriver.Create( - generators: new[] { generator.AsSourceGenerator() }, + generators: [generator.AsSourceGenerator()], driverOptions: new GeneratorDriverOptions( disabledOutputs: IncrementalGeneratorOutputKind.None, trackIncrementalGeneratorSteps: true)); @@ -115,7 +115,7 @@ public static (GeneratorDriverRunResult result, Compilation updatedCompilation) var generator = new SortingNetworkGenerator(); GeneratorDriver driver = CSharpGeneratorDriver.Create( - generators: new[] { generator.AsSourceGenerator() }, + generators: [generator.AsSourceGenerator()], driverOptions: new GeneratorDriverOptions( disabledOutputs: IncrementalGeneratorOutputKind.None, trackIncrementalGeneratorSteps: true)); @@ -134,7 +134,7 @@ public static GeneratorDriverRunResult RunGeneratorTwice(CSharpCompilation first var generator = new SortingNetworkGenerator(); GeneratorDriver driver = CSharpGeneratorDriver.Create( - generators: new[] { generator.AsSourceGenerator() }, + generators: [generator.AsSourceGenerator()], driverOptions: new GeneratorDriverOptions( disabledOutputs: IncrementalGeneratorOutputKind.None, trackIncrementalGeneratorSteps: true)); diff --git a/samples/SortingNetworks.Sample/Program.cs b/samples/SortingNetworks.Sample/Program.cs index 25143d7..8b2d647 100644 --- a/samples/SortingNetworks.Sample/Program.cs +++ b/samples/SortingNetworks.Sample/Program.cs @@ -1,10 +1,10 @@ using SortingNetworks; -var data = new int[] { +int[] data = [ 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, -}; +]; MySorter.Sort(data); var expected = Enumerable.Range(1, 27).ToArray();