ranger-compiler 2.1.70 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +103 -0
- package/README.md +956 -133
- package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
- package/dist/README.md +116 -0
- package/dist/{bin/api.d.ts → api.d.ts} +430 -154
- package/dist/api.js +34345 -0
- package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
- package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
- package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
- package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
- package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
- package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
- package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
- package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
- package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
- package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
- package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
- package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
- package/dist/lib/lib/ACEEditor.rgr +5 -0
- package/dist/lib/lib/Ajax.rgr +196 -0
- package/dist/lib/lib/CmdParams.rgr +72 -0
- package/dist/lib/lib/Crypto.rgr +90 -0
- package/dist/lib/lib/DOMLib.rgr +307 -0
- package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
- package/dist/lib/lib/ImmutableVector.rgr +364 -0
- package/dist/lib/lib/IndexedDB.rgr +32 -0
- package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
- package/dist/lib/lib/JinxProcess.rgr +838 -0
- package/dist/lib/lib/SQL.rgr +44 -0
- package/dist/lib/lib/ServiceLib.rgr +9 -0
- package/dist/lib/lib/Storage.rgr +89 -0
- package/dist/lib/lib/Time.rgr +75 -0
- package/dist/lib/lib/Timers.rgr +176 -0
- package/dist/lib/lib/TypedArrays.rgr +14 -0
- package/dist/lib/lib/ViewLib.rgr +851 -0
- package/dist/lib/lib/WebLib.rgr +47 -0
- package/dist/lib/lib/WebServerLib.rgr +137 -0
- package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
- package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
- package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
- package/dist/lib/ranger-dir.rgr +175 -0
- package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
- package/dist/lib/stdops.rgr +168 -0
- package/dist/package.json +47 -0
- package/{compiler/bin/output.js → dist/rgrc.js} +15377 -7936
- package/dist/stdops.rgr +168 -0
- package/package.json +196 -39
- package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day1/bin/day1.cpp +0 -124
- package/adventofcode/day1/bin/day1.go +0 -75
- package/adventofcode/day1/bin/day1.js +0 -45
- package/adventofcode/day1/bin/day1.php +0 -46
- package/adventofcode/day1/bin/day1.scala +0 -48
- package/adventofcode/day1/bin/day1.swift +0 -48
- package/adventofcode/day1/bin/day1_part2.cpp +0 -180
- package/adventofcode/day1/bin/day1_part2.go +0 -123
- package/adventofcode/day1/bin/day1_part2.js +0 -76
- package/adventofcode/day1/bin/day1_part2.php +0 -88
- package/adventofcode/day1/bin/day1_part2.scala +0 -81
- package/adventofcode/day1/bin/day1_part2.swift +0 -91
- package/adventofcode/day1/bin/day_one.java +0 -38
- package/adventofcode/day1/bin/day_one_part_two.java +0 -57
- package/adventofcode/day1/bin/operatorsOf.java +0 -37
- package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
- package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
- package/adventofcode/day1/bin/variant.hpp +0 -2416
- package/adventofcode/day1/compile.bat +0 -7
- package/adventofcode/day1/compile2.bat +0 -7
- package/adventofcode/day1/day1.clj +0 -19
- package/adventofcode/day1/day1_part2.clj +0 -43
- package/adventofcode/day1/input1.txt +0 -1
- package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
- package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day2/bin/day2.cpp +0 -133
- package/adventofcode/day2/bin/day2.go +0 -85
- package/adventofcode/day2/bin/day2.js +0 -45
- package/adventofcode/day2/bin/day2.php +0 -59
- package/adventofcode/day2/bin/day2.scala +0 -54
- package/adventofcode/day2/bin/day2.swift +0 -62
- package/adventofcode/day2/bin/day2_part2.cpp +0 -150
- package/adventofcode/day2/bin/day2_part2.go +0 -101
- package/adventofcode/day2/bin/day2_part2.js +0 -54
- package/adventofcode/day2/bin/day2_part2.php +0 -80
- package/adventofcode/day2/bin/day2_part2.scala +0 -68
- package/adventofcode/day2/bin/day2_part2.swift +0 -82
- package/adventofcode/day2/bin/day_two.java +0 -61
- package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.class +0 -0
- package/adventofcode/day2/bin/day_two_part_two.java +0 -80
- package/adventofcode/day2/bin/operatorsOf.class +0 -0
- package/adventofcode/day2/bin/operatorsOf.java +0 -18
- package/adventofcode/day2/bin/variant.hpp +0 -2416
- package/adventofcode/day2/compile.bat +0 -7
- package/adventofcode/day2/compile2.bat +0 -7
- package/adventofcode/day2/day2.clj +0 -60
- package/adventofcode/day2/day2_part2.clj +0 -69
- package/adventofcode/day2/input1.txt +0 -1
- package/adventofcode/day3/bin/Grid.java +0 -92
- package/adventofcode/day3/bin/GridRow.java +0 -5
- package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
- package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
- package/adventofcode/day3/bin/day3.cpp +0 -64
- package/adventofcode/day3/bin/day3.go +0 -55
- package/adventofcode/day3/bin/day3.js +0 -42
- package/adventofcode/day3/bin/day3.php +0 -41
- package/adventofcode/day3/bin/day3.scala +0 -52
- package/adventofcode/day3/bin/day3.swift +0 -43
- package/adventofcode/day3/bin/day3_part2.cpp +0 -216
- package/adventofcode/day3/bin/day3_part2.go +0 -188
- package/adventofcode/day3/bin/day3_part2.js +0 -123
- package/adventofcode/day3/bin/day3_part2.php +0 -135
- package/adventofcode/day3/bin/day3_part2.swift +0 -131
- package/adventofcode/day3/bin/day_three_part_two.java +0 -43
- package/adventofcode/day3/bin/day_two.java +0 -42
- package/adventofcode/day3/bin/operatorsOf.java +0 -14
- package/adventofcode/day3/bin/variant.hpp +0 -2416
- package/adventofcode/day3/compile.bat +0 -7
- package/adventofcode/day3/compile2.bat +0 -7
- package/adventofcode/day3/day3.clj +0 -42
- package/adventofcode/day3/day3_part2.clj +0 -112
- package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
- package/adventofcode/day4/bin/day4.cpp +0 -118
- package/adventofcode/day4/bin/day4.go +0 -75
- package/adventofcode/day4/bin/day4.js +0 -40
- package/adventofcode/day4/bin/day4.php +0 -52
- package/adventofcode/day4/bin/day4.scala +0 -47
- package/adventofcode/day4/bin/day4.swift +0 -56
- package/adventofcode/day4/bin/day4_part2.go +0 -129
- package/adventofcode/day4/bin/day4_part2.js +0 -72
- package/adventofcode/day4/bin/day_four.java +0 -41
- package/adventofcode/day4/bin/inputData.java +0 -7
- package/adventofcode/day4/bin/operatorsOf.java +0 -11
- package/adventofcode/day4/bin/variant.hpp +0 -2416
- package/adventofcode/day4/compile.bat +0 -7
- package/adventofcode/day4/compile2.bat +0 -7
- package/adventofcode/day4/day4.clj +0 -32
- package/adventofcode/day4/day4_part2.clj +0 -44
- package/adventofcode/day4/input.clj +0 -519
- package/adventofcode/day4/input.txt +0 -512
- package/bin/api.ts +0 -24471
- package/bin/compiler.ts +0 -24482
- package/bin/output.js +0 -23819
- package/compiler/ColorConsole.clj +0 -22
- package/compiler/ContextOperators.clj +0 -75
- package/compiler/FlowEnterVarDef.clj +0 -223
- package/compiler/InputFileSystem.clj +0 -276
- package/compiler/RangerDocs.clj +0 -7
- package/compiler/TFactory.clj +0 -146
- package/compiler/TFiles.clj +0 -23
- package/compiler/TFlow.clj +0 -39
- package/compiler/TNodeFactory.clj +0 -84
- package/compiler/TTypes.clj +0 -188
- package/compiler/VirtualCompiler.clj +0 -807
- package/compiler/bin/ng_Compiler.js +0 -23779
- package/compiler/commonmark_plugin.clj +0 -359
- package/compiler/feat2.bat +0 -2
- package/compiler/feats.bat +0 -9
- package/compiler/feature_tests.clj +0 -192
- package/compiler/index.js +0 -2
- package/compiler/issue_57.clj +0 -25
- package/compiler/makefile_plugin.clj +0 -135
- package/compiler/markdown_plugin.clj +0 -386
- package/compiler/maven_plugin.clj +0 -162
- package/compiler/ng_AndroidPageWriter.clj +0 -299
- package/compiler/ng_CodeNode.clj +0 -756
- package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
- package/compiler/ng_Compiler.clj +0 -49
- package/compiler/ng_CompilerGeneric.clj +0 -260
- package/compiler/ng_CompilerOrig.clj +0 -854
- package/compiler/ng_DictNode.clj +0 -346
- package/compiler/ng_DictNode2.clj +0 -316
- package/compiler/ng_Execute.clj +0 -138
- package/compiler/ng_Execute1.clj +0 -129
- package/compiler/ng_FlowWork.clj +0 -3951
- package/compiler/ng_LiveCompiler.clj +0 -1109
- package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
- package/compiler/ng_RangerActiveOperators.clj +0 -86
- package/compiler/ng_RangerAppClassDesc.clj +0 -400
- package/compiler/ng_RangerAppEnums.clj +0 -86
- package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
- package/compiler/ng_RangerAppMessages.clj +0 -15
- package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
- package/compiler/ng_RangerAppParamDesc.clj +0 -388
- package/compiler/ng_RangerAppWriterContext.clj +0 -1793
- package/compiler/ng_RangerArgMatch.clj +0 -638
- package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
- package/compiler/ng_RangerCppClassWriter.clj +0 -1023
- package/compiler/ng_RangerDocGenerator.clj +0 -305
- package/compiler/ng_RangerFlowParser.clj +0 -4992
- package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
- package/compiler/ng_RangerGenericClassWriter.clj +0 -573
- package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
- package/compiler/ng_RangerImmutableExtension.clj +0 -77
- package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
- package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1040
- package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
- package/compiler/ng_RangerLanguageWriters.clj +0 -14
- package/compiler/ng_RangerLispParser.clj +0 -873
- package/compiler/ng_RangerPHPClassWriter.clj +0 -643
- package/compiler/ng_RangerPlugin.clj +0 -41
- package/compiler/ng_RangerRangerClassWriter.clj +0 -357
- package/compiler/ng_RangerRustClassWriter.clj +0 -420
- package/compiler/ng_RangerScalaClassWriter.clj +0 -818
- package/compiler/ng_RangerSerializeClass.clj +0 -502
- package/compiler/ng_RangerServiceBuilder.clj +0 -63
- package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
- package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
- package/compiler/ng_RangerTypeClass.clj +0 -45
- package/compiler/ng_SourceParser.clj +0 -241
- package/compiler/ng_SourceParser2.clj +0 -214
- package/compiler/ng_WebPageWriter.clj +0 -39
- package/compiler/ng_jsonParser.clj +0 -340
- package/compiler/ng_p_test.clj +0 -1711
- package/compiler/ng_parser.clj +0 -911
- package/compiler/ng_parser2.clj +0 -735
- package/compiler/ng_parser2_backup.clj +0 -1679
- package/compiler/ng_parser_backup.clj +0 -886
- package/compiler/ng_parser_ok.clj +0 -1718
- package/compiler/ng_parser_ok2.clj +0 -1717
- package/compiler/ng_parser_std_match.clj +0 -687
- package/compiler/ng_parser_std_match2.clj +0 -1012
- package/compiler/ng_parser_v2.clj +0 -1251
- package/compiler/ng_ui.clj +0 -403
- package/compiler/ng_ui_test.clj +0 -18
- package/compiler/ng_writer.clj +0 -338
- package/compiler/ng_xmlParser.clj +0 -472
- package/compiler/ng_xmlParser2.clj +0 -317
- package/compiler/ng_xmlParser3.clj +0 -251
- package/compiler/opdoc.bat +0 -4
- package/compiler/operators.md +0 -290
- package/compiler/p.bat +0 -4
- package/compiler/package.json +0 -10
- package/compiler/pcmd.bat +0 -4
- package/compiler/pcmd2.bat +0 -3
- package/compiler/plaintext_plugin.clj +0 -69
- package/compiler/plugin.bat +0 -19
- package/compiler/plugin2.bat +0 -4
- package/compiler/plugin_app.bat +0 -3
- package/compiler/plugin_apps.clj +0 -27
- package/compiler/plugins.bat +0 -10
- package/compiler/reveal_plugin.clj +0 -409
- package/compiler/simplePlugin.clj +0 -780
- package/compiler/t.bat +0 -3
- package/compiler/test_any.clj +0 -43
- package/compiler/test_call.clj +0 -141
- package/compiler/test_chain.clj +0 -79
- package/compiler/test_json.clj +0 -10
- package/compiler/test_lambda.clj +0 -153
- package/compiler/test_pcmd.clj +0 -32
- package/compiler/test_pcmd2.clj +0 -29
- package/compiler/test_plugin.clj +0 -237
- package/compiler/test_readfile.clj +0 -13
- package/compiler/test_reveal.clj +0 -19
- package/compiler/test_slides.clj +0 -312
- package/compiler/test_types.clj +0 -143
- package/compiler/test_types2.clj +0 -49
- package/compiler/test_types3.clj +0 -53
- package/compiler/test_var.clj +0 -40
- package/compiler/tonpm.bat +0 -14
- package/compiler/tonpm2.bat +0 -12
- package/compiler/ui_plugin.clj +0 -507
- package/compiler/ui_plugin2.clj +0 -427
- package/compiler/update-git.bat +0 -3
- package/compiler/vcomp.bat +0 -4
- package/compiler/viewbuilder_Android.clj +0 -176
- package/compiler/viewbuilder_Web.clj +0 -105
- package/dist/bin/api.js +0 -32422
- package/dist/bin/compiler.d.ts +0 -1638
- package/dist/bin/compiler.js +0 -32444
- package/examples/3D/bin/test_3d.js +0 -329
- package/examples/3D/test_3d.clj +0 -385
- package/examples/EVGColor/EVGColor.clj +0 -310
- package/examples/EVGColor/EVGColorContext.clj +0 -176
- package/examples/EVGColor/bin/EVGColor.js +0 -286
- package/examples/EVGColor/bin/minimized.js +0 -286
- package/examples/SVGPath/SVGPath.clj +0 -625
- package/examples/SVGPath/Vec2.clj +0 -103
- package/examples/SVGPath/bin/SVGPath.cpp +0 -887
- package/examples/SVGPath/bin/SVGPath.js +0 -682
- package/examples/SVGPath/bin/SVGPath.ts +0 -711
- package/examples/SVGPath/bin/minimized.js +0 -578
- package/examples/SVGPath/bin/variant.hpp +0 -2416
- package/examples/minification/Vec2.clj +0 -103
- package/examples/minification/bin/minified.js +0 -44
- package/examples/minification/bin/test.js +0 -117
- package/examples/minification/test.clj +0 -13
- package/fiddle/VirtualCompiler.js +0 -23495
- package/fiddle/browser_editor.js +0 -13240
- package/fiddle/compileEnv.js +0 -1
- package/fiddle/compileEnv.json +0 -1
- package/fiddle/lang_data.js +0 -1
- package/index.html +0 -18
- package/native/httpd/HttpTester.clj +0 -33
- package/native/httpd/RangerWebService.clj +0 -81
- package/operators.md +0 -290
- package/tsconfig.json +0 -29
- package/versions/cpp/compiler.cpp +0 -15032
- package/versions/es6/compiler.js +0 -12860
- package/versions/go/compiler.go +0 -21338
- package/versions/java/AfterCodeNode.java +0 -4
- package/versions/java/ClassJoinPoint.java +0 -6
- package/versions/java/CodeFile.java +0 -42
- package/versions/java/CodeFileSystem.java +0 -72
- package/versions/java/CodeNode.java +0 -807
- package/versions/java/CodeSlice.java +0 -13
- package/versions/java/CodeWriter.java +0 -185
- package/versions/java/ColorConsole.java +0 -8
- package/versions/java/CompilerInterface.java +0 -213
- package/versions/java/DictNode.java +0 -353
- package/versions/java/LiveCompiler.java +0 -772
- package/versions/java/NodeEvalState.java +0 -24
- package/versions/java/OpFindResult.java +0 -6
- package/versions/java/RangerAppArrayValue.java +0 -7
- package/versions/java/RangerAppClassDesc.java +0 -217
- package/versions/java/RangerAppEnum.java +0 -14
- package/versions/java/RangerAppFunctionDesc.java +0 -20
- package/versions/java/RangerAppHashValue.java +0 -11
- package/versions/java/RangerAppInterfaceImpl.java +0 -6
- package/versions/java/RangerAppMethodVariants.java +0 -6
- package/versions/java/RangerAppParamDesc.java +0 -321
- package/versions/java/RangerAppTodo.java +0 -6
- package/versions/java/RangerAppValue.java +0 -10
- package/versions/java/RangerAppWriterContext.java +0 -800
- package/versions/java/RangerArgMatch.java +0 -317
- package/versions/java/RangerBackReference.java +0 -7
- package/versions/java/RangerCSharpClassWriter.java +0 -287
- package/versions/java/RangerCompilerMessage.java +0 -9
- package/versions/java/RangerCppClassWriter.java +0 -725
- package/versions/java/RangerFlowParser.java +0 -2142
- package/versions/java/RangerGenericClassWriter.java +0 -367
- package/versions/java/RangerGolangClassWriter.java +0 -1379
- package/versions/java/RangerJava7ClassWriter.java +0 -652
- package/versions/java/RangerJavaScriptClassWriter.java +0 -305
- package/versions/java/RangerKotlinClassWriter.java +0 -380
- package/versions/java/RangerLispParser.java +0 -845
- package/versions/java/RangerNodeValue.java +0 -9
- package/versions/java/RangerPHPClassWriter.java +0 -527
- package/versions/java/RangerParamEventHandler.java +0 -6
- package/versions/java/RangerParamEventList.java +0 -5
- package/versions/java/RangerParamEventMap.java +0 -27
- package/versions/java/RangerRangerClassWriter.java +0 -268
- package/versions/java/RangerRefForce.java +0 -7
- package/versions/java/RangerScalaClassWriter.java +0 -365
- package/versions/java/RangerSerializeClass.java +0 -148
- package/versions/java/RangerSwift3ClassWriter.java +0 -548
- package/versions/java/RangerTypeClass.java +0 -17
- package/versions/java/SourceCode.java +0 -65
- package/versions/php/compiler.php +0 -13830
- package/versions/swift3/compiler.swift +0 -12542
- /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
- /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
- /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
- /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
- /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
- /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
- /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
class day_one {
|
|
2
|
-
constructor() {
|
|
3
|
-
}
|
|
4
|
-
}
|
|
5
|
-
class operatorsOf {
|
|
6
|
-
constructor() {
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
operatorsOf.map_2 = function(__self, cb) {
|
|
10
|
-
/** unused: const __len = __self.length **/
|
|
11
|
-
let res = [];
|
|
12
|
-
for ( let i = 0; i < __self.length; i++) {
|
|
13
|
-
var it = __self[i];
|
|
14
|
-
res.push(cb(it, i));
|
|
15
|
-
};
|
|
16
|
-
return res;
|
|
17
|
-
};
|
|
18
|
-
operatorsOf.reduce_3 = function(__self, cb, initialValue) {
|
|
19
|
-
const len_1 = __self.length;
|
|
20
|
-
let res_1 = initialValue;
|
|
21
|
-
if ( len_1 >= 1 ) {
|
|
22
|
-
for ( let i_1 = 0; i_1 < __self.length; i_1++) {
|
|
23
|
-
var it_1 = __self[i_1];
|
|
24
|
-
res_1 = cb(res_1, it_1, i_1);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
return res_1;
|
|
28
|
-
};
|
|
29
|
-
/* static JavaSript main routine at the end of the JS file */
|
|
30
|
-
function __js_main() {
|
|
31
|
-
const data = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484";
|
|
32
|
-
const values = operatorsOf.map_2((data.split("")), ((item, index) => {
|
|
33
|
-
return (isNaN( parseInt(item) ) ? undefined : parseInt(item));
|
|
34
|
-
}));
|
|
35
|
-
const random_ch = ((list, index) => {
|
|
36
|
-
if ( index >= (list.length) ) {
|
|
37
|
-
return list[0];
|
|
38
|
-
}
|
|
39
|
-
return list[index];
|
|
40
|
-
});
|
|
41
|
-
console.log((operatorsOf.reduce_3(values, ((left, right, index) => {
|
|
42
|
-
return (right == random_ch(values, (index + 1))) ? (left + right) : left;
|
|
43
|
-
}), 0).toString()));
|
|
44
|
-
}
|
|
45
|
-
__js_main();
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
class day_one {
|
|
4
|
-
function __construct( ) {
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
/* static PHP main routine */
|
|
8
|
-
$data = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484";
|
|
9
|
-
$values = operatorsOf::map_2((strlen("") == 0 ? str_split($data) : explode("", $data)), (function ($item, $index) {
|
|
10
|
-
return (intval($item));
|
|
11
|
-
}));
|
|
12
|
-
$random_ch = (function ($list, $index) {
|
|
13
|
-
if ( $index >= (count($list)) ) {
|
|
14
|
-
return $list[0];
|
|
15
|
-
}
|
|
16
|
-
return $list[$index];
|
|
17
|
-
});
|
|
18
|
-
echo( strval(operatorsOf::reduce_3($values, (function ($left, $right, $index) use ( &$random_ch, &$values) {
|
|
19
|
-
return ($right == call_user_func($random_ch, $values, ($index + 1))) ? ($left + $right) : $left;
|
|
20
|
-
// captured var random_ch
|
|
21
|
-
// captured var values
|
|
22
|
-
}), 0)) . "\n");
|
|
23
|
-
class operatorsOf {
|
|
24
|
-
function __construct( ) {
|
|
25
|
-
}
|
|
26
|
-
public static function map_2( $__self , $cb ) {
|
|
27
|
-
/** unused: $__len = count($__self) **/ ;
|
|
28
|
-
$res = array();
|
|
29
|
-
for ( $i = 0; $i < count($__self); $i++) {
|
|
30
|
-
$it = $__self[$i];
|
|
31
|
-
array_push($res, call_user_func($cb, $it, $i));
|
|
32
|
-
}
|
|
33
|
-
return $res;
|
|
34
|
-
}
|
|
35
|
-
public static function reduce_3( $__self , $cb , $initialValue ) {
|
|
36
|
-
$len_1 = count($__self);
|
|
37
|
-
$res_1 = $initialValue;
|
|
38
|
-
if ( $len_1 >= 1 ) {
|
|
39
|
-
for ( $i_1 = 0; $i_1 < count($__self); $i_1++) {
|
|
40
|
-
$it_1 = $__self[$i_1];
|
|
41
|
-
$res_1 = call_user_func($cb, $res_1, $it_1, $i_1);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return $res_1;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import scala.collection.mutable
|
|
2
|
-
import scala.util.Try
|
|
3
|
-
case class ScalaReturnValue(value:Any) extends Exception
|
|
4
|
-
|
|
5
|
-
// ----------- the scalafiddle main function begins ---------
|
|
6
|
-
val data : String = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484"
|
|
7
|
-
val values : collection.mutable.ArrayBuffer[Int] = operatorsOf.map_2((data.split("").to[collection.mutable.ArrayBuffer]), ((item : String, index : Int) => (((Try(item.toInt).toOption).get))))
|
|
8
|
-
val random_ch : (collection.mutable.ArrayBuffer[Int], Int)=> Int = ((list : collection.mutable.ArrayBuffer[Int], index : Int) => {
|
|
9
|
-
var __returns__ : Any = null
|
|
10
|
-
try {
|
|
11
|
-
if ( index >= (list.length) ) {
|
|
12
|
-
throw new ScalaReturnValue(list(0))
|
|
13
|
-
}
|
|
14
|
-
throw new ScalaReturnValue(list(index))
|
|
15
|
-
} catch {
|
|
16
|
-
case rv:ScalaReturnValue => {
|
|
17
|
-
__returns__ = rv.value
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
__returns__.asInstanceOf[Int]
|
|
21
|
-
})
|
|
22
|
-
println( (operatorsOf.reduce_3(values, ((left : Int, right : Int, index : Int) => ((( if ((right == random_ch(values, (index + 1)))) (left + right) else left)))), 0).toString) )
|
|
23
|
-
// ----------- the scalafiddle main function ends ---------
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// companion object for static methods of operatorsOf static cnt == 2
|
|
27
|
-
object operatorsOf {
|
|
28
|
-
def map_2( __self : collection.mutable.ArrayBuffer[String], cb : (String, Int)=> Int) : collection.mutable.ArrayBuffer[Int] = {
|
|
29
|
-
/** unused val __len : Int = __self.length**/
|
|
30
|
-
var res : collection.mutable.ArrayBuffer[Int] = new collection.mutable.ArrayBuffer()
|
|
31
|
-
for( i <- 0 until __self.length ) {
|
|
32
|
-
val it = __self(i)
|
|
33
|
-
res.append(cb(it, i))
|
|
34
|
-
}
|
|
35
|
-
return res
|
|
36
|
-
}
|
|
37
|
-
def reduce_3( __self : collection.mutable.ArrayBuffer[Int], cb : (Int, Int, Int)=> Int, initialValue : Int) : Int = {
|
|
38
|
-
val len_1 : Int = __self.length
|
|
39
|
-
var res_1 : Int = initialValue
|
|
40
|
-
if ( len_1 >= 1 ) {
|
|
41
|
-
for( i_1 <- 0 until __self.length ) {
|
|
42
|
-
val it_1 = __self(i_1)
|
|
43
|
-
res_1 = cb(res_1, it_1, i_1)
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return res_1
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
func ==(l: day_one, r: day_one) -> Bool {
|
|
3
|
-
return l === r
|
|
4
|
-
}
|
|
5
|
-
class day_one : Equatable {
|
|
6
|
-
}
|
|
7
|
-
func ==(l: operatorsOf, r: operatorsOf) -> Bool {
|
|
8
|
-
return l === r
|
|
9
|
-
}
|
|
10
|
-
class operatorsOf : Equatable {
|
|
11
|
-
class func map_2(__self : [String], cb : @escaping (( _ : String, _ : Int) -> Int)) -> [Int] {
|
|
12
|
-
/** unused: let __len : Int = __self.count **/
|
|
13
|
-
var res : [Int] = [Int]()
|
|
14
|
-
for ( i , it ) in __self.enumerated() {
|
|
15
|
-
res.append(cb(it, i))
|
|
16
|
-
}
|
|
17
|
-
return res;
|
|
18
|
-
}
|
|
19
|
-
class func reduce_3(__self : [Int], cb : @escaping (( _ : Int, _ : Int, _ : Int) -> Int), initialValue : Int) -> Int {
|
|
20
|
-
let len_1 : Int = __self.count
|
|
21
|
-
var res_1 : Int = initialValue
|
|
22
|
-
if ( len_1 >= 1 ) {
|
|
23
|
-
for ( i_1 , it_1 ) in __self.enumerated() {
|
|
24
|
-
res_1 = cb(res_1, it_1, i_1);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return res_1;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
func __main__swift() {
|
|
31
|
-
let data : String = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484"
|
|
32
|
-
let values : [Int] = operatorsOf.map_2(__self : ("".characters.count == 0 ? Array(data.characters).map { String($0) } : data.components( separatedBy : "")), cb : ({ (item, index) -> Int in
|
|
33
|
-
return (Int(item))!;
|
|
34
|
-
}))
|
|
35
|
-
let random_ch : (( _ : [Int], _ : Int) -> Int) = ({ (list, index) -> Int in
|
|
36
|
-
if ( index >= (list.count) ) {
|
|
37
|
-
return list[0];
|
|
38
|
-
}
|
|
39
|
-
return list[index];
|
|
40
|
-
})
|
|
41
|
-
print(String(operatorsOf.reduce_3(__self : values, cb : ({ (left, right, index) -> Int in
|
|
42
|
-
return (right == random_ch(values, (index + 1))) ? (left + right) : left;
|
|
43
|
-
// captured var random_ch
|
|
44
|
-
// captured var values
|
|
45
|
-
}), initialValue : 0)))
|
|
46
|
-
}
|
|
47
|
-
// call the main function
|
|
48
|
-
__main__swift()
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
#include <memory>
|
|
2
|
-
#include "variant.hpp"
|
|
3
|
-
#include <string>
|
|
4
|
-
#include <vector>
|
|
5
|
-
#include <sstream>
|
|
6
|
-
#include <iterator>
|
|
7
|
-
#include <math.h>
|
|
8
|
-
#include <functional>
|
|
9
|
-
#include <iostream>
|
|
10
|
-
|
|
11
|
-
// define classes here to avoid compiler errors
|
|
12
|
-
class day_one_part_two;
|
|
13
|
-
class operatorsOf;
|
|
14
|
-
class operatorsOfboolean_5;
|
|
15
|
-
class operatorsOf_5;
|
|
16
|
-
|
|
17
|
-
typedef mpark::variant<std::shared_ptr<day_one_part_two>, int, std::string, bool, double> r_union_Any;
|
|
18
|
-
|
|
19
|
-
std::vector<std::string> r_str_split(std::string data, std::string token) {
|
|
20
|
-
std::vector<std::string> output;
|
|
21
|
-
size_t pos = std::string::npos;
|
|
22
|
-
if(token.length() == 0) {
|
|
23
|
-
for(std::string::iterator it = data.begin(); it != data.end(); ++it) {
|
|
24
|
-
output.push_back( std::string( it, it + 1) );
|
|
25
|
-
}
|
|
26
|
-
return output;
|
|
27
|
-
}
|
|
28
|
-
do
|
|
29
|
-
{
|
|
30
|
-
pos = data.find(token);
|
|
31
|
-
output.push_back(data.substr(0, pos));
|
|
32
|
-
if (std::string::npos != pos)
|
|
33
|
-
data = data.substr(pos + token.size());
|
|
34
|
-
} while (std::string::npos != pos);
|
|
35
|
-
return output;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
template <class T>
|
|
40
|
-
class r_optional_primitive {
|
|
41
|
-
public:
|
|
42
|
-
bool has_value;
|
|
43
|
-
T value;
|
|
44
|
-
r_optional_primitive<T> & operator=(const r_optional_primitive<T> & rhs) {
|
|
45
|
-
has_value = rhs.has_value;
|
|
46
|
-
value = rhs.value;
|
|
47
|
-
return *this;
|
|
48
|
-
}
|
|
49
|
-
r_optional_primitive<T> & operator=(const T a_value) {
|
|
50
|
-
has_value = true;
|
|
51
|
-
value = a_value;
|
|
52
|
-
return *this;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
r_optional_primitive<int> cpp_str_to_int(std::string s) {
|
|
57
|
-
r_optional_primitive<int> result;
|
|
58
|
-
try {
|
|
59
|
-
result.value = std::stoi(s);
|
|
60
|
-
result.has_value = true;
|
|
61
|
-
} catch (...) {
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// header definitions
|
|
68
|
-
class day_one_part_two : public std::enable_shared_from_this<day_one_part_two> {
|
|
69
|
-
public :
|
|
70
|
-
/* class constructor */
|
|
71
|
-
day_one_part_two( );
|
|
72
|
-
/* static methods */
|
|
73
|
-
static int solve( std::string data );
|
|
74
|
-
static void main();
|
|
75
|
-
};
|
|
76
|
-
class operatorsOf : public std::enable_shared_from_this<operatorsOf> {
|
|
77
|
-
public :
|
|
78
|
-
/* class constructor */
|
|
79
|
-
operatorsOf( );
|
|
80
|
-
/* static methods */
|
|
81
|
-
static std::vector<std::string> filter_2( std::vector<std::string> __self , std::function<bool(std::string, int)> cb );
|
|
82
|
-
static std::vector<int> map_3( std::vector<std::string> __self , std::function<int(std::string, int)> cb );
|
|
83
|
-
static int reduce_4( std::vector<int> __self , std::function<int(int, int, int)> cb , int initialValue );
|
|
84
|
-
};
|
|
85
|
-
class operatorsOfboolean_5 : public std::enable_shared_from_this<operatorsOfboolean_5> {
|
|
86
|
-
public :
|
|
87
|
-
/* class constructor */
|
|
88
|
-
operatorsOfboolean_5( );
|
|
89
|
-
/* static methods */
|
|
90
|
-
static void assert_6( bool condition , std::string txt );
|
|
91
|
-
};
|
|
92
|
-
class operatorsOf_5 : public std::enable_shared_from_this<operatorsOf_5> {
|
|
93
|
-
public :
|
|
94
|
-
/* class constructor */
|
|
95
|
-
operatorsOf_5( );
|
|
96
|
-
/* static methods */
|
|
97
|
-
static void assert_6( bool condition , std::string txt );
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
int __g_argc;
|
|
101
|
-
char **__g_argv;
|
|
102
|
-
day_one_part_two::day_one_part_two( ) {
|
|
103
|
-
}
|
|
104
|
-
int day_one_part_two::solve( std::string data ) {
|
|
105
|
-
std::vector<std::string> list = r_str_split( data, std::string(""));
|
|
106
|
-
int __len = (int)(list.size());
|
|
107
|
-
int half_index = (int)floor( (__len / 2));
|
|
108
|
-
std::vector<int> leftSide = operatorsOf::map_3(operatorsOf::filter_2(list, [&](std::string item, int index) mutable {
|
|
109
|
-
return index < half_index;
|
|
110
|
-
}), [&](std::string item, int index) mutable {
|
|
111
|
-
return /*unwrap int*/(cpp_str_to_int(item)).value;
|
|
112
|
-
});
|
|
113
|
-
std::vector<int> rightSide = operatorsOf::map_3(operatorsOf::filter_2(list, [&](std::string item, int index) mutable {
|
|
114
|
-
return index >= half_index;
|
|
115
|
-
}), [&](std::string item, int index) mutable {
|
|
116
|
-
return /*unwrap int*/(cpp_str_to_int(item)).value;
|
|
117
|
-
});
|
|
118
|
-
return operatorsOf::reduce_4(leftSide, [&](int left, int right, int index) mutable {
|
|
119
|
-
int other = rightSide.at(index);
|
|
120
|
-
return ((right == other) ? ((left + right) + other) : left);
|
|
121
|
-
}, 0);
|
|
122
|
-
}
|
|
123
|
-
int main(int argc, char* argv[]) {
|
|
124
|
-
__g_argc = argc;
|
|
125
|
-
__g_argv = argv;
|
|
126
|
-
std::string data = std::string("428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484");
|
|
127
|
-
operatorsOfboolean_5::assert_6(day_one_part_two::solve(std::string("1212")) != 6, std::string("1212"));
|
|
128
|
-
operatorsOf_5::assert_6(day_one_part_two::solve(std::string("1221")) != 0, std::string("1221"));
|
|
129
|
-
operatorsOf_5::assert_6(day_one_part_two::solve(std::string("123425")) != 4, std::string("123425"));
|
|
130
|
-
operatorsOf_5::assert_6(day_one_part_two::solve(std::string("123123")) != 12, std::string("123123"));
|
|
131
|
-
operatorsOf_5::assert_6(day_one_part_two::solve(std::string("12131415")) != 4, std::string("12131415"));
|
|
132
|
-
std::cout << std::to_string(day_one_part_two::solve(data)) << std::endl;
|
|
133
|
-
return 0;
|
|
134
|
-
}
|
|
135
|
-
operatorsOf::operatorsOf( ) {
|
|
136
|
-
}
|
|
137
|
-
std::vector<std::string> operatorsOf::filter_2( std::vector<std::string> __self , std::function<bool(std::string, int)> cb ) {
|
|
138
|
-
std::vector<std::string> res;
|
|
139
|
-
for ( int i = 0; i != (int)(__self.size()); i++) {
|
|
140
|
-
std::string it = __self.at(i);
|
|
141
|
-
if ( cb(it, i) ) {
|
|
142
|
-
res.push_back( it );
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return res;
|
|
146
|
-
}
|
|
147
|
-
std::vector<int> operatorsOf::map_3( std::vector<std::string> __self , std::function<int(std::string, int)> cb ) {
|
|
148
|
-
/** unused: int __len = (int)(__self.size()) **/ ;
|
|
149
|
-
std::vector<int> res_1;
|
|
150
|
-
for ( int i_1 = 0; i_1 != (int)(__self.size()); i_1++) {
|
|
151
|
-
std::string it_1 = __self.at(i_1);
|
|
152
|
-
res_1.push_back( cb(it_1, i_1) );
|
|
153
|
-
}
|
|
154
|
-
return res_1;
|
|
155
|
-
}
|
|
156
|
-
int operatorsOf::reduce_4( std::vector<int> __self , std::function<int(int, int, int)> cb , int initialValue ) {
|
|
157
|
-
int len_1 = (int)(__self.size());
|
|
158
|
-
int res_2 = initialValue;
|
|
159
|
-
if ( len_1 >= 1 ) {
|
|
160
|
-
for ( int i_2 = 0; i_2 != (int)(__self.size()); i_2++) {
|
|
161
|
-
int it_2 = __self.at(i_2);
|
|
162
|
-
res_2 = cb(res_2, it_2, i_2);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return res_2;
|
|
166
|
-
}
|
|
167
|
-
operatorsOfboolean_5::operatorsOfboolean_5( ) {
|
|
168
|
-
}
|
|
169
|
-
void operatorsOfboolean_5::assert_6( bool condition , std::string txt ) {
|
|
170
|
-
if ( condition ) {
|
|
171
|
-
std::cout << std::string("ERROR ") + txt << std::endl;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
operatorsOf_5::operatorsOf_5( ) {
|
|
175
|
-
}
|
|
176
|
-
void operatorsOf_5::assert_6( bool condition , std::string txt ) {
|
|
177
|
-
if ( condition ) {
|
|
178
|
-
std::cout << std::string("ERROR ") + txt << std::endl;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
package main
|
|
2
|
-
import (
|
|
3
|
-
"strings"
|
|
4
|
-
"strconv"
|
|
5
|
-
"fmt"
|
|
6
|
-
)
|
|
7
|
-
|
|
8
|
-
type GoNullable struct {
|
|
9
|
-
value interface{}
|
|
10
|
-
has_value bool
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
func r_str_2_i64(s string) *GoNullable {
|
|
15
|
-
res := new(GoNullable);
|
|
16
|
-
if v, err := strconv.ParseInt(s, 10, 64); err == nil {
|
|
17
|
-
res.has_value = true
|
|
18
|
-
res.value = v
|
|
19
|
-
} else {
|
|
20
|
-
res.has_value = false
|
|
21
|
-
}
|
|
22
|
-
return res
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type day_one_part_two struct {
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
func CreateNew_day_one_part_two() *day_one_part_two {
|
|
29
|
-
me := new(day_one_part_two)
|
|
30
|
-
return me;
|
|
31
|
-
}
|
|
32
|
-
func day_one_part_two_static_solve(data string) int64 {
|
|
33
|
-
var list []string= strings.Split(data, "");
|
|
34
|
-
var __len int64= int64(len(list));
|
|
35
|
-
var half_index int64= int64((__len / int64(2)));
|
|
36
|
-
var leftSide []int64= operatorsOf_static_map_3(operatorsOf_static_filter_2(list, func (item string, index int64) bool {
|
|
37
|
-
return index < half_index
|
|
38
|
-
}), func (item string, index int64) int64 {
|
|
39
|
-
return (r_str_2_i64(item)).value.(int64)
|
|
40
|
-
});
|
|
41
|
-
var rightSide []int64= operatorsOf_static_map_3(operatorsOf_static_filter_2(list, func (item string, index int64) bool {
|
|
42
|
-
return index >= half_index
|
|
43
|
-
}), func (item string, index int64) int64 {
|
|
44
|
-
return (r_str_2_i64(item)).value.(int64)
|
|
45
|
-
});
|
|
46
|
-
return operatorsOf_static_reduce_4(leftSide, func (left int64, right int64, index int64) int64 {
|
|
47
|
-
var other int64= rightSide[index];
|
|
48
|
-
return (func() int64 { if (right == other) { return ((left + right) + other) } else { return left} }())
|
|
49
|
-
}, int64(0))
|
|
50
|
-
}
|
|
51
|
-
func main() {
|
|
52
|
-
var data string= "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484";
|
|
53
|
-
operatorsOfboolean_5_static_assert_6(day_one_part_two_static_solve("1212") != int64(6), "1212");
|
|
54
|
-
operatorsOf_5_static_assert_6(day_one_part_two_static_solve("1221") != int64(0), "1221");
|
|
55
|
-
operatorsOf_5_static_assert_6(day_one_part_two_static_solve("123425") != int64(4), "123425");
|
|
56
|
-
operatorsOf_5_static_assert_6(day_one_part_two_static_solve("123123") != int64(12), "123123");
|
|
57
|
-
operatorsOf_5_static_assert_6(day_one_part_two_static_solve("12131415") != int64(4), "12131415");
|
|
58
|
-
fmt.Println( strconv.FormatInt(day_one_part_two_static_solve(data), 10) )
|
|
59
|
-
}
|
|
60
|
-
type operatorsOf struct {
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
func CreateNew_operatorsOf() *operatorsOf {
|
|
64
|
-
me := new(operatorsOf)
|
|
65
|
-
return me;
|
|
66
|
-
}
|
|
67
|
-
func operatorsOf_static_filter_2(__self []string, cb func(string, int64) bool) []string {
|
|
68
|
-
var res []string = make([]string, 0);
|
|
69
|
-
var i int64 = 0;
|
|
70
|
-
for ; i < int64(len(__self)) ; i++ {
|
|
71
|
-
it := __self[i];
|
|
72
|
-
if cb(it, i) {
|
|
73
|
-
res = append(res,it);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return res
|
|
77
|
-
}
|
|
78
|
-
func operatorsOf_static_map_3(__self []string, cb func(string, int64) int64) []int64 {
|
|
79
|
-
/** unused: __len*/
|
|
80
|
-
var res_1 []int64 = make([]int64, 0);
|
|
81
|
-
var i_1 int64 = 0;
|
|
82
|
-
for ; i_1 < int64(len(__self)) ; i_1++ {
|
|
83
|
-
it_1 := __self[i_1];
|
|
84
|
-
res_1 = append(res_1,cb(it_1, i_1));
|
|
85
|
-
}
|
|
86
|
-
return res_1
|
|
87
|
-
}
|
|
88
|
-
func operatorsOf_static_reduce_4(__self []int64, cb func(int64, int64, int64) int64, initialValue int64) int64 {
|
|
89
|
-
var len_1 int64= int64(len(__self));
|
|
90
|
-
var res_2 int64= initialValue;
|
|
91
|
-
if len_1 >= int64(1) {
|
|
92
|
-
var i_2 int64 = 0;
|
|
93
|
-
for ; i_2 < int64(len(__self)) ; i_2++ {
|
|
94
|
-
it_2 := __self[i_2];
|
|
95
|
-
res_2 = cb(res_2, it_2, i_2);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return res_2
|
|
99
|
-
}
|
|
100
|
-
type operatorsOfboolean_5 struct {
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
func CreateNew_operatorsOfboolean_5() *operatorsOfboolean_5 {
|
|
104
|
-
me := new(operatorsOfboolean_5)
|
|
105
|
-
return me;
|
|
106
|
-
}
|
|
107
|
-
func operatorsOfboolean_5_static_assert_6(condition bool, txt string) () {
|
|
108
|
-
if condition {
|
|
109
|
-
fmt.Println( "ERROR " + txt )
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
type operatorsOf_5 struct {
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
func CreateNew_operatorsOf_5() *operatorsOf_5 {
|
|
116
|
-
me := new(operatorsOf_5)
|
|
117
|
-
return me;
|
|
118
|
-
}
|
|
119
|
-
func operatorsOf_5_static_assert_6(condition bool, txt string) () {
|
|
120
|
-
if condition {
|
|
121
|
-
fmt.Println( "ERROR " + txt )
|
|
122
|
-
}
|
|
123
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
class day_one_part_two {
|
|
2
|
-
constructor() {
|
|
3
|
-
}
|
|
4
|
-
}
|
|
5
|
-
day_one_part_two.solve = function(data) {
|
|
6
|
-
const list = data.split("");
|
|
7
|
-
const __len = list.length;
|
|
8
|
-
const half_index = Math.floor( (__len / 2));
|
|
9
|
-
const leftSide = operatorsOf.map_2((list.filter(((item, index) => {
|
|
10
|
-
return index < half_index;
|
|
11
|
-
}))), ((item, index) => {
|
|
12
|
-
return (isNaN( parseInt(item) ) ? undefined : parseInt(item));
|
|
13
|
-
}));
|
|
14
|
-
const rightSide = operatorsOf.map_2((list.filter(((item, index) => {
|
|
15
|
-
return index >= half_index;
|
|
16
|
-
}))), ((item, index) => {
|
|
17
|
-
return (isNaN( parseInt(item) ) ? undefined : parseInt(item));
|
|
18
|
-
}));
|
|
19
|
-
return operatorsOf.reduce_3(leftSide, ((left, right, index) => {
|
|
20
|
-
const other = rightSide[index];
|
|
21
|
-
return (right == other) ? ((left + right) + other) : left;
|
|
22
|
-
}), 0);
|
|
23
|
-
};
|
|
24
|
-
class operatorsOf {
|
|
25
|
-
constructor() {
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
operatorsOf.map_2 = function(__self, cb) {
|
|
29
|
-
/** unused: const __len = __self.length **/
|
|
30
|
-
let res = [];
|
|
31
|
-
for ( let i = 0; i < __self.length; i++) {
|
|
32
|
-
var it = __self[i];
|
|
33
|
-
res.push(cb(it, i));
|
|
34
|
-
};
|
|
35
|
-
return res;
|
|
36
|
-
};
|
|
37
|
-
operatorsOf.reduce_3 = function(__self, cb, initialValue) {
|
|
38
|
-
const len_1 = __self.length;
|
|
39
|
-
let res_1 = initialValue;
|
|
40
|
-
if ( len_1 >= 1 ) {
|
|
41
|
-
for ( let i_1 = 0; i_1 < __self.length; i_1++) {
|
|
42
|
-
var it_1 = __self[i_1];
|
|
43
|
-
res_1 = cb(res_1, it_1, i_1);
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return res_1;
|
|
47
|
-
};
|
|
48
|
-
class operatorsOfboolean_4 {
|
|
49
|
-
constructor() {
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
operatorsOfboolean_4.assert_5 = function(condition, txt) {
|
|
53
|
-
if ( condition ) {
|
|
54
|
-
console.log("ERROR " + txt);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
class operatorsOf_4 {
|
|
58
|
-
constructor() {
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
operatorsOf_4.assert_5 = function(condition, txt) {
|
|
62
|
-
if ( condition ) {
|
|
63
|
-
console.log("ERROR " + txt);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
/* static JavaSript main routine at the end of the JS file */
|
|
67
|
-
function __js_main() {
|
|
68
|
-
const data = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484";
|
|
69
|
-
operatorsOfboolean_4.assert_5(day_one_part_two.solve("1212") != 6, "1212");
|
|
70
|
-
operatorsOf_4.assert_5(day_one_part_two.solve("1221") != 0, "1221");
|
|
71
|
-
operatorsOf_4.assert_5(day_one_part_two.solve("123425") != 4, "123425");
|
|
72
|
-
operatorsOf_4.assert_5(day_one_part_two.solve("123123") != 12, "123123");
|
|
73
|
-
operatorsOf_4.assert_5(day_one_part_two.solve("12131415") != 4, "12131415");
|
|
74
|
-
console.log((day_one_part_two.solve(data).toString()));
|
|
75
|
-
}
|
|
76
|
-
__js_main();
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
<?php
|
|
2
|
-
|
|
3
|
-
class day_one_part_two {
|
|
4
|
-
function __construct( ) {
|
|
5
|
-
}
|
|
6
|
-
public static function solve( $data ) {
|
|
7
|
-
$list = strlen("") == 0 ? str_split($data) : explode("", $data);
|
|
8
|
-
$__len = count($list);
|
|
9
|
-
$half_index = floor(($__len / 2));
|
|
10
|
-
$leftSide = operatorsOf::map_3(operatorsOf::filter_2($list, (function ($item, $index) use ( &$half_index) {
|
|
11
|
-
return $index < $half_index;
|
|
12
|
-
// captured var half_index
|
|
13
|
-
})), (function ($item, $index) {
|
|
14
|
-
return (intval($item));
|
|
15
|
-
}));
|
|
16
|
-
$rightSide = operatorsOf::map_3(operatorsOf::filter_2($list, (function ($item, $index) use ( &$half_index) {
|
|
17
|
-
return $index >= $half_index;
|
|
18
|
-
// captured var half_index
|
|
19
|
-
})), (function ($item, $index) {
|
|
20
|
-
return (intval($item));
|
|
21
|
-
}));
|
|
22
|
-
return operatorsOf::reduce_4($leftSide, (function ($left, $right, $index) use ( &$rightSide) {
|
|
23
|
-
$other = $rightSide[$index];
|
|
24
|
-
return ($right == $other) ? (($left + $right) + $other) : $left;
|
|
25
|
-
// captured var rightSide
|
|
26
|
-
}), 0);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/* static PHP main routine */
|
|
30
|
-
$data = "428122498997587283996116951397957933569136949848379417125362532269869461185743113733992331379856446362482129646556286611543756564275715359874924898113424472782974789464348626278532936228881786273586278886575828239366794429223317476722337424399239986153675275924113322561873814364451339186918813451685263192891627186769818128715595715444565444581514677521874935942913547121751851631373316122491471564697731298951989511917272684335463436218283261962158671266625299188764589814518793576375629163896349665312991285776595142146261792244475721782941364787968924537841698538288459355159783985638187254653851864874544584878999193242641611859756728634623853475638478923744471563845635468173824196684361934269459459124269196811512927442662761563824323621758785866391424778683599179447845595931928589255935953295111937431266815352781399967295389339626178664148415561175386725992469782888757942558362117938629369129439717427474416851628121191639355646394276451847131182652486561415942815818785884559193483878139351841633366398788657844396925423217662517356486193821341454889283266691224778723833397914224396722559593959125317175899594685524852419495793389481831354787287452367145661829287518771631939314683137722493531318181315216342994141683484111969476952946378314883421677952397588613562958741328987734565492378977396431481215983656814486518865642645612413945129485464979535991675776338786758997128124651311153182816188924935186361813797251997643992686294724699281969473142721116432968216434977684138184481963845141486793996476793954226225885432422654394439882842163295458549755137247614338991879966665925466545111899714943716571113326479432925939227996799951279485722836754457737668191845914566732285928453781818792236447816127492445993945894435692799839217467253986218213131249786833333936332257795191937942688668182629489191693154184177398186462481316834678733713614889439352976144726162214648922159719979143735815478633912633185334529484779322818611438194522292278787653763328944421516569181178517915745625295158611636365253948455727653672922299582352766484";
|
|
31
|
-
operatorsOfboolean_5::assert_6(day_one_part_two::solve("1212") != 6, "1212");
|
|
32
|
-
operatorsOf_5::assert_6(day_one_part_two::solve("1221") != 0, "1221");
|
|
33
|
-
operatorsOf_5::assert_6(day_one_part_two::solve("123425") != 4, "123425");
|
|
34
|
-
operatorsOf_5::assert_6(day_one_part_two::solve("123123") != 12, "123123");
|
|
35
|
-
operatorsOf_5::assert_6(day_one_part_two::solve("12131415") != 4, "12131415");
|
|
36
|
-
echo( strval(day_one_part_two::solve($data)) . "\n");
|
|
37
|
-
class operatorsOf {
|
|
38
|
-
function __construct( ) {
|
|
39
|
-
}
|
|
40
|
-
public static function filter_2( $__self , $cb ) {
|
|
41
|
-
$res = array();
|
|
42
|
-
for ( $i = 0; $i < count($__self); $i++) {
|
|
43
|
-
$it = $__self[$i];
|
|
44
|
-
if ( call_user_func($cb, $it, $i) ) {
|
|
45
|
-
array_push($res, $it);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return $res;
|
|
49
|
-
}
|
|
50
|
-
public static function map_3( $__self , $cb ) {
|
|
51
|
-
/** unused: $__len = count($__self) **/ ;
|
|
52
|
-
$res_1 = array();
|
|
53
|
-
for ( $i_1 = 0; $i_1 < count($__self); $i_1++) {
|
|
54
|
-
$it_1 = $__self[$i_1];
|
|
55
|
-
array_push($res_1, call_user_func($cb, $it_1, $i_1));
|
|
56
|
-
}
|
|
57
|
-
return $res_1;
|
|
58
|
-
}
|
|
59
|
-
public static function reduce_4( $__self , $cb , $initialValue ) {
|
|
60
|
-
$len_1 = count($__self);
|
|
61
|
-
$res_2 = $initialValue;
|
|
62
|
-
if ( $len_1 >= 1 ) {
|
|
63
|
-
for ( $i_2 = 0; $i_2 < count($__self); $i_2++) {
|
|
64
|
-
$it_2 = $__self[$i_2];
|
|
65
|
-
$res_2 = call_user_func($cb, $res_2, $it_2, $i_2);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return $res_2;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
class operatorsOfboolean_5 {
|
|
72
|
-
function __construct( ) {
|
|
73
|
-
}
|
|
74
|
-
public static function assert_6( $condition , $txt ) {
|
|
75
|
-
if ( $condition ) {
|
|
76
|
-
echo( "ERROR " . $txt . "\n");
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
class operatorsOf_5 {
|
|
81
|
-
function __construct( ) {
|
|
82
|
-
}
|
|
83
|
-
public static function assert_6( $condition , $txt ) {
|
|
84
|
-
if ( $condition ) {
|
|
85
|
-
echo( "ERROR " . $txt . "\n");
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|