kumi 0.0.25 → 0.0.27
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/CLAUDE.md +4 -0
- data/README.md +86 -78
- data/data/functions/agg/boolean.yaml +6 -2
- data/data/functions/agg/numeric.yaml +32 -16
- data/data/functions/agg/string.yaml +4 -3
- data/data/functions/core/arithmetic.yaml +62 -14
- data/data/functions/core/boolean.yaml +12 -6
- data/data/functions/core/comparison.yaml +25 -13
- data/data/functions/core/constructor.yaml +16 -8
- data/data/functions/core/conversion.yaml +32 -0
- data/data/functions/core/select.yaml +3 -1
- data/data/functions/core/stencil.yaml +14 -5
- data/data/functions/core/string.yaml +9 -4
- data/data/kernels/javascript/core/coercion.yaml +20 -0
- data/data/kernels/ruby/agg/numeric.yaml +1 -1
- data/data/kernels/ruby/core/coercion.yaml +20 -0
- data/docs/ARCHITECTURE.md +277 -0
- data/docs/DEVELOPMENT.md +62 -0
- data/docs/FUNCTIONS.md +955 -0
- data/docs/SYNTAX.md +8 -0
- data/docs/UNSAT_DETECTION.md +83 -0
- data/docs/VSCODE_EXTENSION.md +114 -0
- data/docs/functions-reference.json +1821 -0
- data/golden/array_element/expected/nast.txt +1 -1
- data/golden/array_element/expected/schema_ruby.rb +1 -1
- data/golden/array_index/expected/nast.txt +7 -7
- data/golden/array_index/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/nast.txt +2 -2
- data/golden/array_operations/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/expected/snast.txt +3 -3
- data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
- data/golden/cascade_logic/expected/snast.txt +2 -2
- data/golden/chained_fusion/expected/nast.txt +2 -2
- data/golden/chained_fusion/expected/schema_ruby.rb +1 -1
- data/golden/decimal_explicit/expected/ast.txt +38 -0
- data/golden/decimal_explicit/expected/input_plan.txt +3 -0
- data/golden/decimal_explicit/expected/lir_00_unoptimized.txt +30 -0
- data/golden/decimal_explicit/expected/lir_01_hoist_scalar_references.txt +30 -0
- data/golden/decimal_explicit/expected/lir_02_inlined.txt +44 -0
- data/golden/decimal_explicit/expected/lir_03_cse.txt +40 -0
- data/golden/decimal_explicit/expected/lir_04_1_loop_fusion.txt +40 -0
- data/golden/decimal_explicit/expected/lir_04_loop_invcm.txt +40 -0
- data/golden/decimal_explicit/expected/lir_06_const_prop.txt +40 -0
- data/golden/decimal_explicit/expected/nast.txt +30 -0
- data/golden/decimal_explicit/expected/schema_javascript.mjs +31 -0
- data/golden/decimal_explicit/expected/schema_ruby.rb +57 -0
- data/golden/decimal_explicit/expected/snast.txt +30 -0
- data/golden/decimal_explicit/expected.json +1 -0
- data/golden/decimal_explicit/input.json +5 -0
- data/golden/decimal_explicit/schema.kumi +14 -0
- data/golden/element_arrays/expected/nast.txt +2 -2
- data/golden/element_arrays/expected/schema_ruby.rb +1 -1
- data/golden/element_arrays/expected/snast.txt +1 -1
- data/golden/empty_and_null_inputs/expected/nast.txt +3 -3
- data/golden/empty_and_null_inputs/expected/schema_ruby.rb +1 -1
- data/golden/function_overload/expected/ast.txt +29 -0
- data/golden/function_overload/expected/input_plan.txt +4 -0
- data/golden/function_overload/expected/lir_00_unoptimized.txt +18 -0
- data/golden/function_overload/expected/lir_01_hoist_scalar_references.txt +18 -0
- data/golden/function_overload/expected/lir_02_inlined.txt +20 -0
- data/golden/function_overload/expected/lir_03_cse.txt +20 -0
- data/golden/function_overload/expected/lir_04_1_loop_fusion.txt +20 -0
- data/golden/function_overload/expected/lir_04_loop_invcm.txt +20 -0
- data/golden/function_overload/expected/lir_06_const_prop.txt +20 -0
- data/golden/function_overload/expected/nast.txt +22 -0
- data/golden/function_overload/expected/schema_javascript.mjs +12 -0
- data/golden/function_overload/expected/schema_ruby.rb +39 -0
- data/golden/function_overload/expected/snast.txt +22 -0
- data/golden/function_overload/input.json +8 -0
- data/golden/function_overload/schema.kumi +19 -0
- data/golden/game_of_life/expected/lir_00_unoptimized.txt +4 -4
- data/golden/game_of_life/expected/lir_01_hoist_scalar_references.txt +4 -4
- data/golden/game_of_life/expected/lir_02_inlined.txt +16 -16
- data/golden/game_of_life/expected/lir_03_cse.txt +20 -16
- data/golden/game_of_life/expected/lir_04_1_loop_fusion.txt +20 -16
- data/golden/game_of_life/expected/lir_04_loop_invcm.txt +20 -16
- data/golden/game_of_life/expected/lir_06_const_prop.txt +20 -16
- data/golden/game_of_life/expected/nast.txt +4 -4
- data/golden/game_of_life/expected/schema_javascript.mjs +4 -2
- data/golden/game_of_life/expected/schema_ruby.rb +5 -3
- data/golden/game_of_life/expected/snast.txt +10 -10
- data/golden/hash_keys/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/nast.txt +1 -1
- data/golden/hash_value/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/snast.txt +1 -1
- data/golden/hierarchical_complex/expected/nast.txt +3 -3
- data/golden/hierarchical_complex/expected/schema_ruby.rb +1 -1
- data/golden/hierarchical_complex/expected/snast.txt +3 -3
- data/golden/inline_rename_scope_leak/expected/nast.txt +3 -3
- data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +1 -1
- data/golden/input_reference/expected/nast.txt +2 -2
- data/golden/input_reference/expected/schema_ruby.rb +1 -1
- data/golden/interleaved_fusion/expected/nast.txt +2 -2
- data/golden/interleaved_fusion/expected/schema_ruby.rb +1 -1
- data/golden/let_inline/expected/nast.txt +4 -4
- data/golden/let_inline/expected/schema_ruby.rb +1 -1
- data/golden/loop_fusion/expected/nast.txt +1 -1
- data/golden/loop_fusion/expected/schema_ruby.rb +1 -1
- data/golden/min_reduce_scope/expected/nast.txt +3 -3
- data/golden/min_reduce_scope/expected/schema_ruby.rb +1 -1
- data/golden/min_reduce_scope/expected/snast.txt +1 -1
- data/golden/mixed_dimensions/expected/nast.txt +2 -2
- data/golden/mixed_dimensions/expected/schema_ruby.rb +1 -1
- data/golden/multirank_hoisting/expected/nast.txt +7 -7
- data/golden/multirank_hoisting/expected/schema_ruby.rb +1 -1
- data/golden/nested_hash/expected/nast.txt +1 -1
- data/golden/nested_hash/expected/schema_ruby.rb +1 -1
- data/golden/reduction_broadcast/expected/nast.txt +3 -3
- data/golden/reduction_broadcast/expected/schema_ruby.rb +1 -1
- data/golden/reduction_broadcast/expected/snast.txt +1 -1
- data/golden/roll/expected/schema_ruby.rb +1 -1
- data/golden/shift/expected/schema_ruby.rb +1 -1
- data/golden/shift_2d/expected/schema_ruby.rb +1 -1
- data/golden/simple_math/expected/lir_00_unoptimized.txt +1 -1
- data/golden/simple_math/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/simple_math/expected/lir_02_inlined.txt +1 -1
- data/golden/simple_math/expected/lir_03_cse.txt +1 -1
- data/golden/simple_math/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/simple_math/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/simple_math/expected/lir_06_const_prop.txt +1 -1
- data/golden/simple_math/expected/nast.txt +5 -5
- data/golden/simple_math/expected/schema_ruby.rb +1 -1
- data/golden/simple_math/expected/snast.txt +2 -2
- data/golden/streaming_basics/expected/nast.txt +8 -8
- data/golden/streaming_basics/expected/schema_ruby.rb +1 -1
- data/golden/streaming_basics/expected/snast.txt +1 -1
- data/golden/tuples/expected/lir_00_unoptimized.txt +5 -5
- data/golden/tuples/expected/lir_01_hoist_scalar_references.txt +5 -5
- data/golden/tuples/expected/lir_02_inlined.txt +5 -5
- data/golden/tuples/expected/lir_03_cse.txt +5 -5
- data/golden/tuples/expected/lir_04_1_loop_fusion.txt +5 -5
- data/golden/tuples/expected/lir_04_loop_invcm.txt +5 -5
- data/golden/tuples/expected/lir_06_const_prop.txt +5 -5
- data/golden/tuples/expected/nast.txt +4 -4
- data/golden/tuples/expected/schema_ruby.rb +1 -1
- data/golden/tuples/expected/snast.txt +6 -6
- data/golden/tuples_and_arrays/expected/lir_00_unoptimized.txt +1 -1
- data/golden/tuples_and_arrays/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/tuples_and_arrays/expected/lir_02_inlined.txt +2 -2
- data/golden/tuples_and_arrays/expected/lir_03_cse.txt +2 -2
- data/golden/tuples_and_arrays/expected/lir_04_1_loop_fusion.txt +2 -2
- data/golden/tuples_and_arrays/expected/lir_04_loop_invcm.txt +2 -2
- data/golden/tuples_and_arrays/expected/lir_06_const_prop.txt +2 -2
- data/golden/tuples_and_arrays/expected/nast.txt +3 -3
- data/golden/tuples_and_arrays/expected/schema_ruby.rb +1 -1
- data/golden/tuples_and_arrays/expected/snast.txt +2 -2
- data/golden/us_tax_2024/expected/ast.txt +63 -670
- data/golden/us_tax_2024/expected/input_plan.txt +8 -45
- data/golden/us_tax_2024/expected/lir_00_unoptimized.txt +253 -863
- data/golden/us_tax_2024/expected/lir_01_hoist_scalar_references.txt +253 -863
- data/golden/us_tax_2024/expected/lir_02_inlined.txt +1215 -5139
- data/golden/us_tax_2024/expected/lir_03_cse.txt +587 -2460
- data/golden/us_tax_2024/expected/lir_04_1_loop_fusion.txt +632 -2480
- data/golden/us_tax_2024/expected/lir_04_loop_invcm.txt +587 -2460
- data/golden/us_tax_2024/expected/lir_06_const_prop.txt +587 -2460
- data/golden/us_tax_2024/expected/nast.txt +123 -826
- data/golden/us_tax_2024/expected/schema_javascript.mjs +127 -581
- data/golden/us_tax_2024/expected/schema_ruby.rb +135 -610
- data/golden/us_tax_2024/expected/snast.txt +155 -858
- data/golden/us_tax_2024/expected.json +120 -1
- data/golden/us_tax_2024/input.json +18 -9
- data/golden/us_tax_2024/schema.kumi +48 -178
- data/golden/with_constants/expected/lir_00_unoptimized.txt +1 -1
- data/golden/with_constants/expected/lir_01_hoist_scalar_references.txt +1 -1
- data/golden/with_constants/expected/lir_02_inlined.txt +1 -1
- data/golden/with_constants/expected/lir_03_cse.txt +1 -1
- data/golden/with_constants/expected/lir_04_1_loop_fusion.txt +1 -1
- data/golden/with_constants/expected/lir_04_loop_invcm.txt +1 -1
- data/golden/with_constants/expected/lir_06_const_prop.txt +1 -1
- data/golden/with_constants/expected/nast.txt +2 -2
- data/golden/with_constants/expected/schema_ruby.rb +1 -1
- data/golden/with_constants/expected/snast.txt +2 -2
- data/lib/kumi/analyzer.rb +12 -12
- data/lib/kumi/configuration.rb +6 -0
- data/lib/kumi/core/analyzer/passes/formal_constraint_propagator.rb +236 -0
- data/lib/kumi/core/analyzer/passes/input_collector.rb +22 -4
- data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +64 -18
- data/lib/kumi/core/analyzer/passes/normalize_to_nast_pass.rb +9 -4
- data/lib/kumi/core/analyzer/passes/snast_pass.rb +3 -1
- data/lib/kumi/core/analyzer/passes/unsat_detector.rb +172 -198
- data/lib/kumi/core/error_reporter.rb +36 -1
- data/lib/kumi/core/errors.rb +33 -1
- data/lib/kumi/core/functions/function_spec.rb +5 -4
- data/lib/kumi/core/functions/loader.rb +17 -1
- data/lib/kumi/core/functions/overload_resolver.rb +164 -0
- data/lib/kumi/core/functions/type_error_reporter.rb +118 -0
- data/lib/kumi/core/functions/type_rules.rb +155 -35
- data/lib/kumi/core/input/type_matcher.rb +8 -1
- data/lib/kumi/core/ruby_parser/input_builder.rb +2 -2
- data/lib/kumi/core/types/inference.rb +29 -22
- data/lib/kumi/core/types/normalizer.rb +30 -45
- data/lib/kumi/core/types/validator.rb +17 -28
- data/lib/kumi/core/types/value_objects.rb +116 -0
- data/lib/kumi/core/types.rb +45 -37
- data/lib/kumi/dev/golden/reporter.rb +9 -0
- data/lib/kumi/dev/golden/result.rb +3 -1
- data/lib/kumi/dev/golden/runtime_test.rb +25 -0
- data/lib/kumi/dev/golden/suite.rb +4 -4
- data/lib/kumi/dev/golden/value_normalizer.rb +80 -0
- data/lib/kumi/dev/golden.rb +21 -12
- data/lib/kumi/doc_generator/formatters/json.rb +39 -0
- data/lib/kumi/doc_generator/formatters/markdown.rb +175 -0
- data/lib/kumi/doc_generator/loader.rb +37 -0
- data/lib/kumi/doc_generator/merger.rb +54 -0
- data/lib/kumi/doc_generator.rb +4 -0
- data/lib/kumi/registry_v2/loader.rb +90 -0
- data/lib/kumi/registry_v2.rb +18 -1
- data/lib/kumi/version.rb +1 -1
- data/vscode-extension/.gitignore +4 -0
- data/vscode-extension/README.md +59 -0
- data/vscode-extension/TESTING.md +151 -0
- data/vscode-extension/package.json +51 -0
- data/vscode-extension/src/extension.ts +295 -0
- data/vscode-extension/tsconfig.json +15 -0
- metadata +57 -7
- data/lib/kumi/core/analyzer/unsat_constant_evaluator.rb +0 -59
- data/lib/kumi/core/atom_unsat_solver.rb +0 -396
- data/lib/kumi/core/constraint_relationship_solver.rb +0 -641
- data/lib/kumi/core/types/builder.rb +0 -23
- data/lib/kumi/core/types/compatibility.rb +0 -96
- data/lib/kumi/core/types/formatter.rb +0 -26
@@ -299,8 +299,8 @@
|
|
299
299
|
%t482 = call core.clamp(%t362, %t298, %t452) :: integer
|
300
300
|
%t483 = gather %t326, %t482 :: integer
|
301
301
|
%t485 = select %t478, %t483, %t298 :: integer
|
302
|
-
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
|
303
|
-
%t244 = fold %t243 fn="agg.sum" ::
|
302
|
+
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
303
|
+
%t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
304
304
|
yield %t244
|
305
305
|
end_loop
|
306
306
|
end_loop
|
@@ -394,8 +394,8 @@
|
|
394
394
|
%t686 = call core.clamp(%t566, %t502, %t656) :: integer
|
395
395
|
%t687 = gather %t530, %t686 :: integer
|
396
396
|
%t689 = select %t682, %t687, %t502 :: integer
|
397
|
-
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
|
398
|
-
%t497 = fold %t496 fn="agg.sum" ::
|
397
|
+
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
398
|
+
%t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
399
399
|
%t259 = const 3 :: integer
|
400
400
|
%t260 = call core.eq(%t497, %t259) :: boolean
|
401
401
|
yield %t260
|
@@ -481,8 +481,8 @@
|
|
481
481
|
%t889 = call core.clamp(%t769, %t705, %t859) :: integer
|
482
482
|
%t890 = gather %t733, %t889 :: integer
|
483
483
|
%t892 = select %t885, %t890, %t705 :: integer
|
484
|
-
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
|
485
|
-
%t700 = fold %t699 fn="agg.sum" ::
|
484
|
+
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
485
|
+
%t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
486
486
|
%t267 = const 2 :: integer
|
487
487
|
%t268 = call core.eq(%t700, %t267) :: boolean
|
488
488
|
yield %t268
|
@@ -568,11 +568,12 @@
|
|
568
568
|
%t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
|
569
569
|
%t1097 = gather %t940, %t1096 :: integer
|
570
570
|
%t1099 = select %t1092, %t1097, %t912 :: integer
|
571
|
-
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
|
572
|
-
%t907 = fold %t906 fn="agg.sum" ::
|
571
|
+
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
572
|
+
%t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
573
573
|
%t895 = const 2 :: integer
|
574
574
|
%t896 = call core.eq(%t907, %t895) :: boolean
|
575
|
-
%
|
575
|
+
%t1102 = const 0 :: integer
|
576
|
+
%t1103 = call core.gt(%col_el_272, %t1102) :: boolean
|
576
577
|
%t276 = call core.and(%t896, %t1103) :: boolean
|
577
578
|
yield %t276
|
578
579
|
end_loop
|
@@ -657,13 +658,14 @@
|
|
657
658
|
%t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
|
658
659
|
%t1309 = gather %t1152, %t1308 :: integer
|
659
660
|
%t1311 = select %t1304, %t1309, %t1124 :: integer
|
660
|
-
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
|
661
|
-
%t1119 = fold %t1118 fn="agg.sum" ::
|
661
|
+
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
662
|
+
%t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
662
663
|
%t1107 = const 3 :: integer
|
663
664
|
%t1108 = call core.eq(%t1119, %t1107) :: boolean
|
664
665
|
%t1318 = const 2 :: integer
|
665
666
|
%t1319 = call core.eq(%t1119, %t1318) :: boolean
|
666
|
-
%
|
667
|
+
%t1525 = const 0 :: integer
|
668
|
+
%t1526 = call core.gt(%col_el_280, %t1525) :: boolean
|
667
669
|
%t1315 = call core.and(%t1319, %t1526) :: boolean
|
668
670
|
%t284 = call core.or(%t1108, %t1315) :: boolean
|
669
671
|
yield %t284
|
@@ -749,16 +751,18 @@
|
|
749
751
|
%t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
|
750
752
|
%t1736 = gather %t1579, %t1735 :: integer
|
751
753
|
%t1738 = select %t1731, %t1736, %t1551 :: integer
|
752
|
-
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
|
753
|
-
%t1546 = fold %t1545 fn="agg.sum" ::
|
754
|
+
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
755
|
+
%t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
754
756
|
%t1534 = const 3 :: integer
|
755
757
|
%t1535 = call core.eq(%t1546, %t1534) :: boolean
|
756
758
|
%t1745 = const 2 :: integer
|
757
759
|
%t1746 = call core.eq(%t1546, %t1745) :: boolean
|
758
|
-
%
|
760
|
+
%t1952 = const 0 :: integer
|
761
|
+
%t1953 = call core.gt(%col_el_288, %t1952) :: boolean
|
759
762
|
%t1742 = call core.and(%t1746, %t1953) :: boolean
|
760
763
|
%t1531 = call core.or(%t1535, %t1742) :: boolean
|
761
|
-
%
|
764
|
+
%t291 = const 1 :: integer
|
765
|
+
%t293 = select %t1531, %t291, %t1952 :: integer
|
762
766
|
yield %t293
|
763
767
|
end_loop
|
764
768
|
end_loop
|
@@ -299,8 +299,8 @@
|
|
299
299
|
%t482 = call core.clamp(%t362, %t298, %t452) :: integer
|
300
300
|
%t483 = gather %t326, %t482 :: integer
|
301
301
|
%t485 = select %t478, %t483, %t298 :: integer
|
302
|
-
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
|
303
|
-
%t244 = fold %t243 fn="agg.sum" ::
|
302
|
+
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
303
|
+
%t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
304
304
|
yield %t244
|
305
305
|
end_loop
|
306
306
|
end_loop
|
@@ -395,8 +395,8 @@
|
|
395
395
|
%t686 = call core.clamp(%t566, %t502, %t656) :: integer
|
396
396
|
%t687 = gather %t530, %t686 :: integer
|
397
397
|
%t689 = select %t682, %t687, %t502 :: integer
|
398
|
-
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
|
399
|
-
%t497 = fold %t496 fn="agg.sum" ::
|
398
|
+
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
399
|
+
%t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
400
400
|
%t260 = call core.eq(%t497, %t259) :: boolean
|
401
401
|
yield %t260
|
402
402
|
end_loop
|
@@ -482,8 +482,8 @@
|
|
482
482
|
%t889 = call core.clamp(%t769, %t705, %t859) :: integer
|
483
483
|
%t890 = gather %t733, %t889 :: integer
|
484
484
|
%t892 = select %t885, %t890, %t705 :: integer
|
485
|
-
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
|
486
|
-
%t700 = fold %t699 fn="agg.sum" ::
|
485
|
+
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
486
|
+
%t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
487
487
|
%t268 = call core.eq(%t700, %t267) :: boolean
|
488
488
|
yield %t268
|
489
489
|
end_loop
|
@@ -496,6 +496,7 @@
|
|
496
496
|
%t912 = const 0 :: integer
|
497
497
|
%t916 = const 1 :: integer
|
498
498
|
%t895 = const 2 :: integer
|
499
|
+
%t1102 = const 0 :: integer
|
499
500
|
%t917 = call core.sub(%t909, %t916) :: integer
|
500
501
|
loop rows id=L27 in %t269 as el=%rows_el_270, idx=%rows_i_271
|
501
502
|
%t911 = call core.sub(%rows_i_271, %t910) :: integer
|
@@ -569,10 +570,10 @@
|
|
569
570
|
%t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
|
570
571
|
%t1097 = gather %t940, %t1096 :: integer
|
571
572
|
%t1099 = select %t1092, %t1097, %t912 :: integer
|
572
|
-
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
|
573
|
-
%t907 = fold %t906 fn="agg.sum" ::
|
573
|
+
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
574
|
+
%t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
574
575
|
%t896 = call core.eq(%t907, %t895) :: boolean
|
575
|
-
%t1103 = call core.gt(%col_el_272, %
|
576
|
+
%t1103 = call core.gt(%col_el_272, %t1102) :: boolean
|
576
577
|
%t276 = call core.and(%t896, %t1103) :: boolean
|
577
578
|
yield %t276
|
578
579
|
end_loop
|
@@ -586,6 +587,7 @@
|
|
586
587
|
%t1128 = const 1 :: integer
|
587
588
|
%t1107 = const 3 :: integer
|
588
589
|
%t1318 = const 2 :: integer
|
590
|
+
%t1525 = const 0 :: integer
|
589
591
|
%t1129 = call core.sub(%t1121, %t1128) :: integer
|
590
592
|
loop rows id=L29 in %t277 as el=%rows_el_278, idx=%rows_i_279
|
591
593
|
%t1123 = call core.sub(%rows_i_279, %t1122) :: integer
|
@@ -659,11 +661,11 @@
|
|
659
661
|
%t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
|
660
662
|
%t1309 = gather %t1152, %t1308 :: integer
|
661
663
|
%t1311 = select %t1304, %t1309, %t1124 :: integer
|
662
|
-
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
|
663
|
-
%t1119 = fold %t1118 fn="agg.sum" ::
|
664
|
+
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
665
|
+
%t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
664
666
|
%t1108 = call core.eq(%t1119, %t1107) :: boolean
|
665
667
|
%t1319 = call core.eq(%t1119, %t1318) :: boolean
|
666
|
-
%t1526 = call core.gt(%col_el_280, %
|
668
|
+
%t1526 = call core.gt(%col_el_280, %t1525) :: boolean
|
667
669
|
%t1315 = call core.and(%t1319, %t1526) :: boolean
|
668
670
|
%t284 = call core.or(%t1108, %t1315) :: boolean
|
669
671
|
yield %t284
|
@@ -678,6 +680,8 @@
|
|
678
680
|
%t1555 = const 1 :: integer
|
679
681
|
%t1534 = const 3 :: integer
|
680
682
|
%t1745 = const 2 :: integer
|
683
|
+
%t1952 = const 0 :: integer
|
684
|
+
%t291 = const 1 :: integer
|
681
685
|
%t1556 = call core.sub(%t1548, %t1555) :: integer
|
682
686
|
loop rows id=L31 in %t285 as el=%rows_el_286, idx=%rows_i_287
|
683
687
|
%t1550 = call core.sub(%rows_i_287, %t1549) :: integer
|
@@ -751,14 +755,14 @@
|
|
751
755
|
%t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
|
752
756
|
%t1736 = gather %t1579, %t1735 :: integer
|
753
757
|
%t1738 = select %t1731, %t1736, %t1551 :: integer
|
754
|
-
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
|
755
|
-
%t1546 = fold %t1545 fn="agg.sum" ::
|
758
|
+
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
759
|
+
%t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
756
760
|
%t1535 = call core.eq(%t1546, %t1534) :: boolean
|
757
761
|
%t1746 = call core.eq(%t1546, %t1745) :: boolean
|
758
|
-
%t1953 = call core.gt(%col_el_288, %
|
762
|
+
%t1953 = call core.gt(%col_el_288, %t1952) :: boolean
|
759
763
|
%t1742 = call core.and(%t1746, %t1953) :: boolean
|
760
764
|
%t1531 = call core.or(%t1535, %t1742) :: boolean
|
761
|
-
%t293 = select %t1531, %
|
765
|
+
%t293 = select %t1531, %t291, %t1952 :: integer
|
762
766
|
yield %t293
|
763
767
|
end_loop
|
764
768
|
end_loop
|
@@ -299,8 +299,8 @@
|
|
299
299
|
%t482 = call core.clamp(%t362, %t298, %t452) :: integer
|
300
300
|
%t483 = gather %t326, %t482 :: integer
|
301
301
|
%t485 = select %t478, %t483, %t298 :: integer
|
302
|
-
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer>
|
303
|
-
%t244 = fold %t243 fn="agg.sum" ::
|
302
|
+
%t243 = make_tuple(%t313, %t333, %t353, %t373, %t401, %t429, %t457, %t485) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
303
|
+
%t244 = fold %t243 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
304
304
|
yield %t244
|
305
305
|
end_loop
|
306
306
|
end_loop
|
@@ -395,8 +395,8 @@
|
|
395
395
|
%t686 = call core.clamp(%t566, %t502, %t656) :: integer
|
396
396
|
%t687 = gather %t530, %t686 :: integer
|
397
397
|
%t689 = select %t682, %t687, %t502 :: integer
|
398
|
-
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer>
|
399
|
-
%t497 = fold %t496 fn="agg.sum" ::
|
398
|
+
%t496 = make_tuple(%t517, %t537, %t557, %t577, %t605, %t633, %t661, %t689) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
399
|
+
%t497 = fold %t496 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
400
400
|
%t260 = call core.eq(%t497, %t259) :: boolean
|
401
401
|
yield %t260
|
402
402
|
end_loop
|
@@ -482,8 +482,8 @@
|
|
482
482
|
%t889 = call core.clamp(%t769, %t705, %t859) :: integer
|
483
483
|
%t890 = gather %t733, %t889 :: integer
|
484
484
|
%t892 = select %t885, %t890, %t705 :: integer
|
485
|
-
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer>
|
486
|
-
%t700 = fold %t699 fn="agg.sum" ::
|
485
|
+
%t699 = make_tuple(%t720, %t740, %t760, %t780, %t808, %t836, %t864, %t892) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
486
|
+
%t700 = fold %t699 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
487
487
|
%t268 = call core.eq(%t700, %t267) :: boolean
|
488
488
|
yield %t268
|
489
489
|
end_loop
|
@@ -496,6 +496,7 @@
|
|
496
496
|
%t912 = const 0 :: integer
|
497
497
|
%t916 = const 1 :: integer
|
498
498
|
%t895 = const 2 :: integer
|
499
|
+
%t1102 = const 0 :: integer
|
499
500
|
%t917 = call core.sub(%t909, %t916) :: integer
|
500
501
|
loop rows id=L27 in %t269 as el=%rows_el_270, idx=%rows_i_271
|
501
502
|
%t911 = call core.sub(%rows_i_271, %t910) :: integer
|
@@ -569,10 +570,10 @@
|
|
569
570
|
%t1096 = call core.clamp(%t976, %t912, %t1066) :: integer
|
570
571
|
%t1097 = gather %t940, %t1096 :: integer
|
571
572
|
%t1099 = select %t1092, %t1097, %t912 :: integer
|
572
|
-
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer>
|
573
|
-
%t907 = fold %t906 fn="agg.sum" ::
|
573
|
+
%t906 = make_tuple(%t927, %t947, %t967, %t987, %t1015, %t1043, %t1071, %t1099) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
574
|
+
%t907 = fold %t906 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
574
575
|
%t896 = call core.eq(%t907, %t895) :: boolean
|
575
|
-
%t1103 = call core.gt(%col_el_272, %
|
576
|
+
%t1103 = call core.gt(%col_el_272, %t1102) :: boolean
|
576
577
|
%t276 = call core.and(%t896, %t1103) :: boolean
|
577
578
|
yield %t276
|
578
579
|
end_loop
|
@@ -586,6 +587,7 @@
|
|
586
587
|
%t1128 = const 1 :: integer
|
587
588
|
%t1107 = const 3 :: integer
|
588
589
|
%t1318 = const 2 :: integer
|
590
|
+
%t1525 = const 0 :: integer
|
589
591
|
%t1129 = call core.sub(%t1121, %t1128) :: integer
|
590
592
|
loop rows id=L29 in %t277 as el=%rows_el_278, idx=%rows_i_279
|
591
593
|
%t1123 = call core.sub(%rows_i_279, %t1122) :: integer
|
@@ -659,11 +661,11 @@
|
|
659
661
|
%t1308 = call core.clamp(%t1188, %t1124, %t1278) :: integer
|
660
662
|
%t1309 = gather %t1152, %t1308 :: integer
|
661
663
|
%t1311 = select %t1304, %t1309, %t1124 :: integer
|
662
|
-
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer>
|
663
|
-
%t1119 = fold %t1118 fn="agg.sum" ::
|
664
|
+
%t1118 = make_tuple(%t1139, %t1159, %t1179, %t1199, %t1227, %t1255, %t1283, %t1311) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
665
|
+
%t1119 = fold %t1118 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
664
666
|
%t1108 = call core.eq(%t1119, %t1107) :: boolean
|
665
667
|
%t1319 = call core.eq(%t1119, %t1318) :: boolean
|
666
|
-
%t1526 = call core.gt(%col_el_280, %
|
668
|
+
%t1526 = call core.gt(%col_el_280, %t1525) :: boolean
|
667
669
|
%t1315 = call core.and(%t1319, %t1526) :: boolean
|
668
670
|
%t284 = call core.or(%t1108, %t1315) :: boolean
|
669
671
|
yield %t284
|
@@ -678,6 +680,8 @@
|
|
678
680
|
%t1555 = const 1 :: integer
|
679
681
|
%t1534 = const 3 :: integer
|
680
682
|
%t1745 = const 2 :: integer
|
683
|
+
%t1952 = const 0 :: integer
|
684
|
+
%t291 = const 1 :: integer
|
681
685
|
%t1556 = call core.sub(%t1548, %t1555) :: integer
|
682
686
|
loop rows id=L31 in %t285 as el=%rows_el_286, idx=%rows_i_287
|
683
687
|
%t1550 = call core.sub(%rows_i_287, %t1549) :: integer
|
@@ -751,14 +755,14 @@
|
|
751
755
|
%t1735 = call core.clamp(%t1615, %t1551, %t1705) :: integer
|
752
756
|
%t1736 = gather %t1579, %t1735 :: integer
|
753
757
|
%t1738 = select %t1731, %t1736, %t1551 :: integer
|
754
|
-
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer>
|
755
|
-
%t1546 = fold %t1545 fn="agg.sum" ::
|
758
|
+
%t1545 = make_tuple(%t1566, %t1586, %t1606, %t1626, %t1654, %t1682, %t1710, %t1738) :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
759
|
+
%t1546 = fold %t1545 fn="agg.sum" :: tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
756
760
|
%t1535 = call core.eq(%t1546, %t1534) :: boolean
|
757
761
|
%t1746 = call core.eq(%t1546, %t1745) :: boolean
|
758
|
-
%t1953 = call core.gt(%col_el_288, %
|
762
|
+
%t1953 = call core.gt(%col_el_288, %t1952) :: boolean
|
759
763
|
%t1742 = call core.and(%t1746, %t1953) :: boolean
|
760
764
|
%t1531 = call core.or(%t1535, %t1742) :: boolean
|
761
|
-
%t293 = select %t1531, %
|
765
|
+
%t293 = select %t1531, %t291, %t1952 :: integer
|
762
766
|
yield %t293
|
763
767
|
end_loop
|
764
768
|
end_loop
|
@@ -51,7 +51,7 @@
|
|
51
51
|
)
|
52
52
|
)
|
53
53
|
(VALUE neighbors
|
54
|
-
(Call :
|
54
|
+
(Call :sum
|
55
55
|
(Tuple
|
56
56
|
(Ref n)
|
57
57
|
(Ref s)
|
@@ -83,19 +83,19 @@
|
|
83
83
|
)
|
84
84
|
)
|
85
85
|
(VALUE keep_alive
|
86
|
-
(Call :
|
86
|
+
(Call :and
|
87
87
|
(Ref n2_alive)
|
88
88
|
(Ref alive)
|
89
89
|
)
|
90
90
|
)
|
91
91
|
(VALUE next_alive
|
92
|
-
(Call :
|
92
|
+
(Call :or
|
93
93
|
(Ref n3_alive)
|
94
94
|
(Ref keep_alive)
|
95
95
|
)
|
96
96
|
)
|
97
97
|
(VALUE next_state
|
98
|
-
(Call :
|
98
|
+
(Call :select
|
99
99
|
(Ref next_alive)
|
100
100
|
(Const 1)
|
101
101
|
(Const 0)
|
@@ -7,6 +7,8 @@ export function _next_state(input) {
|
|
7
7
|
const t1555 = 1;
|
8
8
|
const t1534 = 3;
|
9
9
|
const t1745 = 2;
|
10
|
+
const t1952 = 0;
|
11
|
+
const t291 = 1;
|
10
12
|
let t1556 = t1548 - t1555;
|
11
13
|
t285.forEach((rows_el_286, rows_i_287) => {
|
12
14
|
let out_1 = [];
|
@@ -85,10 +87,10 @@ export function _next_state(input) {
|
|
85
87
|
let t1546 = t1545.reduce((a, b) => a + b, 0);
|
86
88
|
let t1535 = t1546 == t1534;
|
87
89
|
let t1746 = t1546 == t1745;
|
88
|
-
let t1953 = col_el_288 >
|
90
|
+
let t1953 = col_el_288 > t1952;
|
89
91
|
let t1742 = t1746 && t1953;
|
90
92
|
let t1531 = t1535 || t1742;
|
91
|
-
let t293 = t1531 ?
|
93
|
+
let t293 = t1531 ? t291 : t1952;
|
92
94
|
out_1.push(t293);
|
93
95
|
});
|
94
96
|
out.push(out_1);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_ae11e7c3ad9a975bf5a020676cab139ea1236c8dddef854f433710ced5881709
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -34,6 +34,8 @@ module Kumi::Compiled::KUMI_5e0a149820fd6b1804439359780ed5e142afe31fbc67b4cde25e
|
|
34
34
|
t1555 = 1
|
35
35
|
t1534 = 3
|
36
36
|
t1745 = 2
|
37
|
+
t1952 = 0
|
38
|
+
t291 = 1
|
37
39
|
t1556 = t1548 - t1555
|
38
40
|
t285.each_with_index do |rows_el_286, rows_i_287|
|
39
41
|
out_1 = []
|
@@ -112,10 +114,10 @@ module Kumi::Compiled::KUMI_5e0a149820fd6b1804439359780ed5e142afe31fbc67b4cde25e
|
|
112
114
|
t1546 = t1545.sum
|
113
115
|
t1535 = t1546 == t1534
|
114
116
|
t1746 = t1546 == t1745
|
115
|
-
t1953 = col_el_288 >
|
117
|
+
t1953 = col_el_288 > t1952
|
116
118
|
t1742 = t1746 && t1953
|
117
119
|
t1531 = t1535 || t1742
|
118
|
-
t293 = t1531 ?
|
120
|
+
t293 = t1531 ? t291 : t1952
|
119
121
|
out_1 << t293
|
120
122
|
end
|
121
123
|
out << out_1
|
@@ -61,34 +61,34 @@
|
|
61
61
|
(Ref ne) :: [rows, col] -> integer
|
62
62
|
(Ref sw) :: [rows, col] -> integer
|
63
63
|
(Ref se) :: [rows, col] -> integer
|
64
|
-
) :: [rows, col] -> tuple<integer>
|
65
|
-
) :: [rows, col] ->
|
66
|
-
) :: [rows, col] ->
|
67
|
-
(
|
64
|
+
) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
65
|
+
) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
66
|
+
) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
67
|
+
(VALUE alive
|
68
68
|
(Call :core.gt
|
69
69
|
(Ref a) :: [rows, col] -> integer
|
70
70
|
(Const 0) :: [] -> integer
|
71
71
|
) :: [rows, col] -> boolean
|
72
72
|
) :: [rows, col] -> boolean
|
73
|
-
(
|
73
|
+
(VALUE n3_alive
|
74
74
|
(Call :core.eq
|
75
|
-
(Ref neighbors) :: [rows, col] ->
|
75
|
+
(Ref neighbors) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
76
76
|
(Const 3) :: [] -> integer
|
77
77
|
) :: [rows, col] -> boolean
|
78
78
|
) :: [rows, col] -> boolean
|
79
|
-
(
|
79
|
+
(VALUE n2_alive
|
80
80
|
(Call :core.eq
|
81
|
-
(Ref neighbors) :: [rows, col] ->
|
81
|
+
(Ref neighbors) :: [rows, col] -> tuple<integer, integer, integer, integer, integer, integer, integer, integer>
|
82
82
|
(Const 2) :: [] -> integer
|
83
83
|
) :: [rows, col] -> boolean
|
84
84
|
) :: [rows, col] -> boolean
|
85
|
-
(
|
85
|
+
(VALUE keep_alive
|
86
86
|
(Call :core.and
|
87
87
|
(Ref n2_alive) :: [rows, col] -> boolean
|
88
88
|
(Ref alive) :: [rows, col] -> boolean
|
89
89
|
) :: [rows, col] -> boolean
|
90
90
|
) :: [rows, col] -> boolean
|
91
|
-
(
|
91
|
+
(VALUE next_alive
|
92
92
|
(Call :core.or
|
93
93
|
(Ref n3_alive) :: [rows, col] -> boolean
|
94
94
|
(Ref keep_alive) :: [rows, col] -> boolean
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_98387d10c8fdfa8747d9dd4e0467343453396c951d55d275edf4af0bbe8b27ef
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_a640fface9d8fd5b448e402d6bf2395566474e3e90386cc2bf6d46017bc09be2
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -26,7 +26,7 @@
|
|
26
26
|
(Ref top_team)
|
27
27
|
)
|
28
28
|
)
|
29
|
-
(Call :
|
29
|
+
(Call :multiply
|
30
30
|
(InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
|
31
31
|
(Const 0.3)
|
32
32
|
)
|
@@ -35,11 +35,11 @@
|
|
35
35
|
(Ref high_performer)
|
36
36
|
(Ref top_team)
|
37
37
|
)
|
38
|
-
(Call :
|
38
|
+
(Call :multiply
|
39
39
|
(InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
|
40
40
|
(Const 0.2)
|
41
41
|
)
|
42
|
-
(Call :
|
42
|
+
(Call :multiply
|
43
43
|
(InputRef [:regions, :region, :offices, :office, :teams, :team, :employees, :employee, :salary])
|
44
44
|
(Const 0.05)
|
45
45
|
)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_b5eda506631ac67b2fa4e23a5039573b754dbb87a45dd1e8bd18a5dd4c8c97b2
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -1,17 +1,17 @@
|
|
1
1
|
(SNAST
|
2
|
-
(
|
2
|
+
(VALUE high_performer
|
3
3
|
(Call :core.gte
|
4
4
|
(InputRef regions.region.offices.office.teams.team.employees.employee.rating key_chain=[]) :: [regions, offices, teams, employees] -> float
|
5
5
|
(Const 4.5) :: [] -> float
|
6
6
|
) :: [regions, offices, teams, employees] -> boolean
|
7
7
|
) :: [regions, offices, teams, employees] -> boolean
|
8
|
-
(
|
8
|
+
(VALUE senior_level
|
9
9
|
(Call :core.eq
|
10
10
|
(InputRef regions.region.offices.office.teams.team.employees.employee.level key_chain=[]) :: [regions, offices, teams, employees] -> string
|
11
11
|
(Const "senior") :: [] -> string
|
12
12
|
) :: [regions, offices, teams, employees] -> boolean
|
13
13
|
) :: [regions, offices, teams, employees] -> boolean
|
14
|
-
(
|
14
|
+
(VALUE top_team
|
15
15
|
(Call :core.gte
|
16
16
|
(InputRef regions.region.offices.office.teams.team.performance_score key_chain=[]) :: [regions, offices, teams] -> float
|
17
17
|
(Const 0.9) :: [] -> float
|
@@ -1,16 +1,16 @@
|
|
1
1
|
(NAST
|
2
2
|
(VALUE sum_x
|
3
|
-
(Call :
|
3
|
+
(Call :sum
|
4
4
|
(InputRef [:xs, :el, :v])
|
5
5
|
)
|
6
6
|
)
|
7
7
|
(VALUE sum_y
|
8
|
-
(Call :
|
8
|
+
(Call :sum
|
9
9
|
(InputRef [:ys, :el, :v])
|
10
10
|
)
|
11
11
|
)
|
12
12
|
(VALUE tail
|
13
|
-
(Call :
|
13
|
+
(Call :add
|
14
14
|
(Const 7.0)
|
15
15
|
(Const 5.0)
|
16
16
|
)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_b293577e0fe0c4582da8ed3cda757059e40f0fd50edd24bfe36b0d4740df92f1
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -9,12 +9,12 @@
|
|
9
9
|
(InputRef [:config, :servers, :server, :hostname])
|
10
10
|
)
|
11
11
|
(VALUE server_count
|
12
|
-
(Call :
|
12
|
+
(Call :array_size
|
13
13
|
(InputRef [:config, :servers])
|
14
14
|
)
|
15
15
|
)
|
16
16
|
(VALUE total_ports
|
17
|
-
(Call :
|
17
|
+
(Call :sum
|
18
18
|
(InputRef [:config, :servers, :server, :port])
|
19
19
|
)
|
20
20
|
)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_9c0cff737270bf63de9ce71b67c6290fce449bc31a3d436f78b4b0fc18485ded
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_babd0dd6c79515b0ea177f8a303874051c0f1c81ff6d57e90002a1cc4a6da663
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -1,24 +1,24 @@
|
|
1
1
|
(NAST
|
2
2
|
(VALUE x_sq
|
3
|
-
(Call :
|
3
|
+
(Call :multiply
|
4
4
|
(InputRef [:x])
|
5
5
|
(InputRef [:x])
|
6
6
|
)
|
7
7
|
)
|
8
8
|
(VALUE y_sq
|
9
|
-
(Call :
|
9
|
+
(Call :multiply
|
10
10
|
(InputRef [:y])
|
11
11
|
(InputRef [:y])
|
12
12
|
)
|
13
13
|
)
|
14
14
|
(VALUE distance_sq
|
15
|
-
(Call :
|
15
|
+
(Call :add
|
16
16
|
(Ref x_sq)
|
17
17
|
(Ref y_sq)
|
18
18
|
)
|
19
19
|
)
|
20
20
|
(VALUE distance
|
21
|
-
(Call :
|
21
|
+
(Call :power
|
22
22
|
(Ref distance_sq)
|
23
23
|
(Const 0.5)
|
24
24
|
)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_2b17dbaf9b9a1a6c29c795b17daeb9063d83829b4943219762ad8559dc83a981
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Autogenerated by Kumi Codegen
|
2
|
-
module Kumi::Compiled::
|
2
|
+
module Kumi::Compiled::KUMI_c70c48b631574cbfe5b913b29ea93654ff17af9d96ab10931647f10c6c674ef9
|
3
3
|
def self.from(input_data = nil)
|
4
4
|
instance = Object.new
|
5
5
|
instance.extend(self)
|