diff --git a/splitter.d b/splitter.d index 12000da..f9d9695 100644 --- a/splitter.d +++ b/splitter.d @@ -19,6 +19,7 @@ import std.string; import std.traits; import std.stdio : stderr; import std.typecons; +import std.utf : byChar; import polyhash; @@ -935,6 +936,49 @@ struct DSplitter } } + // Join together module names. We should not attempt to reduce "import std.stdio" to "import std" (or "import stdio"). + static void postProcessImports(ref Entity[] entities) + { + if (entities.length && entities[0].head.strip == "import" && !entities[0].children.length && !entities[0].tail.length) + foreach (entity; entities[1 .. $]) + { + static void visit(Entity entity) + { + static bool isValidModuleName(string s) { return s.byChar.all!(c => isWordChar(c) || isWhite(c) || c == '.'); } + static bool canBeMerged(Entity entity) + { + return + isValidModuleName(entity.head) && + entity.children.all!(child => canBeMerged(child)) && + isValidModuleName(entity.tail); + } + + if (canBeMerged(entity)) + { + auto root = entity; + // Link all ancestors to the root, and in reverse, therefore making them inextricable. + void link(Entity entity) + { + entity.dependents ~= EntityRef(root); + // root.dependents ~= EntityRef(entity); + foreach (child; entity.children) + link(child); + } + foreach (child; entity.children) + link(child); + } + else + { + foreach (child; entity.children) + visit(child); + } + } + + foreach (child; entity.children) + visit(child); + } + } + static void postProcessDependency(ref Entity[] entities) { if (entities.length < 2) @@ -1155,6 +1199,7 @@ struct DSplitter postProcessRecursive(e.children); postProcessSimplify(entities); + postProcessImports(entities); postProcessTemplates(entities); postProcessDependency(entities); postProcessBlockKeywords(entities); diff --git a/tests/args/progress.txt b/tests/args/progress.txt index def0f59..e5fe269 100644 --- a/tests/args/progress.txt +++ b/tests/args/progress.txt @@ -158,7 +158,7 @@ [90.4%] Remove [000010000] => No [94.2%] Remove [000000110] => No [95.0%] Remove [000000101] => No -[95.4%] Remove [000000100] => No +[95.4%] Remove [000000100] => No (cached) ============= Depth 10 ============= [ 6.7%] Remove [0010111010] => No [11.2%] Remove [0010110101] => No @@ -402,7 +402,7 @@ [88.3%] Remove [000010000] => No [92.8%] Remove [000000110] => No [93.9%] Remove [000000101] => No -[94.4%] Remove [000000100] => No +[94.4%] Remove [000000100] => No (cached) ============= Depth 10 ============= [ 7.6%] Remove [0010111010] => No [12.7%] Remove [0010110101] => No @@ -560,7 +560,7 @@ [85.2%] Unwrap [0000101] => No [87.2%] Remove [0000100] => No [90.8%] Remove [0000010] => No -[92.8%] Remove [0000001] => No +[92.8%] Remove [0000001] => No (cached) [95.9%] Remove [0000000] => No ============= Depth 8 ============= [ 1.0%] Remove [00111010] => No (cached) @@ -597,8 +597,8 @@ [87.7%] Remove [00001000] => No [90.8%] Remove [00000101] => No [91.3%] Remove [00000100] => No -[92.8%] Remove [00000011] => No -[93.8%] Remove [00000010] => No +[92.8%] Remove [00000011] => No (cached) +[93.8%] Remove [00000010] => No (cached) ============= Depth 9 ============= [ 2.0%] Remove [001110000] => No (cached) [ 4.5%] Remove [001100000] => No (cached) @@ -720,4 +720,4 @@ ============= Depth 15 ============= [12.7%] Remove [001011010100000] => No (cached) [17.3%] Remove [001011000100000] => No (cached) -Done in 505 tests +Done in 500 tests diff --git a/tests/args/src.dump b/tests/args/src.dump index dd5e67e..b24fab8 100644 --- a/tests/args/src.dump +++ b/tests/args/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/args/src.json b/tests/args/src.json index da40b52..945fd45 100644 --- a/tests/args/src.json +++ b/tests/args/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/constructs/progress.txt b/tests/constructs/progress.txt index c2cdb21..d334ec8 100644 --- a/tests/constructs/progress.txt +++ b/tests/constructs/progress.txt @@ -26,7 +26,7 @@ [95.1%] Remove [000101] => No [95.1%] Unwrap [000101] => No (cached) [95.3%] Remove [000100] => No -[96.7%] Remove [000011] => No +[96.7%] Remove [000011] => No (cached) [97.2%] Remove [000010] => No ============= Depth 7 ============= [ 0.8%] Remove [0001111] => No @@ -37,7 +37,7 @@ [95.6%] Remove [0001000] => No [96.7%] Remove [0000110] => No [97.2%] Remove [0000101] => No -[97.5%] Remove [0000100] => No +[97.5%] Remove [0000100] => No (cached) ============= Depth 8 ============= [ 1.0%] Remove [00011111] => No [ 4.6%] Remove [00011110] => No @@ -118,7 +118,7 @@ [71.8%] Remove [000101] => No [71.8%] Unwrap [000101] => No (cached) [73.4%] Remove [000100] => No -[81.2%] Remove [000011] => No +[81.2%] Remove [000011] => No (cached) [84.3%] Remove [000010] => No ============= Depth 7 ============= [ 4.6%] Remove [0001111] => No @@ -126,9 +126,9 @@ [51.5%] Remove [0001100] => No (cached) [73.4%] Remove [0001001] => No [75.0%] Remove [0001000] => No -[81.2%] Remove [0000110] => No -[84.3%] Remove [0000101] => No -[85.9%] Remove [0000100] => No +[81.2%] Remove [0000110] => No (cached) +[84.3%] Remove [0000101] => No (cached) +[85.9%] Remove [0000100] => No (cached) ============= Depth 8 ============= [ 4.6%] Remove [00011111] => No [20.3%] Remove [00011110] => No @@ -173,4 +173,4 @@ [39.0%] Remove [0001110000000] => No (cached) [56.2%] Remove [0001100000001] => No (cached) [57.8%] Remove [0001100000000] => No (cached) -Done in 94 tests +Done in 88 tests diff --git a/tests/constructs/src.dump b/tests/constructs/src.dump index a4c947e..bdd18ed 100644 --- a/tests/constructs/src.dump +++ b/tests/constructs/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/constructs/src.json b/tests/constructs/src.json index ff5a162..85d93f8 100644 --- a/tests/constructs/src.json +++ b/tests/constructs/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/empty/src.dump b/tests/empty/src.dump index df5a230..33d8710 100644 --- a/tests/empty/src.dump +++ b/tests/empty/src.dump @@ -30,12 +30,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 22 - ] + [ "std" ] =20 + [ "." /* . */ ] =21 => 22 + ] => 20 21 [ - [ "stdio" ] - ] =22 + [ "stdio" ] =23 + ] =22 => 23 ] ";\n" ] diff --git a/tests/empty/src.json b/tests/empty/src.json index 6f28ba3..1700ab8 100644 --- a/tests/empty/src.json +++ b/tests/empty/src.json @@ -65,23 +65,34 @@ { "children": [ { + "dependents": [ + "19" + ], "head": "std" }, { + "dependents": [ + "19" + ], "label": "21", "tail": "." } - ] + ], + "label": "19" }, { "children": [ { + "dependents": [ + "22" + ], "head": "stdio" } ], "dependents": [ "21" - ] + ], + "label": "22" } ] } diff --git a/tests/emptyset/src.dump b/tests/emptyset/src.dump index df5a230..33d8710 100644 --- a/tests/emptyset/src.dump +++ b/tests/emptyset/src.dump @@ -30,12 +30,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 22 - ] + [ "std" ] =20 + [ "." /* . */ ] =21 => 22 + ] => 20 21 [ - [ "stdio" ] - ] =22 + [ "stdio" ] =23 + ] =22 => 23 ] ";\n" ] diff --git a/tests/emptyset/src.json b/tests/emptyset/src.json index 6f28ba3..1700ab8 100644 --- a/tests/emptyset/src.json +++ b/tests/emptyset/src.json @@ -65,23 +65,34 @@ { "children": [ { + "dependents": [ + "19" + ], "head": "std" }, { + "dependents": [ + "19" + ], "label": "21", "tail": "." } - ] + ], + "label": "19" }, { "children": [ { + "dependents": [ + "22" + ], "head": "stdio" } ], "dependents": [ "21" - ] + ], + "label": "22" } ] } diff --git a/tests/imports-only/progress.txt b/tests/imports-only/progress.txt index c045ae3..cb1f924 100644 --- a/tests/imports-only/progress.txt +++ b/tests/imports-only/progress.txt @@ -20,12 +20,12 @@ ============= Depth 11 ============= [45.4%] Remove [00001000000] => No (cached) ============= Depth 12 ============= -[45.4%] Remove [000010000001] => No -[51.5%] Remove [000010000000] => No +[45.4%] Remove [000010000001] => No (cached) +[51.5%] Remove [000010000000] => No (cached) ============= Depth 13 ============= -[45.4%] Remove [0000100000010] => No -[51.5%] Remove [0000100000001] => No -[54.5%] Remove [0000100000000] => No +[45.4%] Remove [0000100000010] => No (cached) +[51.5%] Remove [0000100000001] => No (cached) +[54.5%] Remove [0000100000000] => No (cached) ############### ITERATION 1 ################ ============= Depth 4 ============= [45.4%] Remove [0000] => No (cached) @@ -51,4 +51,4 @@ [45.4%] Remove [0000100000010] => No (cached) [51.5%] Remove [0000100000001] => No (cached) [54.5%] Remove [0000100000000] => No (cached) -Done in 15 tests +Done in 10 tests diff --git a/tests/imports-only/src.dump b/tests/imports-only/src.dump index 8aa447e..4b4e071 100644 --- a/tests/imports-only/src.dump +++ b/tests/imports-only/src.dump @@ -9,13 +9,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 13 - ] + [ "std" ] =11 + [ "." /* . */ ] =12 => 13 + ] =10 [ - [ "file" ] + [ "file" ] =14 ] =13 - ] + ] => 10 11 12 13 14 [ ", " /* , */ ] => 16 ] [ @@ -23,26 +23,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 23 - ] + [ "std" ] =21 + [ "." /* . */ ] =22 => 23 + ] =20 [ - [ "string" ] + [ "string" ] =24 ] =23 - ] + ] => 20 21 22 23 24 [ ", " /* , */ ] => 26 ] [ [ [ [ - [ "std" ] - [ "." /* . */ ] => 32 - ] + [ "std" ] =30 + [ "." /* . */ ] =31 => 32 + ] =29 [ - [ "stdio" ] + [ "stdio" ] =33 ] =32 - ] + ] => 29 30 31 32 33 [ ", " /* , */ ] => 35 ] ] =26 @@ -55,26 +55,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 43 - ] + [ "std" ] =41 + [ "." /* . */ ] =42 => 43 + ] =40 [ - [ "algorithm" ] + [ "algorithm" ] =44 ] =43 - ] + ] => 40 41 42 43 44 [ ", \n" /* , */ ] => 46 ] [ [ [ [ - [ " std" ] - [ "." /* . */ ] => 52 - ] + [ " std" ] =50 + [ "." /* . */ ] =51 => 52 + ] =49 [ - [ "array" ] + [ "array" ] =53 ] =52 - ] + ] => 49 50 51 52 53 [ ", " /* , */ ] => 55 ] ] =46 @@ -84,26 +84,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 62 - ] + [ "std" ] =60 + [ "." /* . */ ] =61 => 62 + ] =59 [ - [ "range" ] + [ "range" ] =63 ] =62 - ] + ] => 59 60 61 62 63 [ ", " /* , */ ] => 65 ] [ [ [ - [ "std" ] - [ "." /* . */ ] => 70 - ] + [ "std" ] =68 + [ "." /* . */ ] =69 => 70 + ] =67 [ - [ "process" ] + [ "process" ] =71 ] =70 - ] - ] =65 + ] =66 + ] =65 => 66 67 68 69 70 71 ] ] =55 ] diff --git a/tests/imports-only/src.json b/tests/imports-only/src.json index 115a67f..ab624bb 100644 --- a/tests/imports-only/src.json +++ b/tests/imports-only/src.json @@ -21,25 +21,39 @@ { "children": [ { + "dependents": [ + "9" + ], "head": "std" }, { + "dependents": [ + "9" + ], "label": "12", "tail": "." } + ], + "dependents": [ + "9" ] }, { "children": [ { + "dependents": [ + "9" + ], "head": "file" } ], "dependents": [ - "12" + "12", + "9" ] } - ] + ], + "label": "9" }, { "label": "15", @@ -58,25 +72,39 @@ { "children": [ { + "dependents": [ + "19" + ], "head": "std" }, { + "dependents": [ + "19" + ], "label": "22", "tail": "." } + ], + "dependents": [ + "19" ] }, { "children": [ { + "dependents": [ + "19" + ], "head": "string" } ], "dependents": [ - "22" + "22", + "19" ] } - ] + ], + "label": "19" }, { "label": "25", @@ -93,25 +121,39 @@ { "children": [ { + "dependents": [ + "28" + ], "head": "std" }, { + "dependents": [ + "28" + ], "label": "31", "tail": "." } + ], + "dependents": [ + "28" ] }, { "children": [ { + "dependents": [ + "28" + ], "head": "stdio" } ], "dependents": [ - "31" + "31", + "28" ] } - ] + ], + "label": "28" }, { "label": "34", @@ -146,25 +188,39 @@ { "children": [ { + "dependents": [ + "39" + ], "head": "std" }, { + "dependents": [ + "39" + ], "label": "42", "tail": "." } + ], + "dependents": [ + "39" ] }, { "children": [ { + "dependents": [ + "39" + ], "head": "algorithm" } ], "dependents": [ - "42" + "42", + "39" ] } - ] + ], + "label": "39" }, { "label": "45", @@ -181,25 +237,39 @@ { "children": [ { + "dependents": [ + "48" + ], "head": "\tstd" }, { + "dependents": [ + "48" + ], "label": "51", "tail": "." } + ], + "dependents": [ + "48" ] }, { "children": [ { + "dependents": [ + "48" + ], "head": "array" } ], "dependents": [ - "51" + "51", + "48" ] } - ] + ], + "label": "48" }, { "label": "54", @@ -225,25 +295,39 @@ { "children": [ { + "dependents": [ + "58" + ], "head": "std" }, { + "dependents": [ + "58" + ], "label": "61", "tail": "." } + ], + "dependents": [ + "58" ] }, { "children": [ { + "dependents": [ + "58" + ], "head": "range" } ], "dependents": [ - "61" + "61", + "58" ] } - ] + ], + "label": "58" }, { "label": "64", @@ -258,30 +342,47 @@ { "children": [ { + "dependents": [ + "65" + ], "head": "std" }, { + "dependents": [ + "65" + ], "label": "69", "tail": "." } + ], + "dependents": [ + "65" ] }, { "children": [ { + "dependents": [ + "65" + ], "head": "process" } ], "dependents": [ - "69" + "69", + "65" ] } + ], + "dependents": [ + "65" ] } ], "dependents": [ "64" - ] + ], + "label": "65" } ] } diff --git a/tests/imports/progress.txt b/tests/imports/progress.txt index 73e2cd2..1b56b0f 100644 --- a/tests/imports/progress.txt +++ b/tests/imports/progress.txt @@ -47,12 +47,12 @@ ============= Depth 11 ============= [45.4%] Remove [00001000000] => No (cached) ============= Depth 12 ============= -[45.4%] Remove [000010000001] => No -[51.5%] Remove [000010000000] => No +[45.4%] Remove [000010000001] => No (cached) +[51.5%] Remove [000010000000] => No (cached) ============= Depth 13 ============= -[45.4%] Remove [0000100000010] => No -[51.5%] Remove [0000100000001] => No -[54.5%] Remove [0000100000000] => No +[45.4%] Remove [0000100000010] => No (cached) +[51.5%] Remove [0000100000001] => No (cached) +[54.5%] Remove [0000100000000] => No (cached) ############### ITERATION 1 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) @@ -105,4 +105,4 @@ [45.4%] Remove [0000100000010] => No (cached) [51.5%] Remove [0000100000001] => No (cached) [54.5%] Remove [0000100000000] => No (cached) -Done in 46 tests +Done in 41 tests diff --git a/tests/imports/src.dump b/tests/imports/src.dump index 99682b9..ece9dec 100644 --- a/tests/imports/src.dump +++ b/tests/imports/src.dump @@ -9,13 +9,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 13 - ] + [ "std" ] =11 + [ "." /* . */ ] =12 => 13 + ] =10 [ - [ "file" ] + [ "file" ] =14 ] =13 - ] + ] => 10 11 12 13 14 [ ", " /* , */ ] => 16 ] [ @@ -23,26 +23,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 23 - ] + [ "std" ] =21 + [ "." /* . */ ] =22 => 23 + ] =20 [ - [ "string" ] + [ "string" ] =24 ] =23 - ] + ] => 20 21 22 23 24 [ ", " /* , */ ] => 26 ] [ [ [ [ - [ "std" ] - [ "." /* . */ ] => 32 - ] + [ "std" ] =30 + [ "." /* . */ ] =31 => 32 + ] =29 [ - [ "stdio" ] + [ "stdio" ] =33 ] =32 - ] + ] => 29 30 31 32 33 [ ", " /* , */ ] => 35 ] ] =26 @@ -55,26 +55,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 43 - ] + [ "std" ] =41 + [ "." /* . */ ] =42 => 43 + ] =40 [ - [ "algorithm" ] + [ "algorithm" ] =44 ] =43 - ] + ] => 40 41 42 43 44 [ ", \n" /* , */ ] => 46 ] [ [ [ [ - [ " std" ] - [ "." /* . */ ] => 52 - ] + [ " std" ] =50 + [ "." /* . */ ] =51 => 52 + ] =49 [ - [ "array" ] + [ "array" ] =53 ] =52 - ] + ] => 49 50 51 52 53 [ ", " /* , */ ] => 55 ] ] =46 @@ -84,26 +84,26 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 62 - ] + [ "std" ] =60 + [ "." /* . */ ] =61 => 62 + ] =59 [ - [ "range" ] + [ "range" ] =63 ] =62 - ] + ] => 59 60 61 62 63 [ ", " /* , */ ] => 65 ] [ [ [ - [ "std" ] - [ "." /* . */ ] => 70 - ] + [ "std" ] =68 + [ "." /* . */ ] =69 => 70 + ] =67 [ - [ "process" ] + [ "process" ] =71 ] =70 - ] - ] =65 + ] =66 + ] =65 => 66 67 68 69 70 71 ] ] =55 ] diff --git a/tests/imports/src.json b/tests/imports/src.json index 0c58924..3cc650c 100644 --- a/tests/imports/src.json +++ b/tests/imports/src.json @@ -21,25 +21,39 @@ { "children": [ { + "dependents": [ + "9" + ], "head": "std" }, { + "dependents": [ + "9" + ], "label": "12", "tail": "." } + ], + "dependents": [ + "9" ] }, { "children": [ { + "dependents": [ + "9" + ], "head": "file" } ], "dependents": [ - "12" + "12", + "9" ] } - ] + ], + "label": "9" }, { "label": "15", @@ -58,25 +72,39 @@ { "children": [ { + "dependents": [ + "19" + ], "head": "std" }, { + "dependents": [ + "19" + ], "label": "22", "tail": "." } + ], + "dependents": [ + "19" ] }, { "children": [ { + "dependents": [ + "19" + ], "head": "string" } ], "dependents": [ - "22" + "22", + "19" ] } - ] + ], + "label": "19" }, { "label": "25", @@ -93,25 +121,39 @@ { "children": [ { + "dependents": [ + "28" + ], "head": "std" }, { + "dependents": [ + "28" + ], "label": "31", "tail": "." } + ], + "dependents": [ + "28" ] }, { "children": [ { + "dependents": [ + "28" + ], "head": "stdio" } ], "dependents": [ - "31" + "31", + "28" ] } - ] + ], + "label": "28" }, { "label": "34", @@ -146,25 +188,39 @@ { "children": [ { + "dependents": [ + "39" + ], "head": "std" }, { + "dependents": [ + "39" + ], "label": "42", "tail": "." } + ], + "dependents": [ + "39" ] }, { "children": [ { + "dependents": [ + "39" + ], "head": "algorithm" } ], "dependents": [ - "42" + "42", + "39" ] } - ] + ], + "label": "39" }, { "label": "45", @@ -181,25 +237,39 @@ { "children": [ { + "dependents": [ + "48" + ], "head": "\tstd" }, { + "dependents": [ + "48" + ], "label": "51", "tail": "." } + ], + "dependents": [ + "48" ] }, { "children": [ { + "dependents": [ + "48" + ], "head": "array" } ], "dependents": [ - "51" + "51", + "48" ] } - ] + ], + "label": "48" }, { "label": "54", @@ -225,25 +295,39 @@ { "children": [ { + "dependents": [ + "58" + ], "head": "std" }, { + "dependents": [ + "58" + ], "label": "61", "tail": "." } + ], + "dependents": [ + "58" ] }, { "children": [ { + "dependents": [ + "58" + ], "head": "range" } ], "dependents": [ - "61" + "61", + "58" ] } - ] + ], + "label": "58" }, { "label": "64", @@ -258,30 +342,47 @@ { "children": [ { + "dependents": [ + "65" + ], "head": "std" }, { + "dependents": [ + "65" + ], "label": "69", "tail": "." } + ], + "dependents": [ + "65" ] }, { "children": [ { + "dependents": [ + "65" + ], "head": "process" } ], "dependents": [ - "69" + "69", + "65" ] } + ], + "dependents": [ + "65" ] } ], "dependents": [ "64" - ] + ], + "label": "65" } ] } diff --git a/tests/merge-args/progress.txt b/tests/merge-args/progress.txt index 4e8f0d9..c57dcd9 100644 --- a/tests/merge-args/progress.txt +++ b/tests/merge-args/progress.txt @@ -148,7 +148,7 @@ [36.0%] Remove [1111111001] => No [36.0%] Unwrap [1111111001] => No (cached) [36.2%] Remove [1111111000] => No -[37.7%] Remove [1111110011] => No +[37.7%] Remove [1111110011] => No (cached) [38.1%] Remove [1111110010] => No [40.3%] Remove [1111101001] => No [40.6%] Remove [1111101000] => No @@ -198,9 +198,9 @@ [27.2%] Remove [11111110100] => No [36.2%] Remove [11111110001] => No [36.4%] Remove [11111110000] => No -[37.7%] Remove [11111100110] => No -[38.1%] Remove [11111100101] => No -[38.4%] Remove [11111100100] => No +[37.7%] Remove [11111100110] => No (cached) +[38.1%] Remove [11111100101] => No (cached) +[38.4%] Remove [11111100100] => No (cached) [41.6%] Remove [11111000100] => No [43.5%] Remove [11111000010] => No [47.9%] Remove [11111000001] => No @@ -598,7 +598,7 @@ [37.9%] Remove [0001111001] => No [37.9%] Unwrap [0001111001] => No (cached) [38.2%] Remove [0001111000] => No -[39.7%] Remove [0001110011] => No +[39.7%] Remove [0001110011] => No (cached) [40.2%] Remove [0001110010] => No [42.5%] Remove [0001101001] => No [42.8%] Remove [0001101000] => No (cached) @@ -648,9 +648,9 @@ [28.7%] Remove [00011110100] => No [38.2%] Remove [00011110001] => No [38.4%] Remove [00011110000] => No -[39.7%] Remove [00011100110] => No -[40.2%] Remove [00011100101] => No -[40.5%] Remove [00011100100] => No +[39.7%] Remove [00011100110] => No (cached) +[40.2%] Remove [00011100101] => No (cached) +[40.5%] Remove [00011100100] => No (cached) [43.8%] Remove [00011000100] => No [45.8%] Remove [00011000010] => No (cached) [50.0%] Remove [00011000001] => No @@ -1362,4 +1362,4 @@ [29.2%] Remove [00011110100101010010] => No (cached) [29.7%] Remove [00011110100101010001] => No (cached) [30.0%] Remove [00011110100101010000] => No (cached) -Done in 755 tests +Done in 747 tests diff --git a/tests/merge-args/src.dump b/tests/merge-args/src.dump index b75d288..7ade416 100644 --- a/tests/merge-args/src.dump +++ b/tests/merge-args/src.dump @@ -427,12 +427,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 248 - ] + [ "std" ] =246 + [ "." /* . */ ] =247 => 248 + ] => 246 247 [ - [ "stdio" ] - ] =248 + [ "stdio" ] =249 + ] =248 => 249 ] ";\n\n" ] @@ -480,8 +480,8 @@ [ ", " /* , */ ] => 281 ] [ - [ "common" ] - ] =281 + [ "common" ] =282 + ] =281 => 282 ] ] =276 ] diff --git a/tests/merge-args/src.json b/tests/merge-args/src.json index 10d66e4..4baef1d 100644 --- a/tests/merge-args/src.json +++ b/tests/merge-args/src.json @@ -1018,23 +1018,34 @@ { "children": [ { + "dependents": [ + "245" + ], "head": "std" }, { + "dependents": [ + "245" + ], "label": "247", "tail": "." } - ] + ], + "label": "245" }, { "children": [ { + "dependents": [ + "248" + ], "head": "stdio" } ], "dependents": [ "247" - ] + ], + "label": "248" } ] } @@ -1158,12 +1169,16 @@ { "children": [ { + "dependents": [ + "281" + ], "head": "common" } ], "dependents": [ "280" - ] + ], + "label": "281" } ] } diff --git a/tests/merge/progress.txt b/tests/merge/progress.txt index 41f36c2..3071445 100644 --- a/tests/merge/progress.txt +++ b/tests/merge/progress.txt @@ -187,15 +187,13 @@ [36.3%] Remove [0101001100] => Yes [39.7%] Remove [0101001001] => No [40.0%] Remove [0101001000] => No -[41.1%] Remove [0101000110] => No -[42.9%] Remove [0101000101] => No +[41.1%] Remove [0101000110] => Yes [43.2%] Remove [0101000100] => No [45.3%] Remove [0100001101] => No [46.6%] Remove [0100001100] => Yes [50.3%] Remove [0100001001] => No [50.6%] Remove [0100001000] => No -[51.7%] Remove [0100000110] => No -[53.5%] Remove [0100000101] => No +[51.7%] Remove [0100000110] => Yes [53.8%] Remove [0100000100] => No [56.7%] Remove [0010001101] => No [62.8%] Remove [0010001100] => Yes @@ -217,214 +215,200 @@ [95.2%] Remove [0000000101] => No [95.4%] Remove [0000000100] => No ============= Depth 11 ============= -[ 5.1%] Remove [01110011110] => No -[ 8.5%] Remove [01110011101] => No -[ 9.8%] Remove [01110011100] => No -[11.9%] Remove [01110011011] => No -[13.3%] Remove [01110011010] => No -[15.0%] Remove [01110011001] => No -[16.3%] Remove [01110011000] => Yes -[20.8%] Remove [01110001101] => No -[24.9%] Remove [01110001100] => No -[28.3%] Remove [01110001010] => No -[31.3%] Remove [01110001001] => No -[32.7%] Remove [01110001000] => No -[36.5%] Remove [01100011000] => No -[43.6%] Remove [01010011000] => No -[47.7%] Remove [01010001101] => No -[48.4%] Remove [01010001100] => No -[53.2%] Remove [01000011000] => No -[57.3%] Remove [01000001101] => No -[58.0%] Remove [01000001100] => No -[63.8%] Remove [00100011001] => No -[64.8%] Remove [00100011000] => Yes -[74.4%] Remove [00100001101] => No -[75.0%] Remove [00100001100] => No -[80.2%] Remove [00010011000] => No -[86.3%] Remove [00000011101] => Yes -[86.6%] Remove [00000011100] => No -[87.7%] Remove [00000011000] => No -[91.4%] Remove [00000001101] => No -[92.1%] Remove [00000001100] => No -[94.1%] Remove [00000001001] => No -[94.8%] Remove [00000001000] => No +[ 5.4%] Remove [01110011110] => No +[ 9.0%] Remove [01110011101] => No +[10.4%] Remove [01110011100] => No +[12.6%] Remove [01110011011] => No +[14.0%] Remove [01110011010] => No +[15.8%] Remove [01110011001] => No +[17.3%] Remove [01110011000] => Yes +[22.0%] Remove [01110001101] => No +[26.3%] Remove [01110001100] => No +[29.9%] Remove [01110001010] => No +[33.2%] Remove [01110001001] => No +[34.6%] Remove [01110001000] => No +[38.6%] Remove [01100011000] => No +[46.2%] Remove [01010011000] => No +[53.4%] Remove [01000011000] => No +[61.7%] Remove [00100011001] => No +[62.8%] Remove [00100011000] => Yes +[72.9%] Remove [00100001101] => Yes +[79.0%] Remove [00010011000] => No +[85.5%] Remove [00000011101] => Yes +[85.9%] Remove [00000011100] => No +[87.0%] Remove [00000011000] => No +[90.9%] Remove [00000001101] => No +[91.6%] Remove [00000001100] => No +[93.8%] Remove [00000001001] => No +[94.5%] Remove [00000001000] => No (cached) ============= Depth 12 ============= -[ 5.5%] Remove [011100111101] => No -[ 5.5%] Unwrap [011100111101] => No -[ 8.1%] Remove [011100111100] => No -[ 9.2%] Remove [011100111010] => No -[10.7%] Remove [011100111000] => No -[13.0%] Remove [011100110110] => No -[14.4%] Remove [011100110100] => No -[16.3%] Remove [011100110000] => No -[21.1%] Remove [011100011010] => No -[25.6%] Remove [011100011001] => No -[27.1%] Remove [011100011000] => No -[29.3%] Remove [011100010101] => No -[30.8%] Remove [011100010100] => Yes -[32.7%] Remove [011100010010] => No -[34.2%] Remove [011100010001] => No -[34.5%] Remove [011100010000] => No -[38.2%] Remove [011000110000] => No -[46.0%] Remove [010100110000] => No -[50.5%] Remove [010100011010] => No -[51.3%] Remove [010100011001] => No -[51.6%] Remove [010100011000] => No -[56.5%] Remove [010000110000] => No -[60.9%] Remove [010000011010] => No -[61.7%] Remove [010000011001] => No -[62.0%] Remove [010000011000] => No -[68.0%] Remove [001000110000] => No -[72.4%] Remove [001000011010] => No -[73.2%] Remove [001000011001] => No -[73.6%] Remove [001000011000] => No -[86.6%] Remove [000000110000] => No -[90.7%] Remove [000000011010] => No -[91.4%] Remove [000000011001] => No -[91.8%] Remove [000000011000] => No -[93.6%] Remove [000000010010] => No -[94.4%] Remove [000000010001] => No -[94.7%] Remove [000000010000] => No +[ 6.1%] Remove [011100111101] => No +[ 6.1%] Unwrap [011100111101] => No +[ 8.9%] Remove [011100111100] => No +[10.2%] Remove [011100111010] => No +[11.8%] Remove [011100111000] => No +[14.2%] Remove [011100110110] => No +[15.9%] Remove [011100110100] => No +[17.9%] Remove [011100110000] => No +[23.2%] Remove [011100011010] => No +[28.1%] Remove [011100011001] => No +[29.7%] Remove [011100011000] => No +[32.2%] Remove [011100010101] => No +[33.8%] Remove [011100010100] => Yes +[35.9%] Remove [011100010010] => No +[37.5%] Remove [011100010001] => No +[37.9%] Remove [011100010000] => No +[42.0%] Remove [011000110000] => No +[50.6%] Remove [010100110000] => No +[58.7%] Remove [010000110000] => No +[68.1%] Remove [001000110000] => No +[85.3%] Remove [000000110000] => No +[89.7%] Remove [000000011010] => No +[90.6%] Remove [000000011001] => No +[91.0%] Remove [000000011000] => No +[93.0%] Remove [000000010010] => No +[93.8%] Remove [000000010001] => No (cached) +[94.2%] Remove [000000010000] => No (cached) ============= Depth 13 ============= -[ 5.6%] Remove [0111001111010] => No -[ 9.3%] Remove [0111001110101] => Yes -[ 9.7%] Remove [0111001110100] => No -[10.9%] Remove [0111001110001] => Yes -[11.2%] Remove [0111001110000] => No -[13.1%] Remove [0111001101101] => Yes -[13.5%] Remove [0111001101100] => No -[14.6%] Remove [0111001101001] => Yes -[15.0%] Remove [0111001101000] => No -[16.5%] Remove [0111001100001] => Yes -[16.9%] Remove [0111001100000] => No -[21.4%] Remove [0111000110101] => No -[22.1%] Remove [0111000110100] => No -[25.9%] Remove [0111000110010] => No -[27.4%] Remove [0111000110001] => No -[27.8%] Remove [0111000110000] => No -[29.6%] Remove [0111000101000] => No -[31.9%] Remove [0111000100101] => No -[32.3%] Remove [0111000100100] => No -[37.5%] Remove [0110001100000] => No -[45.4%] Remove [0101001100000] => No -[56.0%] Remove [0100001100000] => No -[67.6%] Remove [0010001100000] => No +[ 6.1%] Remove [0111001111010] => No +[10.3%] Remove [0111001110101] => Yes +[10.7%] Remove [0111001110100] => No +[11.9%] Remove [0111001110001] => Yes +[12.3%] Remove [0111001110000] => No +[14.4%] Remove [0111001101101] => Yes +[14.8%] Remove [0111001101100] => No +[16.1%] Remove [0111001101001] => Yes +[16.5%] Remove [0111001101000] => No +[18.1%] Remove [0111001100001] => Yes +[18.5%] Remove [0111001100000] => No +[23.5%] Remove [0111000110101] => No +[24.3%] Remove [0111000110100] => No +[28.5%] Remove [0111000110010] => No +[30.1%] Remove [0111000110001] => No +[30.5%] Remove [0111000110000] => No +[32.6%] Remove [0111000101000] => No +[35.1%] Remove [0111000100101] => No +[35.5%] Remove [0111000100100] => No +[41.3%] Remove [0110001100000] => No +[50.0%] Remove [0101001100000] => No +[58.2%] Remove [0100001100000] => No +[67.7%] Remove [0010001100000] => No ============= Depth 14 ============= -[ 5.7%] Remove [01110011110101] => No -[ 6.5%] Remove [01110011110100] => No -[19.9%] Remove [01110001101010] => No -[20.6%] Remove [01110001101001] => No -[21.0%] Remove [01110001101000] => No -[24.5%] Remove [01110001100101] => No -[24.9%] Remove [01110001100100] => No -[28.3%] Remove [01110001010001] => No -[28.7%] Remove [01110001010000] => No +[ 6.3%] Remove [01110011110101] => No +[ 7.1%] Remove [01110011110100] => No +[21.9%] Remove [01110001101010] => No (cached) +[22.7%] Remove [01110001101001] => No +[23.2%] Remove [01110001101000] => No +[27.0%] Remove [01110001100101] => No +[27.4%] Remove [01110001100100] => No +[31.2%] Remove [01110001010001] => No +[31.6%] Remove [01110001010000] => No ============= Depth 15 ============= -[ 5.7%] Remove [011100111101010] => No -[ 6.5%] Remove [011100111101001] => No -[ 6.8%] Remove [011100111101000] => No -[21.0%] Remove [011100011010001] => No -[21.8%] Remove [011100011010000] => No +[ 6.3%] Remove [011100111101010] => No +[ 7.1%] Remove [011100111101001] => No +[ 7.5%] Remove [011100111101000] => No +[23.2%] Remove [011100011010001] => No (cached) +[24.0%] Remove [011100011010000] => No (cached) ============= Depth 16 ============= -[21.0%] Remove [0111000110100010] => No -[21.8%] Remove [0111000110100001] => No -[22.2%] Remove [0111000110100000] => No +[23.2%] Remove [0111000110100010] => No (cached) +[24.0%] Remove [0111000110100001] => No (cached) +[24.4%] Remove [0111000110100000] => No (cached) ############### ITERATION 1 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) ============= Depth 1 ============= [ 0.0%] Remove [1] => No [ 0.0%] Concat [1] => No -[ 4.5%] Remove [0] => No +[ 5.0%] Remove [0] => No ============= Depth 2 ============= [ 0.0%] Remove [10] => No -[ 4.5%] Remove [01] => No +[ 5.0%] Remove [01] => No [66.6%] Remove [00] => No ============= Depth 3 ============= [ 0.0%] Remove [100] => No (cached) -[ 4.5%] Remove [011] => No -[44.4%] Remove [010] => No +[ 5.0%] Remove [011] => No +[48.9%] Remove [010] => No [66.6%] Remove [001] => No -[78.1%] Remove [000] => No +[75.9%] Remove [000] => No ============= Depth 4 ============= [ 0.0%] Remove [1000] => No (cached) -[ 4.5%] Remove [0111] => No -[ 4.5%] Concat [0111] => Yes +[ 5.0%] Remove [0111] => No +[ 5.0%] Concat [0111] => Yes ############### ITERATION 2 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) ============= Depth 1 ============= [ 0.0%] Remove [1] => No [ 0.0%] Concat [1] => N/A -[ 0.3%] Remove [0] => No +[ 0.4%] Remove [0] => No ============= Depth 2 ============= -[ 0.3%] Remove [01] => No -[96.6%] Remove [00] => No +[ 0.4%] Remove [01] => No +[96.2%] Remove [00] => No ============= Depth 3 ============= -[ 0.3%] Remove [011] => No -[95.1%] Remove [010] => No -[96.6%] Remove [001] => No -[97.7%] Remove [000] => No +[ 0.4%] Remove [011] => No +[94.6%] Remove [010] => No +[96.2%] Remove [001] => No +[97.5%] Remove [000] => No ============= Depth 4 ============= -[ 0.3%] Remove [0111] => No -[ 0.3%] Concat [0111] => N/A -[94.3%] Remove [0110] => No -[94.3%] Concat [0110] => N/A -[95.1%] Remove [0101] => No -[95.1%] Concat [0101] => N/A -[95.5%] Remove [0100] => No -[95.5%] Concat [0100] => N/A -[96.6%] Remove [0011] => Yes -[97.0%] Remove [0010] => No (cached) -[97.0%] Concat [0010] => N/A -[97.7%] Remove [0001] => No -[97.7%] Concat [0001] => N/A -[98.1%] Remove [0000] => No -[98.1%] Concat [0000] => N/A +[ 0.4%] Remove [0111] => No +[ 0.4%] Concat [0111] => N/A +[93.8%] Remove [0110] => No +[93.8%] Concat [0110] => N/A +[94.6%] Remove [0101] => No +[94.6%] Concat [0101] => N/A +[95.0%] Remove [0100] => No +[95.0%] Concat [0100] => N/A +[96.2%] Remove [0011] => Yes +[96.7%] Remove [0010] => No (cached) +[96.7%] Concat [0010] => N/A +[97.5%] Remove [0001] => No +[97.5%] Concat [0001] => N/A +[97.9%] Remove [0000] => No +[97.9%] Concat [0000] => N/A ============= Depth 5 ============= -[ 0.3%] Remove [01111] => No -[53.7%] Remove [01110] => No +[ 0.4%] Remove [01111] => No +[55.7%] Remove [01110] => No ============= Depth 6 ============= -[ 0.3%] Remove [011111] => No -[35.7%] Remove [011110] => No -[53.7%] Remove [011101] => No -[74.4%] Remove [011100] => No +[ 0.4%] Remove [011111] => No +[39.2%] Remove [011110] => No +[55.7%] Remove [011101] => No +[71.9%] Remove [011100] => No ============= Depth 7 ============= -[ 0.3%] Remove [0111111] => No -[ 4.5%] Remove [0111110] => No -[35.7%] Remove [0111101] => No -[42.8%] Remove [0111100] => No -[53.7%] Remove [0111011] => No -[63.9%] Remove [0111010] => No -[74.4%] Remove [0111001] => No -[80.8%] Remove [0111000] => No +[ 0.4%] Remove [0111111] => No +[ 4.9%] Remove [0111110] => No +[39.2%] Remove [0111101] => No +[47.1%] Remove [0111100] => No +[55.7%] Remove [0111011] => No +[63.6%] Remove [0111010] => No +[71.9%] Remove [0111001] => No +[78.9%] Remove [0111000] => No ============= Depth 8 ============= -[ 0.3%] Remove [01111110] => No (cached) -[ 4.5%] Remove [01111101] => No -[ 5.6%] Remove [01111100] => No (cached) -[35.7%] Remove [01111010] => No (cached) -[42.8%] Remove [01111000] => No (cached) -[53.7%] Remove [01110110] => No (cached) -[63.9%] Remove [01110100] => No (cached) -[74.4%] Remove [01110010] => No (cached) -[80.8%] Remove [01110000] => No (cached) +[ 0.4%] Remove [01111110] => No (cached) +[ 4.9%] Remove [01111101] => No +[ 6.1%] Remove [01111100] => No (cached) +[39.2%] Remove [01111010] => No (cached) +[47.1%] Remove [01111000] => No (cached) +[55.7%] Remove [01110110] => No (cached) +[63.6%] Remove [01110100] => No (cached) +[71.9%] Remove [01110010] => No (cached) +[78.9%] Remove [01110000] => No (cached) ============= Depth 9 ============= -[ 0.3%] Remove [011111100] => No (cached) -[ 4.5%] Remove [011111010] => No (cached) -[ 5.6%] Remove [011111001] => No -[19.5%] Remove [011111000] => Yes -[35.7%] Remove [011110101] => No -[40.2%] Remove [011110100] => Yes -[42.8%] Remove [011110001] => No -[47.3%] Remove [011110000] => Yes -[53.7%] Remove [011101101] => No -[58.2%] Remove [011101100] => Yes -[63.9%] Remove [011101001] => No -[68.4%] Remove [011101000] => Yes -[74.4%] Remove [011100101] => No -[78.1%] Remove [011100100] => Yes -[80.8%] Remove [011100001] => No -[86.0%] Remove [011100000] => No +[ 0.4%] Remove [011111100] => No (cached) +[ 4.9%] Remove [011111010] => No (cached) +[ 6.1%] Remove [011111001] => No +[21.4%] Remove [011111000] => Yes +[39.2%] Remove [011110101] => No +[44.2%] Remove [011110100] => Yes +[47.1%] Remove [011110001] => No +[52.0%] Remove [011110000] => Yes +[55.7%] Remove [011101101] => No +[60.7%] Remove [011101100] => Yes +[63.6%] Remove [011101001] => No +[68.5%] Remove [011101000] => Yes +[71.9%] Remove [011100101] => No +[76.0%] Remove [011100100] => Yes +[78.9%] Remove [011100001] => No +[84.7%] Remove [011100000] => No ============= Depth 10 ============= [ 0.5%] Remove [0111111000] => No [ 6.7%] Remove [0111110100] => No @@ -532,8 +516,8 @@ [67.4%] Remove [0111001001000] => No [74.5%] Remove [0111000011100] => No (cached) [76.3%] Remove [0111000011000] => No -[82.8%] Remove [0111000001001] => No -[84.0%] Remove [0111000001000] => No +[82.8%] Remove [0111000001001] => No (cached) +[84.0%] Remove [0111000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [01111100011101] => No [ 8.8%] Unwrap [01111100011101] => No @@ -548,9 +532,9 @@ [50.2%] Remove [01110110010000] => No [58.5%] Remove [01110100010000] => No [76.3%] Remove [01110000110000] => No -[82.8%] Remove [01110000010010] => No -[84.0%] Remove [01110000010001] => No -[84.6%] Remove [01110000010000] => No +[82.8%] Remove [01110000010010] => No (cached) +[84.0%] Remove [01110000010001] => No (cached) +[84.6%] Remove [01110000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [011111000111010] => No [14.7%] Remove [011111000110100] => No (cached) @@ -729,8 +713,8 @@ [71.5%] Remove [0000001001000] => No [79.1%] Remove [0000000011100] => No (cached) [81.0%] Remove [0000000011000] => No -[87.9%] Remove [0000000001001] => No -[89.2%] Remove [0000000001000] => No +[87.9%] Remove [0000000001001] => No (cached) +[89.2%] Remove [0000000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [00001100011101] => No [ 8.8%] Unwrap [00001100011101] => No @@ -745,9 +729,9 @@ [53.1%] Remove [00000110010000] => No [62.0%] Remove [00000100010000] => No [81.0%] Remove [00000000110000] => No -[87.9%] Remove [00000000010010] => No -[89.2%] Remove [00000000010001] => No -[89.8%] Remove [00000000010000] => No +[87.9%] Remove [00000000010010] => No (cached) +[89.2%] Remove [00000000010001] => No (cached) +[89.8%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [000011000111010] => No (cached) [15.1%] Remove [000011000110100] => No (cached) @@ -959,4 +943,4 @@ [ 8.8%] Remove [00001100011101010] => No (cached) [10.1%] Remove [00001100011101001] => No (cached) [10.7%] Remove [00001100011101000] => No (cached) -Done in 606 tests +Done in 571 tests diff --git a/tests/merge/src.dump b/tests/merge/src.dump index 9b542d0..044a85e 100644 --- a/tests/merge/src.dump +++ b/tests/merge/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/merge/src.json b/tests/merge/src.json index c4b0f03..615303b 100644 --- a/tests/merge/src.json +++ b/tests/merge/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/noreduce/progress.txt b/tests/noreduce/progress.txt index d1055cd..d572ce0 100644 --- a/tests/noreduce/progress.txt +++ b/tests/noreduce/progress.txt @@ -20,9 +20,9 @@ [24.2%] Remove [0001100] => No [48.4%] Remove [0001001] => No [51.5%] Remove [0001000] => No -[63.6%] Remove [0000110] => No -[69.6%] Remove [0000101] => No -[72.7%] Remove [0000100] => No +[63.6%] Remove [0000110] => No (cached) +[69.6%] Remove [0000101] => No (cached) +[72.7%] Remove [0000100] => No (cached) ============= Depth 8 ============= [24.2%] Remove [00011000] => No ============= Depth 9 ============= @@ -40,7 +40,7 @@ ============= Depth 5 ============= [ 0.0%] Remove [00100] => No (cached) [45.4%] Remove [00010] => No -[63.6%] Remove [00001] => No +[63.6%] Remove [00001] => No (cached) [81.8%] Remove [00000] => No ============= Depth 6 ============= [45.4%] Remove [000101] => No (cached) @@ -63,4 +63,4 @@ [30.3%] Remove [000110000] => No (cached) ============= Depth 10 ============= [24.2%] Remove [0001100010] => No (cached) -Done in 26 tests +Done in 22 tests diff --git a/tests/noreduce/src.dump b/tests/noreduce/src.dump index 096c20d..f5163c1 100644 --- a/tests/noreduce/src.dump +++ b/tests/noreduce/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/noreduce/src.json b/tests/noreduce/src.json index 0a0a73b..d02bb17 100644 --- a/tests/noreduce/src.json +++ b/tests/noreduce/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/noremove/progress.txt b/tests/noremove/progress.txt index 4be48a4..d0b3e3a 100644 --- a/tests/noremove/progress.txt +++ b/tests/noremove/progress.txt @@ -16,9 +16,9 @@ [24.2%] Remove [0001100] => No [48.4%] Remove [0001001] => No [51.5%] Remove [0001000] => No -[63.6%] Remove [0000110] => No -[69.6%] Remove [0000101] => No -[72.7%] Remove [0000100] => No +[63.6%] Remove [0000110] => No (cached) +[69.6%] Remove [0000101] => No (cached) +[72.7%] Remove [0000100] => No (cached) ============= Depth 8 ============= [24.2%] Remove [00011000] => No ============= Depth 9 ============= @@ -33,7 +33,7 @@ [63.6%] Remove [0000] => No ============= Depth 5 ============= [45.4%] Remove [00010] => No -[63.6%] Remove [00001] => No +[63.6%] Remove [00001] => No (cached) [81.8%] Remove [00000] => No ============= Depth 6 ============= [45.4%] Remove [000101] => No (cached) @@ -57,4 +57,4 @@ [30.3%] Remove [000110000] => No (cached) ============= Depth 10 ============= [24.2%] Remove [0001100010] => No (cached) -Done in 26 tests +Done in 22 tests diff --git a/tests/noremove/src.dump b/tests/noremove/src.dump index 5702b99..6068f67 100644 --- a/tests/noremove/src.dump +++ b/tests/noremove/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/noremove/src.json b/tests/noremove/src.json index 3351406..027cea9 100644 --- a/tests/noremove/src.json +++ b/tests/noremove/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/noremoveconcat/src.dump b/tests/noremoveconcat/src.dump index 9f69a0f..81272c6 100644 --- a/tests/noremoveconcat/src.dump +++ b/tests/noremoveconcat/src.dump @@ -31,12 +31,12 @@ [ "import " /* import */ ] [ [ - [ "sub" ] - [ "." /* . */ ] => 24 - ] + [ "sub" ] =22 + [ "." /* . */ ] =23 => 24 + ] => 22 23 [ - [ "sub" ] - ] =24 + [ "sub" ] =25 + ] =24 => 25 ] ";\n\n" ] diff --git a/tests/noremoveconcat/src.json b/tests/noremoveconcat/src.json index 6ecae2a..90789a7 100644 --- a/tests/noremoveconcat/src.json +++ b/tests/noremoveconcat/src.json @@ -68,23 +68,34 @@ { "children": [ { + "dependents": [ + "21" + ], "head": "sub" }, { + "dependents": [ + "21" + ], "label": "23", "tail": "." } - ] + ], + "label": "21" }, { "children": [ { + "dependents": [ + "24" + ], "head": "sub" } ], "dependents": [ "23" - ] + ], + "label": "24" } ] } diff --git a/tests/noremovefile/progress.txt b/tests/noremovefile/progress.txt index 4ee8666..a7281f3 100644 --- a/tests/noremovefile/progress.txt +++ b/tests/noremovefile/progress.txt @@ -38,7 +38,7 @@ [23.9%] Remove [1001000] => No [29.5%] Remove [1000110] => No [32.3%] Remove [1000101] => No -[33.8%] Remove [1000100] => No +[33.8%] Remove [1000100] => No (cached) ============= Depth 8 ============= [ 4.5%] Remove [10011000] => No ============= Depth 9 ============= @@ -65,15 +65,15 @@ [ 4.5%] Remove [10011] => No (cached) [ 4.5%] Unwrap [10011] => No [15.1%] Remove [10010] => No -[24.2%] Remove [10001] => No +[24.2%] Remove [10001] => No (cached) [33.3%] Remove [10000] => No ============= Depth 6 ============= [ 4.5%] Remove [100110] => No (cached) [15.1%] Remove [100101] => No [15.1%] Unwrap [100101] => No (cached) [16.6%] Remove [100100] => No -[24.2%] Remove [100011] => No -[27.2%] Remove [100010] => No +[24.2%] Remove [100011] => No (cached) +[27.2%] Remove [100010] => No (cached) ============= Depth 7 ============= [ 4.5%] Remove [1001100] => No (cached) [16.6%] Remove [1001001] => No (cached) @@ -89,4 +89,4 @@ [ 7.5%] Remove [100110000] => No (cached) ============= Depth 10 ============= [ 4.5%] Remove [1001100010] => No (cached) -Done in 40 tests +Done in 36 tests diff --git a/tests/noremovefile/src.dump b/tests/noremovefile/src.dump index 5f141f7..d47cbc2 100644 --- a/tests/noremovefile/src.dump +++ b/tests/noremovefile/src.dump @@ -10,12 +10,12 @@ [! "import " /* import */ ] [! [! - [! "std" ] - [! "." /* . */ ] => 12 - ] + [! "std" ] =10 + [! "." /* . */ ] =11 => 12 + ] => 10 11 [! - [! "stdio" ] - ] =12 + [! "stdio" ] =13 + ] =12 => 13 ] ";\n\n" ] @@ -79,12 +79,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 47 - ] + [ "std" ] =45 + [ "." /* . */ ] =46 => 47 + ] => 45 46 [ - [ "stdio" ] - ] =47 + [ "stdio" ] =48 + ] =47 => 48 ] ";\n\n" ] diff --git a/tests/noremovefile/src.json b/tests/noremovefile/src.json index 20db9d9..d26ae62 100644 --- a/tests/noremovefile/src.json +++ b/tests/noremovefile/src.json @@ -22,20 +22,30 @@ { "children": [ { + "dependents": [ + "9" + ], "head": "std", "noRemove": true }, { + "dependents": [ + "9" + ], "label": "11", "noRemove": true, "tail": "." } ], + "label": "9", "noRemove": true }, { "children": [ { + "dependents": [ + "12" + ], "head": "stdio", "noRemove": true } @@ -43,6 +53,7 @@ "dependents": [ "11" ], + "label": "12", "noRemove": true } ], @@ -207,23 +218,34 @@ { "children": [ { + "dependents": [ + "44" + ], "head": "std" }, { + "dependents": [ + "44" + ], "label": "46", "tail": "." } - ] + ], + "label": "44" }, { "children": [ { + "dependents": [ + "47" + ], "head": "stdio" } ], "dependents": [ "46" - ] + ], + "label": "47" } ] } diff --git a/tests/noremovespan/progress.txt b/tests/noremovespan/progress.txt index 3504cb2..e97da39 100644 --- a/tests/noremovespan/progress.txt +++ b/tests/noremovespan/progress.txt @@ -28,7 +28,7 @@ [65.2%] Remove [0001000] => No [73.9%] Remove [0000110] => No [78.2%] Remove [0000101] => No -[80.4%] Remove [0000100] => No +[80.4%] Remove [0000100] => No (cached) ============= Depth 8 ============= [12.1%] Remove [00101000] => No [48.7%] Remove [00010101] => Yes @@ -57,16 +57,16 @@ [30.0%] Remove [001001] => No [30.0%] Unwrap [001001] => No (cached) [32.5%] Remove [001000] => No -[70.0%] Remove [000011] => No +[70.0%] Remove [000011] => No (cached) [75.0%] Remove [000010] => No ============= Depth 7 ============= [12.5%] Remove [0010100] => No (cached) [32.5%] Remove [0010001] => No [35.0%] Remove [0010000] => No [60.0%] Remove [0001000] => No -[70.0%] Remove [0000110] => No -[75.0%] Remove [0000101] => No -[77.5%] Remove [0000100] => No +[70.0%] Remove [0000110] => No (cached) +[75.0%] Remove [0000101] => No (cached) +[77.5%] Remove [0000100] => No (cached) ============= Depth 8 ============= [12.5%] Remove [00101000] => No ============= Depth 9 ============= @@ -75,4 +75,4 @@ [17.5%] Remove [001010000] => No (cached) ============= Depth 10 ============= [12.5%] Remove [0010100010] => No (cached) -Done in 49 tests +Done in 44 tests diff --git a/tests/noremovespan/src.dump b/tests/noremovespan/src.dump index 4e8bd81..7cd8b15 100644 --- a/tests/noremovespan/src.dump +++ b/tests/noremovespan/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/noremovespan/src.json b/tests/noremovespan/src.json index 31d4f6f..e163a61 100644 --- a/tests/noremovespan/src.json +++ b/tests/noremovespan/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/one/progress.txt b/tests/one/progress.txt index daa2121..ab186e5 100644 --- a/tests/one/progress.txt +++ b/tests/one/progress.txt @@ -24,7 +24,7 @@ [93.2%] Remove [00101] => No [93.2%] Unwrap [00101] => No (cached) [93.6%] Remove [00100] => No -[95.6%] Remove [00011] => No +[95.6%] Remove [00011] => No (cached) [96.4%] Remove [00010] => No ============= Depth 6 ============= [ 1.2%] Remove [001111] => No @@ -35,7 +35,7 @@ [94.0%] Remove [001000] => No [95.6%] Remove [000110] => No [96.4%] Remove [000101] => No -[96.8%] Remove [000100] => No +[96.8%] Remove [000100] => No (cached) ============= Depth 7 ============= [ 1.8%] Remove [0011110] => No [ 8.1%] Remove [0011101] => No @@ -112,7 +112,7 @@ [72.5%] Remove [00101] => No [72.5%] Unwrap [00101] => No (cached) [74.1%] Remove [00100] => No -[82.2%] Remove [00011] => No +[82.2%] Remove [00011] => No (cached) [85.4%] Remove [00010] => No ============= Depth 6 ============= [ 4.8%] Remove [001111] => No @@ -120,9 +120,9 @@ [51.6%] Remove [001100] => No (cached) [74.1%] Remove [001001] => No [75.8%] Remove [001000] => No -[82.2%] Remove [000110] => No -[85.4%] Remove [000101] => No -[87.0%] Remove [000100] => No +[82.2%] Remove [000110] => No (cached) +[85.4%] Remove [000101] => No (cached) +[87.0%] Remove [000100] => No (cached) ============= Depth 7 ============= [ 4.8%] Remove [0011110] => No [20.9%] Remove [0011101] => No @@ -166,4 +166,4 @@ [38.7%] Remove [001110000000] => No (cached) [56.4%] Remove [001100000001] => No (cached) [58.0%] Remove [001100000000] => No (cached) -Done in 92 tests +Done in 86 tests diff --git a/tests/one/src.d.dump b/tests/one/src.d.dump index 6237514..7fd62c6 100644 --- a/tests/one/src.d.dump +++ b/tests/one/src.d.dump @@ -5,12 +5,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 9 - ] + [ "std" ] =7 + [ "." /* . */ ] =8 => 9 + ] => 7 8 [ - [ "stdio" ] - ] =9 + [ "stdio" ] =10 + ] =9 => 10 ] ";\n\n" ] diff --git a/tests/one/src.d.json b/tests/one/src.d.json index 5516a44..0623237 100644 --- a/tests/one/src.d.json +++ b/tests/one/src.d.json @@ -13,23 +13,34 @@ { "children": [ { + "dependents": [ + "6" + ], "head": "std" }, { + "dependents": [ + "6" + ], "label": "8", "tail": "." } - ] + ], + "label": "6" }, { "children": [ { + "dependents": [ + "9" + ], "head": "stdio" } ], "dependents": [ "8" - ] + ], + "label": "9" } ] } diff --git a/tests/pairs/progress.txt b/tests/pairs/progress.txt index b418a62..94c8d35 100644 --- a/tests/pairs/progress.txt +++ b/tests/pairs/progress.txt @@ -36,15 +36,15 @@ [29.0%] Remove [00010001] => No [29.0%] Unwrap [00010001] => No (cached) [32.2%] Remove [00010000] => No -[54.8%] Remove [00000011] => No +[54.8%] Remove [00000011] => No (cached) [61.2%] Remove [00000010] => No ============= Depth 9 ============= [ 9.6%] Remove [000100100] => No [32.2%] Remove [000100001] => No [35.4%] Remove [000100000] => No -[54.8%] Remove [000000110] => No -[61.2%] Remove [000000101] => No -[64.5%] Remove [000000100] => No +[54.8%] Remove [000000110] => No (cached) +[61.2%] Remove [000000101] => No (cached) +[64.5%] Remove [000000100] => No (cached) ============= Depth 10 ============= [ 9.6%] Remove [0001001001] => No [ 9.6%] Unwrap [0001001001] => No @@ -99,4 +99,4 @@ [16.1%] Remove [0001001000] => No (cached) ============= Depth 11 ============= [ 9.6%] Remove [00010010010] => No (cached) -Done in 37 tests +Done in 33 tests diff --git a/tests/pairs/src.dump b/tests/pairs/src.dump index d49f607..1e2c81e 100644 --- a/tests/pairs/src.dump +++ b/tests/pairs/src.dump @@ -6,12 +6,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 10 - ] + [ "std" ] =8 + [ "." /* . */ ] =9 => 10 + ] => 8 9 [ - [ "stdio" ] - ] =10 + [ "stdio" ] =11 + ] =10 => 11 ] ";\n\n" ] diff --git a/tests/pairs/src.json b/tests/pairs/src.json index e512e3d..91c45b3 100644 --- a/tests/pairs/src.json +++ b/tests/pairs/src.json @@ -15,23 +15,34 @@ { "children": [ { + "dependents": [ + "7" + ], "head": "std" }, { + "dependents": [ + "7" + ], "label": "9", "tail": "." } - ] + ], + "label": "7" }, { "children": [ { + "dependents": [ + "10" + ], "head": "stdio" } ], "dependents": [ "9" - ] + ], + "label": "10" } ] } diff --git a/tests/parallel/src.dump b/tests/parallel/src.dump index 2776b2f..adf5db6 100644 --- a/tests/parallel/src.dump +++ b/tests/parallel/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/parallel/src.json b/tests/parallel/src.json index 23b9ad8..83a994f 100644 --- a/tests/parallel/src.json +++ b/tests/parallel/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/reduceonly/src.dump b/tests/reduceonly/src.dump index caad79e..5e3e7ae 100644 --- a/tests/reduceonly/src.dump +++ b/tests/reduceonly/src.dump @@ -16,12 +16,12 @@ [! "import " /* import */ ] [! [! - [! "std" ] - [! "." /* . */ ] => 17 - ] + [! "std" ] =15 + [! "." /* . */ ] =16 => 17 + ] => 15 16 [! - [! "stdio" ] - ] =17 + [! "stdio" ] =18 + ] =17 => 18 ] "; " ] @@ -78,12 +78,12 @@ [! "import " /* import */ ] [! [! - [! "std" ] - [! "." /* . */ ] => 52 - ] + [! "std" ] =50 + [! "." /* . */ ] =51 => 52 + ] => 50 51 [! - [! "stdio" ] - ] =52 + [! "stdio" ] =53 + ] =52 => 53 ] "; " ] @@ -140,12 +140,12 @@ [! "import " /* import */ ] [! [! - [! "std" ] - [! "." /* . */ ] => 87 - ] + [! "std" ] =85 + [! "." /* . */ ] =86 => 87 + ] => 85 86 [! - [! "stdio" ] - ] =87 + [! "stdio" ] =88 + ] =87 => 88 ] "; " ] diff --git a/tests/reduceonly/src.json b/tests/reduceonly/src.json index 64e363a..bcc63d3 100644 --- a/tests/reduceonly/src.json +++ b/tests/reduceonly/src.json @@ -43,20 +43,30 @@ { "children": [ { + "dependents": [ + "14" + ], "head": "std", "noRemove": true }, { + "dependents": [ + "14" + ], "label": "16", "noRemove": true, "tail": "." } ], + "label": "14", "noRemove": true }, { "children": [ { + "dependents": [ + "17" + ], "head": "stdio", "noRemove": true } @@ -64,6 +74,7 @@ "dependents": [ "16" ], + "label": "17", "noRemove": true } ], @@ -226,20 +237,30 @@ { "children": [ { + "dependents": [ + "49" + ], "head": "std", "noRemove": true }, { + "dependents": [ + "49" + ], "label": "51", "noRemove": true, "tail": "." } ], + "label": "49", "noRemove": true }, { "children": [ { + "dependents": [ + "52" + ], "head": "stdio", "noRemove": true } @@ -247,6 +268,7 @@ "dependents": [ "51" ], + "label": "52", "noRemove": true } ], @@ -409,20 +431,30 @@ { "children": [ { + "dependents": [ + "84" + ], "head": "std", "noRemove": true }, { + "dependents": [ + "84" + ], "label": "86", "noRemove": true, "tail": "." } ], + "label": "84", "noRemove": true }, { "children": [ { + "dependents": [ + "87" + ], "head": "stdio", "noRemove": true } @@ -430,6 +462,7 @@ "dependents": [ "86" ], + "label": "87", "noRemove": true } ], diff --git a/tests/removeonly/progress.txt b/tests/removeonly/progress.txt index c50b0ff..3306f41 100644 --- a/tests/removeonly/progress.txt +++ b/tests/removeonly/progress.txt @@ -63,7 +63,7 @@ [37.3%] Remove [1010000000010] => No ============= Depth 14 ============= [32.8%] Remove [10100001000100] => No -[36.2%] Remove [10100000000110] => No +[36.2%] Remove [10100000000110] => No (cached) [36.7%] Remove [10100000000101] => No [36.9%] Remove [10100000000100] => No ============= Depth 15 ============= @@ -73,7 +73,7 @@ [37.4%] Remove [101000000001000] => No ============= Depth 16 ============= [33.0%] Remove [1010000100010000] => No (cached) -[36.5%] Remove [1010000000010010] => No +[36.5%] Remove [1010000000010010] => No (cached) [37.0%] Remove [1010000000010001] => No [37.2%] Remove [1010000000010000] => No ############### ITERATION 1 ################ @@ -100,7 +100,7 @@ [35.8%] Remove [1010000000010] => No ============= Depth 14 ============= [32.5%] Remove [10100001000100] => No (cached) -[35.3%] Remove [10100000000110] => No +[35.3%] Remove [10100000000110] => No (cached) [35.8%] Remove [10100000000101] => No [36.0%] Remove [10100000000100] => No ============= Depth 15 ============= @@ -109,7 +109,7 @@ [36.5%] Remove [101000000001000] => No ============= Depth 16 ============= [32.5%] Remove [1010000100010000] => No (cached) -[36.0%] Remove [1010000000010010] => No +[36.0%] Remove [1010000000010010] => No (cached) [36.5%] Remove [1010000000010001] => No [36.7%] Remove [1010000000010000] => No ############### ITERATION 2 ################ @@ -147,4 +147,4 @@ [36.0%] Remove [1010000000010010] => No (cached) [36.5%] Remove [1010000000010001] => No (cached) [36.7%] Remove [1010000000010000] => No (cached) -Done in 56 tests +Done in 52 tests diff --git a/tests/removeonly/src.dump b/tests/removeonly/src.dump index 6b64ea6..512f9c4 100644 --- a/tests/removeonly/src.dump +++ b/tests/removeonly/src.dump @@ -435,8 +435,8 @@ [ ", " /* , */ ] => 253 ] [ - [ "c" ] - ] =253 + [ "c" ] =254 + ] =253 => 254 ] ";\n" ] @@ -454,8 +454,8 @@ [ ", " /* , */ ] => 266 ] [ - [ "f" ] - ] =266 + [ "f" ] =267 + ] =266 => 267 ] ] =261 ] @@ -469,8 +469,8 @@ [ ": " /* : */ ] => 274 ] [ - [ "one" ] - ] =274 + [ "one" ] =275 + ] =274 => 275 ] ";\n" ] @@ -482,8 +482,8 @@ [ "= " /* = */ ] => 282 ] [ - [ "h" ] - ] =282 + [ "h" ] =283 + ] =282 => 283 ] ";\n" ] @@ -497,14 +497,14 @@ [ ": " /* : */ ] => 292 ] [ - [ "ione " ] - ] =292 + [ "ione " ] =293 + ] =292 => 293 ] [ "= " /* = */ ] => 295 ] [ - [ "one" ] - ] =295 + [ "one" ] =296 + ] =295 => 296 ] ";\n" ] @@ -583,8 +583,8 @@ [ ", " /* , */ ] => 345 ] [ - [ "r" ] - ] =345 + [ "r" ] =346 + ] =345 => 346 ] ";\n" ] @@ -613,14 +613,14 @@ [ ": " /* : */ ] => 364 ] [ - [ "uone " ] - ] =364 + [ "uone " ] =365 + ] =364 => 365 ] [ "= " /* = */ ] => 367 ] [ - [ "one" ] - ] =367 + [ "one" ] =368 + ] =367 => 368 ] ";\n" ] @@ -632,8 +632,8 @@ [ ", " /* , */ ] => 375 ] [ - [ "u" ] - ] =375 + [ "u" ] =376 + ] =375 => 376 ] ";\n" ] @@ -651,8 +651,8 @@ [ ", " /* , */ ] => 388 ] [ - [ "x" ] - ] =388 + [ "x" ] =389 + ] =388 => 389 ] ] =383 ] diff --git a/tests/removeonly/src.json b/tests/removeonly/src.json index a41c3d3..e3d94f9 100644 --- a/tests/removeonly/src.json +++ b/tests/removeonly/src.json @@ -1197,12 +1197,16 @@ { "children": [ { + "dependents": [ + "253" + ], "head": "c" } ], "dependents": [ "252" - ] + ], + "label": "253" } ] } @@ -1245,12 +1249,16 @@ { "children": [ { + "dependents": [ + "266" + ], "head": "f" } ], "dependents": [ "265" - ] + ], + "label": "266" } ] } @@ -1285,12 +1293,16 @@ { "children": [ { + "dependents": [ + "274" + ], "head": "one" } ], "dependents": [ "273" - ] + ], + "label": "274" } ] } @@ -1318,12 +1330,16 @@ { "children": [ { + "dependents": [ + "282" + ], "head": "h" } ], "dependents": [ "281" - ] + ], + "label": "282" } ] } @@ -1355,12 +1371,16 @@ { "children": [ { + "dependents": [ + "292" + ], "head": "ione " } ], "dependents": [ "291" - ] + ], + "label": "292" } ] }, @@ -1373,12 +1393,16 @@ { "children": [ { + "dependents": [ + "295" + ], "head": "one" } ], "dependents": [ "294" - ] + ], + "label": "295" } ] } @@ -1582,12 +1606,16 @@ { "children": [ { + "dependents": [ + "345" + ], "head": "r" } ], "dependents": [ "344" - ] + ], + "label": "345" } ] } @@ -1665,12 +1693,16 @@ { "children": [ { + "dependents": [ + "364" + ], "head": "uone " } ], "dependents": [ "363" - ] + ], + "label": "364" } ] }, @@ -1683,12 +1715,16 @@ { "children": [ { + "dependents": [ + "367" + ], "head": "one" } ], "dependents": [ "366" - ] + ], + "label": "367" } ] } @@ -1716,12 +1752,16 @@ { "children": [ { + "dependents": [ + "375" + ], "head": "u" } ], "dependents": [ "374" - ] + ], + "label": "375" } ] } @@ -1764,12 +1804,16 @@ { "children": [ { + "dependents": [ + "388" + ], "head": "x" } ], "dependents": [ "387" - ] + ], + "label": "388" } ] } diff --git a/tests/strat-careful/progress.txt b/tests/strat-careful/progress.txt index b4859b2..374e8c0 100644 --- a/tests/strat-careful/progress.txt +++ b/tests/strat-careful/progress.txt @@ -733,7 +733,7 @@ [82.3%] Remove [0000000011100] => No [83.9%] Remove [0000000011000] => No [89.8%] Remove [0000000001001] => No -[90.9%] Remove [0000000001000] => No +[90.9%] Remove [0000000001000] => No (cached) ############### ITERATION 13 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) @@ -808,7 +808,7 @@ [79.7%] Remove [0000000011] => No [79.7%] Unwrap [0000000011] => No [84.6%] Remove [0000000010] => No -[88.3%] Remove [0000000001] => No +[88.3%] Remove [0000000001] => No (cached) [93.2%] Remove [0000000000] => No ============= Depth 11 ============= [ 0.0%] Remove [00001110001] => No @@ -906,9 +906,9 @@ [54.6%] Remove [00000110010000] => No [63.1%] Remove [00000100010000] => No [81.5%] Remove [00000000110000] => No -[88.3%] Remove [00000000010010] => No -[89.5%] Remove [00000000010001] => No -[90.1%] Remove [00000000010000] => No +[88.3%] Remove [00000000010010] => No (cached) +[89.5%] Remove [00000000010001] => No (cached) +[90.1%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.5%] Remove [000011000111010] => No (cached) [14.7%] Remove [000011000110101] => Yes @@ -1081,8 +1081,8 @@ [71.5%] Remove [0000001001000] => No [79.1%] Remove [0000000011100] => No (cached) [81.0%] Remove [0000000011000] => No -[87.9%] Remove [0000000001001] => No -[89.2%] Remove [0000000001000] => No +[87.9%] Remove [0000000001001] => No (cached) +[89.2%] Remove [0000000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [00001100011101] => No [ 8.8%] Unwrap [00001100011101] => No @@ -1097,9 +1097,9 @@ [53.1%] Remove [00000110010000] => No [62.0%] Remove [00000100010000] => No [81.0%] Remove [00000000110000] => No -[87.9%] Remove [00000000010010] => No -[89.2%] Remove [00000000010001] => No -[89.8%] Remove [00000000010000] => No +[87.9%] Remove [00000000010010] => No (cached) +[89.2%] Remove [00000000010001] => No (cached) +[89.8%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [000011000111010] => No (cached) [15.1%] Remove [000011000110100] => No (cached) @@ -1118,4 +1118,4 @@ [ 8.8%] Remove [00001100011101010] => No [10.1%] Remove [00001100011101001] => No [10.7%] Remove [00001100011101000] => No -Done in 671 tests +Done in 661 tests diff --git a/tests/strat-careful/src.dump b/tests/strat-careful/src.dump index 2776b2f..adf5db6 100644 --- a/tests/strat-careful/src.dump +++ b/tests/strat-careful/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/strat-careful/src.json b/tests/strat-careful/src.json index 23b9ad8..83a994f 100644 --- a/tests/strat-careful/src.json +++ b/tests/strat-careful/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/strat-inbreadth/progress.txt b/tests/strat-inbreadth/progress.txt index 41f36c2..3071445 100644 --- a/tests/strat-inbreadth/progress.txt +++ b/tests/strat-inbreadth/progress.txt @@ -187,15 +187,13 @@ [36.3%] Remove [0101001100] => Yes [39.7%] Remove [0101001001] => No [40.0%] Remove [0101001000] => No -[41.1%] Remove [0101000110] => No -[42.9%] Remove [0101000101] => No +[41.1%] Remove [0101000110] => Yes [43.2%] Remove [0101000100] => No [45.3%] Remove [0100001101] => No [46.6%] Remove [0100001100] => Yes [50.3%] Remove [0100001001] => No [50.6%] Remove [0100001000] => No -[51.7%] Remove [0100000110] => No -[53.5%] Remove [0100000101] => No +[51.7%] Remove [0100000110] => Yes [53.8%] Remove [0100000100] => No [56.7%] Remove [0010001101] => No [62.8%] Remove [0010001100] => Yes @@ -217,214 +215,200 @@ [95.2%] Remove [0000000101] => No [95.4%] Remove [0000000100] => No ============= Depth 11 ============= -[ 5.1%] Remove [01110011110] => No -[ 8.5%] Remove [01110011101] => No -[ 9.8%] Remove [01110011100] => No -[11.9%] Remove [01110011011] => No -[13.3%] Remove [01110011010] => No -[15.0%] Remove [01110011001] => No -[16.3%] Remove [01110011000] => Yes -[20.8%] Remove [01110001101] => No -[24.9%] Remove [01110001100] => No -[28.3%] Remove [01110001010] => No -[31.3%] Remove [01110001001] => No -[32.7%] Remove [01110001000] => No -[36.5%] Remove [01100011000] => No -[43.6%] Remove [01010011000] => No -[47.7%] Remove [01010001101] => No -[48.4%] Remove [01010001100] => No -[53.2%] Remove [01000011000] => No -[57.3%] Remove [01000001101] => No -[58.0%] Remove [01000001100] => No -[63.8%] Remove [00100011001] => No -[64.8%] Remove [00100011000] => Yes -[74.4%] Remove [00100001101] => No -[75.0%] Remove [00100001100] => No -[80.2%] Remove [00010011000] => No -[86.3%] Remove [00000011101] => Yes -[86.6%] Remove [00000011100] => No -[87.7%] Remove [00000011000] => No -[91.4%] Remove [00000001101] => No -[92.1%] Remove [00000001100] => No -[94.1%] Remove [00000001001] => No -[94.8%] Remove [00000001000] => No +[ 5.4%] Remove [01110011110] => No +[ 9.0%] Remove [01110011101] => No +[10.4%] Remove [01110011100] => No +[12.6%] Remove [01110011011] => No +[14.0%] Remove [01110011010] => No +[15.8%] Remove [01110011001] => No +[17.3%] Remove [01110011000] => Yes +[22.0%] Remove [01110001101] => No +[26.3%] Remove [01110001100] => No +[29.9%] Remove [01110001010] => No +[33.2%] Remove [01110001001] => No +[34.6%] Remove [01110001000] => No +[38.6%] Remove [01100011000] => No +[46.2%] Remove [01010011000] => No +[53.4%] Remove [01000011000] => No +[61.7%] Remove [00100011001] => No +[62.8%] Remove [00100011000] => Yes +[72.9%] Remove [00100001101] => Yes +[79.0%] Remove [00010011000] => No +[85.5%] Remove [00000011101] => Yes +[85.9%] Remove [00000011100] => No +[87.0%] Remove [00000011000] => No +[90.9%] Remove [00000001101] => No +[91.6%] Remove [00000001100] => No +[93.8%] Remove [00000001001] => No +[94.5%] Remove [00000001000] => No (cached) ============= Depth 12 ============= -[ 5.5%] Remove [011100111101] => No -[ 5.5%] Unwrap [011100111101] => No -[ 8.1%] Remove [011100111100] => No -[ 9.2%] Remove [011100111010] => No -[10.7%] Remove [011100111000] => No -[13.0%] Remove [011100110110] => No -[14.4%] Remove [011100110100] => No -[16.3%] Remove [011100110000] => No -[21.1%] Remove [011100011010] => No -[25.6%] Remove [011100011001] => No -[27.1%] Remove [011100011000] => No -[29.3%] Remove [011100010101] => No -[30.8%] Remove [011100010100] => Yes -[32.7%] Remove [011100010010] => No -[34.2%] Remove [011100010001] => No -[34.5%] Remove [011100010000] => No -[38.2%] Remove [011000110000] => No -[46.0%] Remove [010100110000] => No -[50.5%] Remove [010100011010] => No -[51.3%] Remove [010100011001] => No -[51.6%] Remove [010100011000] => No -[56.5%] Remove [010000110000] => No -[60.9%] Remove [010000011010] => No -[61.7%] Remove [010000011001] => No -[62.0%] Remove [010000011000] => No -[68.0%] Remove [001000110000] => No -[72.4%] Remove [001000011010] => No -[73.2%] Remove [001000011001] => No -[73.6%] Remove [001000011000] => No -[86.6%] Remove [000000110000] => No -[90.7%] Remove [000000011010] => No -[91.4%] Remove [000000011001] => No -[91.8%] Remove [000000011000] => No -[93.6%] Remove [000000010010] => No -[94.4%] Remove [000000010001] => No -[94.7%] Remove [000000010000] => No +[ 6.1%] Remove [011100111101] => No +[ 6.1%] Unwrap [011100111101] => No +[ 8.9%] Remove [011100111100] => No +[10.2%] Remove [011100111010] => No +[11.8%] Remove [011100111000] => No +[14.2%] Remove [011100110110] => No +[15.9%] Remove [011100110100] => No +[17.9%] Remove [011100110000] => No +[23.2%] Remove [011100011010] => No +[28.1%] Remove [011100011001] => No +[29.7%] Remove [011100011000] => No +[32.2%] Remove [011100010101] => No +[33.8%] Remove [011100010100] => Yes +[35.9%] Remove [011100010010] => No +[37.5%] Remove [011100010001] => No +[37.9%] Remove [011100010000] => No +[42.0%] Remove [011000110000] => No +[50.6%] Remove [010100110000] => No +[58.7%] Remove [010000110000] => No +[68.1%] Remove [001000110000] => No +[85.3%] Remove [000000110000] => No +[89.7%] Remove [000000011010] => No +[90.6%] Remove [000000011001] => No +[91.0%] Remove [000000011000] => No +[93.0%] Remove [000000010010] => No +[93.8%] Remove [000000010001] => No (cached) +[94.2%] Remove [000000010000] => No (cached) ============= Depth 13 ============= -[ 5.6%] Remove [0111001111010] => No -[ 9.3%] Remove [0111001110101] => Yes -[ 9.7%] Remove [0111001110100] => No -[10.9%] Remove [0111001110001] => Yes -[11.2%] Remove [0111001110000] => No -[13.1%] Remove [0111001101101] => Yes -[13.5%] Remove [0111001101100] => No -[14.6%] Remove [0111001101001] => Yes -[15.0%] Remove [0111001101000] => No -[16.5%] Remove [0111001100001] => Yes -[16.9%] Remove [0111001100000] => No -[21.4%] Remove [0111000110101] => No -[22.1%] Remove [0111000110100] => No -[25.9%] Remove [0111000110010] => No -[27.4%] Remove [0111000110001] => No -[27.8%] Remove [0111000110000] => No -[29.6%] Remove [0111000101000] => No -[31.9%] Remove [0111000100101] => No -[32.3%] Remove [0111000100100] => No -[37.5%] Remove [0110001100000] => No -[45.4%] Remove [0101001100000] => No -[56.0%] Remove [0100001100000] => No -[67.6%] Remove [0010001100000] => No +[ 6.1%] Remove [0111001111010] => No +[10.3%] Remove [0111001110101] => Yes +[10.7%] Remove [0111001110100] => No +[11.9%] Remove [0111001110001] => Yes +[12.3%] Remove [0111001110000] => No +[14.4%] Remove [0111001101101] => Yes +[14.8%] Remove [0111001101100] => No +[16.1%] Remove [0111001101001] => Yes +[16.5%] Remove [0111001101000] => No +[18.1%] Remove [0111001100001] => Yes +[18.5%] Remove [0111001100000] => No +[23.5%] Remove [0111000110101] => No +[24.3%] Remove [0111000110100] => No +[28.5%] Remove [0111000110010] => No +[30.1%] Remove [0111000110001] => No +[30.5%] Remove [0111000110000] => No +[32.6%] Remove [0111000101000] => No +[35.1%] Remove [0111000100101] => No +[35.5%] Remove [0111000100100] => No +[41.3%] Remove [0110001100000] => No +[50.0%] Remove [0101001100000] => No +[58.2%] Remove [0100001100000] => No +[67.7%] Remove [0010001100000] => No ============= Depth 14 ============= -[ 5.7%] Remove [01110011110101] => No -[ 6.5%] Remove [01110011110100] => No -[19.9%] Remove [01110001101010] => No -[20.6%] Remove [01110001101001] => No -[21.0%] Remove [01110001101000] => No -[24.5%] Remove [01110001100101] => No -[24.9%] Remove [01110001100100] => No -[28.3%] Remove [01110001010001] => No -[28.7%] Remove [01110001010000] => No +[ 6.3%] Remove [01110011110101] => No +[ 7.1%] Remove [01110011110100] => No +[21.9%] Remove [01110001101010] => No (cached) +[22.7%] Remove [01110001101001] => No +[23.2%] Remove [01110001101000] => No +[27.0%] Remove [01110001100101] => No +[27.4%] Remove [01110001100100] => No +[31.2%] Remove [01110001010001] => No +[31.6%] Remove [01110001010000] => No ============= Depth 15 ============= -[ 5.7%] Remove [011100111101010] => No -[ 6.5%] Remove [011100111101001] => No -[ 6.8%] Remove [011100111101000] => No -[21.0%] Remove [011100011010001] => No -[21.8%] Remove [011100011010000] => No +[ 6.3%] Remove [011100111101010] => No +[ 7.1%] Remove [011100111101001] => No +[ 7.5%] Remove [011100111101000] => No +[23.2%] Remove [011100011010001] => No (cached) +[24.0%] Remove [011100011010000] => No (cached) ============= Depth 16 ============= -[21.0%] Remove [0111000110100010] => No -[21.8%] Remove [0111000110100001] => No -[22.2%] Remove [0111000110100000] => No +[23.2%] Remove [0111000110100010] => No (cached) +[24.0%] Remove [0111000110100001] => No (cached) +[24.4%] Remove [0111000110100000] => No (cached) ############### ITERATION 1 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) ============= Depth 1 ============= [ 0.0%] Remove [1] => No [ 0.0%] Concat [1] => No -[ 4.5%] Remove [0] => No +[ 5.0%] Remove [0] => No ============= Depth 2 ============= [ 0.0%] Remove [10] => No -[ 4.5%] Remove [01] => No +[ 5.0%] Remove [01] => No [66.6%] Remove [00] => No ============= Depth 3 ============= [ 0.0%] Remove [100] => No (cached) -[ 4.5%] Remove [011] => No -[44.4%] Remove [010] => No +[ 5.0%] Remove [011] => No +[48.9%] Remove [010] => No [66.6%] Remove [001] => No -[78.1%] Remove [000] => No +[75.9%] Remove [000] => No ============= Depth 4 ============= [ 0.0%] Remove [1000] => No (cached) -[ 4.5%] Remove [0111] => No -[ 4.5%] Concat [0111] => Yes +[ 5.0%] Remove [0111] => No +[ 5.0%] Concat [0111] => Yes ############### ITERATION 2 ################ ============= Depth 0 ============= [ 0.0%] Remove [] => No (cached) ============= Depth 1 ============= [ 0.0%] Remove [1] => No [ 0.0%] Concat [1] => N/A -[ 0.3%] Remove [0] => No +[ 0.4%] Remove [0] => No ============= Depth 2 ============= -[ 0.3%] Remove [01] => No -[96.6%] Remove [00] => No +[ 0.4%] Remove [01] => No +[96.2%] Remove [00] => No ============= Depth 3 ============= -[ 0.3%] Remove [011] => No -[95.1%] Remove [010] => No -[96.6%] Remove [001] => No -[97.7%] Remove [000] => No +[ 0.4%] Remove [011] => No +[94.6%] Remove [010] => No +[96.2%] Remove [001] => No +[97.5%] Remove [000] => No ============= Depth 4 ============= -[ 0.3%] Remove [0111] => No -[ 0.3%] Concat [0111] => N/A -[94.3%] Remove [0110] => No -[94.3%] Concat [0110] => N/A -[95.1%] Remove [0101] => No -[95.1%] Concat [0101] => N/A -[95.5%] Remove [0100] => No -[95.5%] Concat [0100] => N/A -[96.6%] Remove [0011] => Yes -[97.0%] Remove [0010] => No (cached) -[97.0%] Concat [0010] => N/A -[97.7%] Remove [0001] => No -[97.7%] Concat [0001] => N/A -[98.1%] Remove [0000] => No -[98.1%] Concat [0000] => N/A +[ 0.4%] Remove [0111] => No +[ 0.4%] Concat [0111] => N/A +[93.8%] Remove [0110] => No +[93.8%] Concat [0110] => N/A +[94.6%] Remove [0101] => No +[94.6%] Concat [0101] => N/A +[95.0%] Remove [0100] => No +[95.0%] Concat [0100] => N/A +[96.2%] Remove [0011] => Yes +[96.7%] Remove [0010] => No (cached) +[96.7%] Concat [0010] => N/A +[97.5%] Remove [0001] => No +[97.5%] Concat [0001] => N/A +[97.9%] Remove [0000] => No +[97.9%] Concat [0000] => N/A ============= Depth 5 ============= -[ 0.3%] Remove [01111] => No -[53.7%] Remove [01110] => No +[ 0.4%] Remove [01111] => No +[55.7%] Remove [01110] => No ============= Depth 6 ============= -[ 0.3%] Remove [011111] => No -[35.7%] Remove [011110] => No -[53.7%] Remove [011101] => No -[74.4%] Remove [011100] => No +[ 0.4%] Remove [011111] => No +[39.2%] Remove [011110] => No +[55.7%] Remove [011101] => No +[71.9%] Remove [011100] => No ============= Depth 7 ============= -[ 0.3%] Remove [0111111] => No -[ 4.5%] Remove [0111110] => No -[35.7%] Remove [0111101] => No -[42.8%] Remove [0111100] => No -[53.7%] Remove [0111011] => No -[63.9%] Remove [0111010] => No -[74.4%] Remove [0111001] => No -[80.8%] Remove [0111000] => No +[ 0.4%] Remove [0111111] => No +[ 4.9%] Remove [0111110] => No +[39.2%] Remove [0111101] => No +[47.1%] Remove [0111100] => No +[55.7%] Remove [0111011] => No +[63.6%] Remove [0111010] => No +[71.9%] Remove [0111001] => No +[78.9%] Remove [0111000] => No ============= Depth 8 ============= -[ 0.3%] Remove [01111110] => No (cached) -[ 4.5%] Remove [01111101] => No -[ 5.6%] Remove [01111100] => No (cached) -[35.7%] Remove [01111010] => No (cached) -[42.8%] Remove [01111000] => No (cached) -[53.7%] Remove [01110110] => No (cached) -[63.9%] Remove [01110100] => No (cached) -[74.4%] Remove [01110010] => No (cached) -[80.8%] Remove [01110000] => No (cached) +[ 0.4%] Remove [01111110] => No (cached) +[ 4.9%] Remove [01111101] => No +[ 6.1%] Remove [01111100] => No (cached) +[39.2%] Remove [01111010] => No (cached) +[47.1%] Remove [01111000] => No (cached) +[55.7%] Remove [01110110] => No (cached) +[63.6%] Remove [01110100] => No (cached) +[71.9%] Remove [01110010] => No (cached) +[78.9%] Remove [01110000] => No (cached) ============= Depth 9 ============= -[ 0.3%] Remove [011111100] => No (cached) -[ 4.5%] Remove [011111010] => No (cached) -[ 5.6%] Remove [011111001] => No -[19.5%] Remove [011111000] => Yes -[35.7%] Remove [011110101] => No -[40.2%] Remove [011110100] => Yes -[42.8%] Remove [011110001] => No -[47.3%] Remove [011110000] => Yes -[53.7%] Remove [011101101] => No -[58.2%] Remove [011101100] => Yes -[63.9%] Remove [011101001] => No -[68.4%] Remove [011101000] => Yes -[74.4%] Remove [011100101] => No -[78.1%] Remove [011100100] => Yes -[80.8%] Remove [011100001] => No -[86.0%] Remove [011100000] => No +[ 0.4%] Remove [011111100] => No (cached) +[ 4.9%] Remove [011111010] => No (cached) +[ 6.1%] Remove [011111001] => No +[21.4%] Remove [011111000] => Yes +[39.2%] Remove [011110101] => No +[44.2%] Remove [011110100] => Yes +[47.1%] Remove [011110001] => No +[52.0%] Remove [011110000] => Yes +[55.7%] Remove [011101101] => No +[60.7%] Remove [011101100] => Yes +[63.6%] Remove [011101001] => No +[68.5%] Remove [011101000] => Yes +[71.9%] Remove [011100101] => No +[76.0%] Remove [011100100] => Yes +[78.9%] Remove [011100001] => No +[84.7%] Remove [011100000] => No ============= Depth 10 ============= [ 0.5%] Remove [0111111000] => No [ 6.7%] Remove [0111110100] => No @@ -532,8 +516,8 @@ [67.4%] Remove [0111001001000] => No [74.5%] Remove [0111000011100] => No (cached) [76.3%] Remove [0111000011000] => No -[82.8%] Remove [0111000001001] => No -[84.0%] Remove [0111000001000] => No +[82.8%] Remove [0111000001001] => No (cached) +[84.0%] Remove [0111000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [01111100011101] => No [ 8.8%] Unwrap [01111100011101] => No @@ -548,9 +532,9 @@ [50.2%] Remove [01110110010000] => No [58.5%] Remove [01110100010000] => No [76.3%] Remove [01110000110000] => No -[82.8%] Remove [01110000010010] => No -[84.0%] Remove [01110000010001] => No -[84.6%] Remove [01110000010000] => No +[82.8%] Remove [01110000010010] => No (cached) +[84.0%] Remove [01110000010001] => No (cached) +[84.6%] Remove [01110000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [011111000111010] => No [14.7%] Remove [011111000110100] => No (cached) @@ -729,8 +713,8 @@ [71.5%] Remove [0000001001000] => No [79.1%] Remove [0000000011100] => No (cached) [81.0%] Remove [0000000011000] => No -[87.9%] Remove [0000000001001] => No -[89.2%] Remove [0000000001000] => No +[87.9%] Remove [0000000001001] => No (cached) +[89.2%] Remove [0000000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [00001100011101] => No [ 8.8%] Unwrap [00001100011101] => No @@ -745,9 +729,9 @@ [53.1%] Remove [00000110010000] => No [62.0%] Remove [00000100010000] => No [81.0%] Remove [00000000110000] => No -[87.9%] Remove [00000000010010] => No -[89.2%] Remove [00000000010001] => No -[89.8%] Remove [00000000010000] => No +[87.9%] Remove [00000000010010] => No (cached) +[89.2%] Remove [00000000010001] => No (cached) +[89.8%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [000011000111010] => No (cached) [15.1%] Remove [000011000110100] => No (cached) @@ -959,4 +943,4 @@ [ 8.8%] Remove [00001100011101010] => No (cached) [10.1%] Remove [00001100011101001] => No (cached) [10.7%] Remove [00001100011101000] => No (cached) -Done in 606 tests +Done in 571 tests diff --git a/tests/strat-inbreadth/src.dump b/tests/strat-inbreadth/src.dump index 2776b2f..adf5db6 100644 --- a/tests/strat-inbreadth/src.dump +++ b/tests/strat-inbreadth/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/strat-inbreadth/src.json b/tests/strat-inbreadth/src.json index 23b9ad8..83a994f 100644 --- a/tests/strat-inbreadth/src.json +++ b/tests/strat-inbreadth/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/strat-indepth/progress.txt b/tests/strat-indepth/progress.txt index 77dec87..a09f6ce 100644 --- a/tests/strat-indepth/progress.txt +++ b/tests/strat-indepth/progress.txt @@ -78,15 +78,15 @@ [12.9%] Remove [01110001101] => No [12.9%] Remove [011100011010] => No [12.9%] Remove [0111000110101] => No -[12.9%] Remove [01110001101010] => No +[12.9%] Remove [01110001101010] => No (cached) [13.3%] Remove [0111000110100] => No [13.3%] Remove [01110001101001] => No [13.5%] Remove [01110001101000] => No -[13.5%] Remove [011100011010001] => No -[13.5%] Remove [0111000110100010] => No -[13.9%] Remove [011100011010000] => No -[13.9%] Remove [0111000110100001] => No -[14.1%] Remove [0111000110100000] => No +[13.5%] Remove [011100011010001] => No (cached) +[13.5%] Remove [0111000110100010] => No (cached) +[13.9%] Remove [011100011010000] => No (cached) +[13.9%] Remove [0111000110100001] => No (cached) +[14.1%] Remove [0111000110100000] => No (cached) [15.2%] Remove [01110001100] => No [15.2%] Remove [011100011001] => No [15.2%] Remove [0111000110010] => No @@ -244,7 +244,7 @@ [85.2%] Remove [0001000] => No [85.2%] Remove [00010001] => No [85.2%] Remove [000100011] => No -[85.2%] Remove [0001000110] => No +[85.2%] Remove [0001000110] => No (cached) [85.6%] Remove [000100010] => Yes [87.4%] Remove [00010000] => No [88.4%] Remove [0000] => No @@ -275,7 +275,7 @@ [95.0%] Remove [000000011] => No [95.0%] Remove [0000000110] => No [95.0%] Remove [00000001101] => No -[95.0%] Remove [000000011010] => No +[95.0%] Remove [000000011010] => No (cached) [95.4%] Remove [00000001100] => No [95.4%] Remove [000000011001] => No [95.6%] Remove [000000011000] => No @@ -377,11 +377,11 @@ [22.2%] Remove [011111000110101] => Yes [23.5%] Remove [011111000110100] => No (cached) [23.5%] Remove [0111110001101000] => No (cached) -[23.5%] Remove [01111100011010001] => No -[23.5%] Remove [011111000110100010] => No -[24.3%] Remove [01111100011010000] => No -[24.3%] Remove [011111000110100001] => No -[24.7%] Remove [011111000110100000] => No +[23.5%] Remove [01111100011010001] => No (cached) +[23.5%] Remove [011111000110100010] => No (cached) +[24.3%] Remove [01111100011010000] => No (cached) +[24.3%] Remove [011111000110100001] => No (cached) +[24.7%] Remove [011111000110100000] => No (cached) [27.3%] Remove [0111110001100] => Yes [31.6%] Remove [01111100010] => Yes [38.4%] Remove [0111110000] => No @@ -568,11 +568,11 @@ [31.9%] Remove [00001100010000] => No (cached) [31.9%] Remove [000011000100000] => No (cached) [31.9%] Remove [0000110001000000] => No (cached) -[31.9%] Remove [00001100010000001] => No -[31.9%] Remove [000011000100000010] => No -[33.1%] Remove [00001100010000000] => No -[33.1%] Remove [000011000100000001] => No -[33.7%] Remove [000011000100000000] => No +[31.9%] Remove [00001100010000001] => No (cached) +[31.9%] Remove [000011000100000010] => No (cached) +[33.1%] Remove [00001100010000000] => No (cached) +[33.1%] Remove [000011000100000001] => No (cached) +[33.7%] Remove [000011000100000000] => No (cached) [39.2%] Remove [0000110000] => No [42.3%] Remove [000010] => No [42.3%] Remove [0000101] => No @@ -853,4 +853,4 @@ [91.3%] Remove [00000000000] => No (cached) [91.3%] Remove [000000000001] => No (cached) [91.9%] Remove [000000000000] => No (cached) -Done in 541 tests +Done in 523 tests diff --git a/tests/strat-indepth/src.dump b/tests/strat-indepth/src.dump index 2776b2f..adf5db6 100644 --- a/tests/strat-indepth/src.dump +++ b/tests/strat-indepth/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/strat-indepth/src.json b/tests/strat-indepth/src.json index 23b9ad8..83a994f 100644 --- a/tests/strat-indepth/src.json +++ b/tests/strat-indepth/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/strat-lookback/progress.txt b/tests/strat-lookback/progress.txt index 5637fbb..85133b1 100644 --- a/tests/strat-lookback/progress.txt +++ b/tests/strat-lookback/progress.txt @@ -307,7 +307,7 @@ [77.8%] Remove [0111000011100] => No [79.3%] Remove [0111000011000] => No [84.9%] Remove [0111000001001] => No -[85.9%] Remove [0111000001000] => No +[85.9%] Remove [0111000001000] => No (cached) ============= Depth 12 ============= [ 0.5%] Remove [011111100010] => No [ 1.7%] Remove [011111100001] => No @@ -337,7 +337,7 @@ [76.5%] Remove [011100001100] => No [80.0%] Remove [011100001001] => No [80.5%] Remove [011100001000] => No -[82.8%] Remove [011100000100] => No +[82.8%] Remove [011100000100] => No (cached) ============= Depth 14 ============= [ 8.5%] Remove [01111100011101] => No [ 8.5%] Unwrap [01111100011101] => No @@ -352,9 +352,9 @@ [51.4%] Remove [01110110010000] => No [59.4%] Remove [01110100010000] => No [76.5%] Remove [01110000110000] => No -[82.8%] Remove [01110000010010] => No -[84.0%] Remove [01110000010001] => No -[84.5%] Remove [01110000010000] => No +[82.8%] Remove [01110000010010] => No (cached) +[84.0%] Remove [01110000010001] => No (cached) +[84.5%] Remove [01110000010000] => No (cached) ============= Depth 15 ============= [ 8.5%] Remove [011111000111010] => No [14.2%] Remove [011111000110101] => Yes @@ -386,8 +386,8 @@ [58.2%] Remove [01110100010000] => No [75.8%] Remove [01110000110000] => No [82.3%] Remove [01110000010010] => No -[83.5%] Remove [01110000010001] => No -[84.1%] Remove [01110000010000] => No +[83.5%] Remove [01110000010001] => No (cached) +[84.1%] Remove [01110000010000] => No (cached) ============= Depth 16 ============= [ 8.8%] Remove [0111110001110101] => No [10.0%] Remove [0111110001110100] => No @@ -563,8 +563,8 @@ [71.5%] Remove [0000001001000] => No [79.1%] Remove [0000000011100] => No (cached) [81.0%] Remove [0000000011000] => No -[87.9%] Remove [0000000001001] => No -[89.2%] Remove [0000000001000] => No +[87.9%] Remove [0000000001001] => No (cached) +[89.2%] Remove [0000000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [00001100011101] => No [ 8.8%] Unwrap [00001100011101] => No @@ -579,9 +579,9 @@ [53.1%] Remove [00000110010000] => No [62.0%] Remove [00000100010000] => No [81.0%] Remove [00000000110000] => No -[87.9%] Remove [00000000010010] => No -[89.2%] Remove [00000000010001] => No -[89.8%] Remove [00000000010000] => No +[87.9%] Remove [00000000010010] => No (cached) +[89.2%] Remove [00000000010001] => No (cached) +[89.8%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [000011000111010] => No (cached) [15.1%] Remove [000011000110100] => No (cached) @@ -793,4 +793,4 @@ [ 8.8%] Remove [00001100011101010] => No (cached) [10.1%] Remove [00001100011101001] => No (cached) [10.7%] Remove [00001100011101000] => No (cached) -Done in 466 tests +Done in 454 tests diff --git a/tests/strat-lookback/src.dump b/tests/strat-lookback/src.dump index 2776b2f..adf5db6 100644 --- a/tests/strat-lookback/src.dump +++ b/tests/strat-lookback/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/strat-lookback/src.json b/tests/strat-lookback/src.json index 23b9ad8..83a994f 100644 --- a/tests/strat-lookback/src.json +++ b/tests/strat-lookback/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] } diff --git a/tests/strat-pingpong/progress.txt b/tests/strat-pingpong/progress.txt index 90e32a4..2c28890 100644 --- a/tests/strat-pingpong/progress.txt +++ b/tests/strat-pingpong/progress.txt @@ -448,7 +448,7 @@ [77.8%] Remove [0111000011100] => No [79.3%] Remove [0111000011000] => No [84.9%] Remove [0111000001001] => No -[85.9%] Remove [0111000001000] => No +[85.9%] Remove [0111000001000] => No (cached) ============= Depth 12 ============= [ 0.5%] Remove [011111100010] => No [ 1.7%] Remove [011111100001] => No @@ -478,7 +478,7 @@ [76.5%] Remove [011100001100] => No [80.0%] Remove [011100001001] => No [80.5%] Remove [011100001000] => No -[82.8%] Remove [011100000100] => No +[82.8%] Remove [011100000100] => No (cached) ============= Depth 13 ============= [ 2.2%] Remove [0111111000001] => No [ 2.8%] Remove [0111111000000] => No @@ -511,9 +511,9 @@ [51.4%] Remove [01110110010000] => No [59.4%] Remove [01110100010000] => No [76.5%] Remove [01110000110000] => No -[82.8%] Remove [01110000010010] => No -[84.0%] Remove [01110000010001] => No -[84.5%] Remove [01110000010000] => No +[82.8%] Remove [01110000010010] => No (cached) +[84.0%] Remove [01110000010001] => No (cached) +[84.5%] Remove [01110000010000] => No (cached) ============= Depth 15 ============= [ 8.5%] Remove [011111000111010] => No [14.2%] Remove [011111000110101] => Yes @@ -545,8 +545,8 @@ [58.2%] Remove [01110100010000] => No [75.8%] Remove [01110000110000] => No [82.3%] Remove [01110000010010] => No -[83.5%] Remove [01110000010001] => No -[84.1%] Remove [01110000010000] => No +[83.5%] Remove [01110000010001] => No (cached) +[84.1%] Remove [01110000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [011111000111010] => No [14.7%] Remove [011111000110100] => No (cached) @@ -742,8 +742,8 @@ [71.5%] Remove [0000001001000] => No [79.1%] Remove [0000000011100] => No (cached) [81.0%] Remove [0000000011000] => No -[87.9%] Remove [0000000001001] => No -[89.2%] Remove [0000000001000] => No +[87.9%] Remove [0000000001001] => No (cached) +[89.2%] Remove [0000000001000] => No (cached) ============= Depth 14 ============= [ 8.8%] Remove [00001100011101] => No [ 8.8%] Unwrap [00001100011101] => No @@ -758,9 +758,9 @@ [53.1%] Remove [00000110010000] => No [62.0%] Remove [00000100010000] => No [81.0%] Remove [00000000110000] => No -[87.9%] Remove [00000000010010] => No -[89.2%] Remove [00000000010001] => No -[89.8%] Remove [00000000010000] => No +[87.9%] Remove [00000000010010] => No (cached) +[89.2%] Remove [00000000010001] => No (cached) +[89.8%] Remove [00000000010000] => No (cached) ============= Depth 15 ============= [ 8.8%] Remove [000011000111010] => No (cached) [15.1%] Remove [000011000110100] => No (cached) @@ -972,4 +972,4 @@ [ 8.8%] Remove [00001100011101010] => No (cached) [10.1%] Remove [00001100011101001] => No (cached) [10.7%] Remove [00001100011101000] => No (cached) -Done in 539 tests +Done in 527 tests diff --git a/tests/strat-pingpong/src.dump b/tests/strat-pingpong/src.dump index 2776b2f..adf5db6 100644 --- a/tests/strat-pingpong/src.dump +++ b/tests/strat-pingpong/src.dump @@ -8,13 +8,13 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 12 - ] + [ "std" ] =10 + [ "." /* . */ ] =11 => 12 + ] =9 [ - [ "stdio" ] + [ "stdio" ] =13 ] =12 - ] + ] => 9 10 11 12 13 [ ", " /* , */ ] => 15 ] [ @@ -24,8 +24,8 @@ [ ", " /* , */ ] => 20 ] [ - [ "x" ] - ] =20 + [ "x" ] =21 + ] =20 => 21 ] ] =15 ] @@ -108,18 +108,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 65 - ] + [ "std" ] =63 + [ "." /* . */ ] =64 => 65 + ] =62 [ - [ "stdio" ] + [ "stdio" ] =66 ] =65 - ] + ] => 62 63 64 65 66 [ ", " /* , */ ] => 68 ] [ - [ "x" ] - ] =68 + [ "x" ] =69 + ] =68 => 69 ] ";\n\n" ] @@ -193,14 +193,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 111 - ] + [ "std" ] =109 + [ "." /* . */ ] =110 => 111 + ] =108 [ - [ "stdio" ] + [ "stdio" ] =112 ] =111 - ] - ] =106 + ] =107 + ] =106 => 107 108 109 110 111 112 ] ";\n\n" ] @@ -423,12 +423,12 @@ [ "import " /* import */ ] [ [ - [ "std" ] - [ "." /* . */ ] => 224 - ] + [ "std" ] =222 + [ "." /* . */ ] =223 => 224 + ] => 222 223 [ - [ "stdio" ] - ] =224 + [ "stdio" ] =225 + ] =224 => 225 ] ";\n\n" ] @@ -515,14 +515,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 272 - ] + [ "std" ] =270 + [ "." /* . */ ] =271 => 272 + ] =269 [ - [ "stdio" ] + [ "stdio" ] =273 ] =272 - ] - ] =267 + ] =268 + ] =267 => 268 269 270 271 272 273 ] ";\n\n" ] @@ -593,14 +593,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 314 - ] + [ "std" ] =312 + [ "." /* . */ ] =313 => 314 + ] =311 [ - [ "stdio" ] + [ "stdio" ] =315 ] =314 - ] - ] =309 + ] =310 + ] =309 => 310 311 312 313 314 315 ] ";\n\n" ] @@ -674,14 +674,14 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 356 - ] + [ "std" ] =354 + [ "." /* . */ ] =355 => 356 + ] =353 [ - [ "stdio" ] + [ "stdio" ] =357 ] =356 - ] - ] =351 + ] =352 + ] =351 => 352 353 354 355 356 357 ] ";\n\n" ] @@ -775,18 +775,18 @@ [ [ [ - [ "std" ] - [ "." /* . */ ] => 415 - ] + [ "std" ] =413 + [ "." /* . */ ] =414 => 415 + ] =412 [ - [ "stdio" ] + [ "stdio" ] =416 ] =415 - ] + ] => 412 413 414 415 416 [ ", " /* , */ ] => 418 ] [ - [ "x" ] - ] =418 + [ "x" ] =419 + ] =418 => 419 ] ] =408 ] diff --git a/tests/strat-pingpong/src.json b/tests/strat-pingpong/src.json index 23b9ad8..83a994f 100644 --- a/tests/strat-pingpong/src.json +++ b/tests/strat-pingpong/src.json @@ -19,25 +19,39 @@ { "children": [ { + "dependents": [ + "8" + ], "head": "std" }, { + "dependents": [ + "8" + ], "label": "11", "tail": "." } + ], + "dependents": [ + "8" ] }, { "children": [ { + "dependents": [ + "8" + ], "head": "stdio" } ], "dependents": [ - "11" + "11", + "8" ] } - ] + ], + "label": "8" }, { "label": "14", @@ -63,12 +77,16 @@ { "children": [ { + "dependents": [ + "20" + ], "head": "x" } ], "dependents": [ "19" - ] + ], + "label": "20" } ] } @@ -240,25 +258,39 @@ { "children": [ { + "dependents": [ + "61" + ], "head": "std" }, { + "dependents": [ + "61" + ], "label": "64", "tail": "." } + ], + "dependents": [ + "61" ] }, { "children": [ { + "dependents": [ + "61" + ], "head": "stdio" } ], "dependents": [ - "64" + "64", + "61" ] } - ] + ], + "label": "61" }, { "label": "67", @@ -269,12 +301,16 @@ { "children": [ { + "dependents": [ + "68" + ], "head": "x" } ], "dependents": [ "67" - ] + ], + "label": "68" } ] } @@ -428,30 +464,47 @@ { "children": [ { + "dependents": [ + "106" + ], "head": "std" }, { + "dependents": [ + "106" + ], "label": "110", "tail": "." } + ], + "dependents": [ + "106" ] }, { "children": [ { + "dependents": [ + "106" + ], "head": "stdio" } ], "dependents": [ - "110" + "110", + "106" ] } + ], + "dependents": [ + "106" ] } ], "dependents": [ "105" - ] + ], + "label": "106" } ] } @@ -907,23 +960,34 @@ { "children": [ { + "dependents": [ + "221" + ], "head": "std" }, { + "dependents": [ + "221" + ], "label": "223", "tail": "." } - ] + ], + "label": "221" }, { "children": [ { + "dependents": [ + "224" + ], "head": "stdio" } ], "dependents": [ "223" - ] + ], + "label": "224" } ] } @@ -1106,30 +1170,47 @@ { "children": [ { + "dependents": [ + "267" + ], "head": "std" }, { + "dependents": [ + "267" + ], "label": "271", "tail": "." } + ], + "dependents": [ + "267" ] }, { "children": [ { + "dependents": [ + "267" + ], "head": "stdio" } ], "dependents": [ - "271" + "271", + "267" ] } + ], + "dependents": [ + "267" ] } ], "dependents": [ "266" - ] + ], + "label": "267" } ] } @@ -1282,30 +1363,47 @@ { "children": [ { + "dependents": [ + "309" + ], "head": "std" }, { + "dependents": [ + "309" + ], "label": "313", "tail": "." } + ], + "dependents": [ + "309" ] }, { "children": [ { + "dependents": [ + "309" + ], "head": "stdio" } ], "dependents": [ - "313" + "313", + "309" ] } + ], + "dependents": [ + "309" ] } ], "dependents": [ "308" - ] + ], + "label": "309" } ] } @@ -1463,30 +1561,47 @@ { "children": [ { + "dependents": [ + "351" + ], "head": "std" }, { + "dependents": [ + "351" + ], "label": "355", "tail": "." } + ], + "dependents": [ + "351" ] }, { "children": [ { + "dependents": [ + "351" + ], "head": "stdio" } ], "dependents": [ - "355" + "355", + "351" ] } + ], + "dependents": [ + "351" ] } ], "dependents": [ "350" - ] + ], + "label": "351" } ] } @@ -1702,25 +1817,39 @@ { "children": [ { + "dependents": [ + "411" + ], "head": "std" }, { + "dependents": [ + "411" + ], "label": "414", "tail": "." } + ], + "dependents": [ + "411" ] }, { "children": [ { + "dependents": [ + "411" + ], "head": "stdio" } ], "dependents": [ - "414" + "414", + "411" ] } - ] + ], + "label": "411" }, { "label": "417", @@ -1731,12 +1860,16 @@ { "children": [ { + "dependents": [ + "418" + ], "head": "x" } ], "dependents": [ "417" - ] + ], + "label": "418" } ] }