kumi 0.0.37 → 0.1.0
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/.rubocop.yml +39 -58
- data/.rubocop_todo.yml +931 -0
- data/CHANGELOG.md +37 -0
- data/README.md +3 -0
- data/data/functions/core/arithmetic.yaml +48 -0
- data/data/functions/core/conversion.yaml +13 -0
- data/data/functions/core/select.yaml +1 -1
- data/data/functions/core/stencil.yaml +32 -0
- data/data/kernels/javascript/agg/numeric.yaml +1 -0
- data/data/kernels/javascript/core/arithmetic.yaml +24 -0
- data/data/kernels/javascript/core/coercion.yaml +18 -4
- data/data/kernels/ruby/agg/numeric.yaml +2 -1
- data/data/kernels/ruby/core/arithmetic.yaml +31 -3
- data/data/kernels/ruby/core/coercion.yaml +8 -0
- data/docs/CROSS_TARGET_SEMANTICS.md +99 -0
- data/docs/FORM_SCHEMA.md +13 -8
- data/docs/FUNCTIONS.md +120 -13
- data/docs/INPUTS.md +164 -0
- data/docs/OUTPUT_SCHEMA.md +12 -8
- data/docs/PASSES.md +76 -0
- data/docs/PASS_AUDIT.md +179 -0
- data/docs/PORTAL.md +39 -0
- data/docs/SYNTAX.md +84 -121
- data/docs/SYNTAX_NOTES.md +612 -0
- data/docs/UNSAT_DETECTION.md +2 -2
- data/docs/functions-reference.json +276 -84
- data/docs/pairwise-design.md +125 -0
- data/docs/superpowers/plans/2026-06-12-pass-conventions-and-dedup.md +1559 -0
- data/docs/superpowers/specs/2026-06-12-pass-conventions-and-dedup-design.md +136 -0
- data/golden/algebraic_identities/expected/ast.txt +66 -0
- data/golden/algebraic_identities/expected/dfir.txt +47 -0
- data/golden/algebraic_identities/expected/dfir_optimized.txt +59 -0
- data/golden/algebraic_identities/expected/input_plan.txt +7 -0
- data/golden/algebraic_identities/expected/loopir.txt +61 -0
- data/golden/algebraic_identities/expected/nast.txt +51 -0
- data/golden/algebraic_identities/expected/runtime.json +24 -0
- data/golden/algebraic_identities/expected/schema_javascript.mjs +89 -0
- data/golden/algebraic_identities/expected/schema_ruby.rb +84 -0
- data/golden/algebraic_identities/expected/snast.txt +51 -0
- data/golden/algebraic_identities/expected/vecir.txt +47 -0
- data/golden/algebraic_identities/input.json +6 -0
- data/golden/algebraic_identities/schema.kumi +25 -0
- data/golden/array_element/expected/loopir.txt +1 -2
- data/golden/array_element/expected/runtime.json +5 -0
- data/golden/array_element/expected/schema_javascript.mjs +1 -2
- data/golden/array_element/expected/schema_ruby.rb +2 -3
- data/golden/array_index/expected/runtime.json +54 -0
- data/golden/array_index/expected/schema_ruby.rb +1 -1
- data/golden/array_operations/{expected.json → expected/runtime.json} +5 -15
- data/golden/array_operations/expected/schema_ruby.rb +1 -1
- data/golden/cascade_logic/expected/runtime.json +3 -0
- data/golden/cascade_logic/expected/schema_ruby.rb +1 -1
- data/golden/cascade_reuse_peephole/expected/ast.txt +193 -0
- data/golden/cascade_reuse_peephole/expected/dfir.txt +124 -0
- data/golden/cascade_reuse_peephole/expected/dfir_optimized.txt +320 -0
- data/golden/cascade_reuse_peephole/expected/input_plan.txt +2 -0
- data/golden/cascade_reuse_peephole/expected/loopir.txt +302 -0
- data/golden/cascade_reuse_peephole/expected/nast.txt +188 -0
- data/golden/cascade_reuse_peephole/expected/runtime.json +8 -0
- data/golden/cascade_reuse_peephole/expected/schema_javascript.mjs +335 -0
- data/golden/cascade_reuse_peephole/expected/schema_ruby.rb +337 -0
- data/golden/cascade_reuse_peephole/expected/snast.txt +188 -0
- data/golden/cascade_reuse_peephole/expected/vecir.txt +302 -0
- data/golden/cascade_reuse_peephole/input.json +4 -0
- data/golden/cascade_reuse_peephole/schema.kumi +31 -0
- data/golden/chained_fusion/expected/loopir.txt +5 -13
- data/golden/chained_fusion/expected/runtime.json +45 -0
- data/golden/chained_fusion/expected/schema_javascript.mjs +5 -13
- data/golden/chained_fusion/expected/schema_ruby.rb +6 -14
- data/golden/cross_import/expected/ast.txt +21 -0
- data/golden/cross_import/expected/dfir.txt +3 -0
- data/golden/cross_import/expected/dfir_optimized.txt +8 -0
- data/golden/cross_import/expected/input_plan.txt +5 -0
- data/golden/cross_import/expected/loopir.txt +14 -0
- data/golden/cross_import/expected/nast.txt +7 -0
- data/golden/cross_import/expected/runtime.json +10 -0
- data/golden/cross_import/expected/schema_javascript.mjs +19 -0
- data/golden/cross_import/expected/schema_ruby.rb +19 -0
- data/golden/cross_import/expected/snast.txt +7 -0
- data/golden/cross_import/expected/vecir.txt +8 -0
- data/golden/cross_import/input.json +1 -0
- data/golden/cross_import/schema.kumi +15 -0
- data/golden/cross_let/expected/ast.txt +62 -0
- data/golden/cross_let/expected/dfir.txt +35 -0
- data/golden/cross_let/expected/dfir_optimized.txt +51 -0
- data/golden/cross_let/expected/input_plan.txt +5 -0
- data/golden/cross_let/expected/loopir.txt +100 -0
- data/golden/cross_let/expected/nast.txt +46 -0
- data/golden/cross_let/expected/runtime.json +61 -0
- data/golden/cross_let/expected/schema_javascript.mjs +136 -0
- data/golden/cross_let/expected/schema_ruby.rb +123 -0
- data/golden/cross_let/expected/snast.txt +46 -0
- data/golden/cross_let/expected/vecir.txt +51 -0
- data/golden/cross_let/input.json +7 -0
- data/golden/cross_let/schema.kumi +25 -0
- data/golden/decimal_explicit/expected/dfir.txt +6 -6
- data/golden/decimal_explicit/expected/dfir_optimized.txt +6 -6
- data/golden/decimal_explicit/expected/loopir.txt +6 -6
- data/golden/decimal_explicit/expected/runtime.json +10 -0
- data/golden/decimal_explicit/expected/schema_ruby.rb +1 -1
- data/golden/decimal_explicit/expected/snast.txt +9 -9
- data/golden/decimal_explicit/expected/vecir.txt +6 -6
- data/golden/element_arrays/expected/loopir.txt +6 -13
- data/golden/element_arrays/expected/runtime.json +117 -0
- data/golden/element_arrays/expected/schema_javascript.mjs +7 -14
- data/golden/element_arrays/expected/schema_ruby.rb +8 -15
- data/golden/empty_and_null_inputs/expected/loopir.txt +4 -9
- data/golden/empty_and_null_inputs/expected/runtime.json +8 -0
- data/golden/empty_and_null_inputs/expected/schema_javascript.mjs +5 -10
- data/golden/empty_and_null_inputs/expected/schema_ruby.rb +6 -11
- data/golden/example_xpto/expected/runtime.json +4 -0
- data/golden/example_xpto/expected/schema_ruby.rb +1 -1
- data/golden/function_overload/expected/runtime.json +8 -0
- data/golden/function_overload/expected/schema_ruby.rb +1 -1
- data/golden/game_of_life/expected/loopir.txt +1 -58
- data/golden/game_of_life/expected/runtime.json +418 -0
- data/golden/game_of_life/expected/schema_javascript.mjs +1 -58
- data/golden/game_of_life/expected/schema_ruby.rb +2 -59
- data/golden/hash_keys/expected/runtime.json +20 -0
- data/golden/hash_keys/expected/schema_ruby.rb +1 -1
- data/golden/hash_value/expected/runtime.json +19 -0
- data/golden/hash_value/expected/schema_ruby.rb +1 -1
- data/golden/hierarchical_complex/expected/loopir.txt +0 -4
- data/golden/hierarchical_complex/expected/runtime.json +16 -0
- data/golden/hierarchical_complex/expected/schema_javascript.mjs +0 -4
- data/golden/hierarchical_complex/expected/schema_ruby.rb +1 -5
- data/golden/inline_rename_scope_leak/expected/loopir.txt +1 -5
- data/golden/inline_rename_scope_leak/expected/runtime.json +10 -0
- data/golden/inline_rename_scope_leak/expected/schema_javascript.mjs +3 -7
- data/golden/inline_rename_scope_leak/expected/schema_ruby.rb +4 -8
- data/golden/input_reference/expected/dfir.txt +2 -2
- data/golden/input_reference/expected/dfir_optimized.txt +2 -2
- data/golden/input_reference/expected/loopir.txt +2 -5
- data/golden/input_reference/expected/runtime.json +15 -0
- data/golden/input_reference/expected/schema_javascript.mjs +3 -6
- data/golden/input_reference/expected/schema_ruby.rb +4 -7
- data/golden/input_reference/expected/snast.txt +1 -1
- data/golden/input_reference/expected/vecir.txt +2 -2
- data/golden/interleaved_fusion/expected/loopir.txt +5 -10
- data/golden/interleaved_fusion/expected/runtime.json +37 -0
- data/golden/interleaved_fusion/expected/schema_javascript.mjs +5 -10
- data/golden/interleaved_fusion/expected/schema_ruby.rb +6 -11
- data/golden/let_inline/expected/runtime.json +6 -0
- data/golden/let_inline/expected/schema_ruby.rb +2 -2
- data/golden/loop_fusion/expected/loopir.txt +3 -7
- data/golden/loop_fusion/expected/runtime.json +29 -0
- data/golden/loop_fusion/expected/schema_javascript.mjs +3 -7
- data/golden/loop_fusion/expected/schema_ruby.rb +4 -8
- data/golden/min_max_empty_arrays/expected/loopir.txt +5 -12
- data/golden/min_max_empty_arrays/expected/runtime.json +16 -0
- data/golden/min_max_empty_arrays/expected/schema_javascript.mjs +7 -14
- data/golden/min_max_empty_arrays/expected/schema_ruby.rb +10 -17
- data/golden/min_reduce_scope/expected/loopir.txt +3 -7
- data/golden/min_reduce_scope/expected/runtime.json +11 -0
- data/golden/min_reduce_scope/expected/schema_javascript.mjs +4 -8
- data/golden/min_reduce_scope/expected/schema_ruby.rb +5 -9
- data/golden/mixed_dimensions/expected/loopir.txt +2 -5
- data/golden/mixed_dimensions/expected/runtime.json +34 -0
- data/golden/mixed_dimensions/expected/schema_javascript.mjs +3 -6
- data/golden/mixed_dimensions/expected/schema_ruby.rb +4 -7
- data/golden/mlp_backprop/expected/ast.txt +147 -0
- data/golden/mlp_backprop/expected/dfir.txt +99 -0
- data/golden/mlp_backprop/expected/dfir_optimized.txt +374 -0
- data/golden/mlp_backprop/expected/input_plan.txt +17 -0
- data/golden/mlp_backprop/expected/loopir.txt +440 -0
- data/golden/mlp_backprop/expected/nast.txt +120 -0
- data/golden/mlp_backprop/expected/runtime.json +43 -0
- data/golden/mlp_backprop/expected/schema_javascript.mjs +516 -0
- data/golden/mlp_backprop/expected/schema_ruby.rb +484 -0
- data/golden/mlp_backprop/expected/snast.txt +120 -0
- data/golden/mlp_backprop/expected/vecir.txt +374 -0
- data/golden/mlp_backprop/input.json +8 -0
- data/golden/mlp_backprop/schema.kumi +43 -0
- data/golden/multi_loop_reduction/expected/loopir.txt +2 -6
- data/golden/multi_loop_reduction/expected/runtime.json +5 -0
- data/golden/multi_loop_reduction/expected/schema_javascript.mjs +4 -8
- data/golden/multi_loop_reduction/expected/schema_ruby.rb +5 -9
- data/golden/multirank_hoisting/expected/loopir.txt +24 -42
- data/golden/multirank_hoisting/expected/runtime.json +47 -0
- data/golden/multirank_hoisting/expected/schema_javascript.mjs +24 -45
- data/golden/multirank_hoisting/expected/schema_ruby.rb +25 -43
- data/golden/nested_hash/expected/runtime.json +3 -0
- data/golden/nested_hash/expected/schema_ruby.rb +1 -1
- data/golden/outer_let/expected/ast.txt +106 -0
- data/golden/outer_let/expected/dfir.txt +66 -0
- data/golden/outer_let/expected/dfir_optimized.txt +145 -0
- data/golden/outer_let/expected/input_plan.txt +19 -0
- data/golden/outer_let/expected/loopir.txt +166 -0
- data/golden/outer_let/expected/nast.txt +78 -0
- data/golden/outer_let/expected/runtime.json +89 -0
- data/golden/outer_let/expected/schema_javascript.mjs +220 -0
- data/golden/outer_let/expected/schema_ruby.rb +201 -0
- data/golden/outer_let/expected/snast.txt +78 -0
- data/golden/outer_let/expected/vecir.txt +145 -0
- data/golden/outer_let/input.json +9 -0
- data/golden/outer_let/schema.kumi +32 -0
- data/golden/pairwise_cross/expected/ast.txt +62 -0
- data/golden/pairwise_cross/expected/dfir.txt +36 -0
- data/golden/pairwise_cross/expected/dfir_optimized.txt +50 -0
- data/golden/pairwise_cross/expected/input_plan.txt +8 -0
- data/golden/pairwise_cross/expected/loopir.txt +84 -0
- data/golden/pairwise_cross/expected/nast.txt +46 -0
- data/golden/pairwise_cross/expected/runtime.json +80 -0
- data/golden/pairwise_cross/expected/schema_javascript.mjs +113 -0
- data/golden/pairwise_cross/expected/schema_ruby.rb +104 -0
- data/golden/pairwise_cross/expected/snast.txt +46 -0
- data/golden/pairwise_cross/expected/vecir.txt +50 -0
- data/golden/pairwise_cross/input.json +8 -0
- data/golden/pairwise_cross/schema.kumi +18 -0
- data/golden/reduction_broadcast/expected/loopir.txt +4 -10
- data/golden/reduction_broadcast/expected/runtime.json +14 -0
- data/golden/reduction_broadcast/expected/schema_javascript.mjs +4 -10
- data/golden/reduction_broadcast/expected/schema_ruby.rb +5 -11
- data/golden/roll/expected/loopir.txt +4 -8
- data/golden/roll/expected/runtime.json +26 -0
- data/golden/roll/expected/schema_javascript.mjs +4 -8
- data/golden/roll/expected/schema_ruby.rb +5 -9
- data/golden/schema_imports_broadcasting_with_imports/expected/dfir.txt +3 -3
- data/golden/schema_imports_broadcasting_with_imports/expected/dfir_optimized.txt +3 -3
- data/golden/schema_imports_broadcasting_with_imports/expected/loopir.txt +3 -4
- data/golden/schema_imports_broadcasting_with_imports/expected/runtime.json +11 -0
- data/golden/schema_imports_broadcasting_with_imports/expected/schema_javascript.mjs +2 -3
- data/golden/schema_imports_broadcasting_with_imports/expected/schema_ruby.rb +3 -4
- data/golden/schema_imports_broadcasting_with_imports/expected/snast.txt +5 -5
- data/golden/schema_imports_broadcasting_with_imports/expected/vecir.txt +3 -3
- data/golden/schema_imports_complex_order_calc/expected/dfir.txt +20 -20
- data/golden/schema_imports_complex_order_calc/expected/dfir_optimized.txt +60 -60
- data/golden/schema_imports_complex_order_calc/expected/loopir.txt +34 -47
- data/golden/schema_imports_complex_order_calc/expected/runtime.json +33 -0
- data/golden/schema_imports_complex_order_calc/expected/schema_javascript.mjs +16 -29
- data/golden/schema_imports_complex_order_calc/expected/schema_ruby.rb +17 -30
- data/golden/schema_imports_complex_order_calc/expected/snast.txt +26 -26
- data/golden/schema_imports_complex_order_calc/expected/vecir.txt +60 -60
- data/golden/schema_imports_composed_order/expected/dfir.txt +3 -3
- data/golden/schema_imports_composed_order/expected/dfir_optimized.txt +6 -6
- data/golden/schema_imports_composed_order/expected/loopir.txt +6 -6
- data/golden/schema_imports_composed_order/expected/runtime.json +9 -0
- data/golden/schema_imports_composed_order/expected/schema_ruby.rb +1 -1
- data/golden/schema_imports_composed_order/expected/snast.txt +5 -5
- data/golden/schema_imports_composed_order/expected/vecir.txt +6 -6
- data/golden/schema_imports_discount_with_tax/expected/dfir.txt +7 -7
- data/golden/schema_imports_discount_with_tax/expected/dfir_optimized.txt +10 -10
- data/golden/schema_imports_discount_with_tax/expected/loopir.txt +10 -10
- data/golden/schema_imports_discount_with_tax/expected/runtime.json +10 -0
- data/golden/schema_imports_discount_with_tax/expected/schema_ruby.rb +1 -1
- data/golden/schema_imports_discount_with_tax/expected/snast.txt +11 -11
- data/golden/schema_imports_discount_with_tax/expected/vecir.txt +10 -10
- data/golden/schema_imports_line_items/expected/dfir.txt +1 -1
- data/golden/schema_imports_line_items/expected/dfir_optimized.txt +3 -3
- data/golden/schema_imports_line_items/expected/loopir.txt +3 -6
- data/golden/schema_imports_line_items/expected/runtime.json +8 -0
- data/golden/schema_imports_line_items/expected/schema_javascript.mjs +4 -7
- data/golden/schema_imports_line_items/expected/schema_ruby.rb +5 -8
- data/golden/schema_imports_line_items/expected/snast.txt +1 -1
- data/golden/schema_imports_line_items/expected/vecir.txt +3 -3
- data/golden/schema_imports_multiple/expected/dfir.txt +7 -7
- data/golden/schema_imports_multiple/expected/dfir_optimized.txt +13 -13
- data/golden/schema_imports_multiple/expected/loopir.txt +13 -13
- data/golden/schema_imports_multiple/expected/runtime.json +10 -0
- data/golden/schema_imports_multiple/expected/schema_ruby.rb +1 -1
- data/golden/schema_imports_multiple/expected/snast.txt +11 -11
- data/golden/schema_imports_multiple/expected/vecir.txt +13 -13
- data/golden/schema_imports_nested_expressions/expected/dfir.txt +4 -4
- data/golden/schema_imports_nested_expressions/expected/dfir_optimized.txt +6 -6
- data/golden/schema_imports_nested_expressions/expected/loopir.txt +6 -6
- data/golden/schema_imports_nested_expressions/expected/runtime.json +8 -0
- data/golden/schema_imports_nested_expressions/expected/schema_ruby.rb +1 -1
- data/golden/schema_imports_nested_expressions/expected/snast.txt +6 -6
- data/golden/schema_imports_nested_expressions/expected/vecir.txt +6 -6
- data/golden/schema_imports_nested_with_reductions/expected/dfir.txt +6 -6
- data/golden/schema_imports_nested_with_reductions/expected/dfir_optimized.txt +15 -15
- data/golden/schema_imports_nested_with_reductions/expected/loopir.txt +7 -14
- data/golden/schema_imports_nested_with_reductions/expected/runtime.json +12 -0
- data/golden/schema_imports_nested_with_reductions/expected/schema_javascript.mjs +8 -15
- data/golden/schema_imports_nested_with_reductions/expected/schema_ruby.rb +9 -16
- data/golden/schema_imports_nested_with_reductions/expected/snast.txt +6 -6
- data/golden/schema_imports_nested_with_reductions/expected/vecir.txt +15 -15
- data/golden/schema_imports_with_imports/expected/dfir.txt +3 -3
- data/golden/schema_imports_with_imports/expected/dfir_optimized.txt +3 -3
- data/golden/schema_imports_with_imports/expected/loopir.txt +3 -3
- data/golden/schema_imports_with_imports/expected/runtime.json +7 -0
- data/golden/schema_imports_with_imports/expected/schema_ruby.rb +1 -1
- data/golden/schema_imports_with_imports/expected/snast.txt +5 -5
- data/golden/schema_imports_with_imports/expected/vecir.txt +3 -3
- data/golden/shift/expected/loopir.txt +4 -8
- data/golden/shift/expected/runtime.json +38 -0
- data/golden/shift/expected/schema_javascript.mjs +4 -8
- data/golden/shift/expected/schema_ruby.rb +5 -9
- data/golden/shift_2d/expected/loopir.txt +8 -16
- data/golden/shift_2d/expected/runtime.json +146 -0
- data/golden/shift_2d/expected/schema_javascript.mjs +8 -16
- data/golden/shift_2d/expected/schema_ruby.rb +9 -17
- data/golden/simple_math/expected/runtime.json +10 -0
- data/golden/simple_math/expected/schema_ruby.rb +1 -1
- data/golden/streaming_basics/expected/loopir.txt +0 -3
- data/golden/streaming_basics/expected/runtime.json +25 -0
- data/golden/streaming_basics/expected/schema_javascript.mjs +3 -6
- data/golden/streaming_basics/expected/schema_ruby.rb +4 -7
- data/golden/transcendentals/expected/ast.txt +48 -0
- data/golden/transcendentals/expected/dfir.txt +31 -0
- data/golden/transcendentals/expected/dfir_optimized.txt +34 -0
- data/golden/transcendentals/expected/input_plan.txt +5 -0
- data/golden/transcendentals/expected/loopir.txt +46 -0
- data/golden/transcendentals/expected/nast.txt +34 -0
- data/golden/transcendentals/expected/runtime.json +27 -0
- data/golden/transcendentals/expected/schema_javascript.mjs +66 -0
- data/golden/transcendentals/expected/schema_ruby.rb +63 -0
- data/golden/transcendentals/expected/snast.txt +34 -0
- data/golden/transcendentals/expected/vecir.txt +34 -0
- data/golden/transcendentals/input.json +1 -0
- data/golden/transcendentals/schema.kumi +16 -0
- data/golden/tuples/expected/dfir.txt +4 -4
- data/golden/tuples/expected/runtime.json +12 -0
- data/golden/tuples/expected/schema_ruby.rb +1 -1
- data/golden/tuples_and_arrays/expected/dfir.txt +1 -1
- data/golden/tuples_and_arrays/expected/loopir.txt +0 -1
- data/golden/tuples_and_arrays/expected/runtime.json +13 -0
- data/golden/tuples_and_arrays/expected/schema_javascript.mjs +1 -2
- data/golden/tuples_and_arrays/expected/schema_ruby.rb +2 -3
- data/golden/type_promotion/expected/ast.txt +75 -0
- data/golden/type_promotion/expected/dfir.txt +38 -0
- data/golden/type_promotion/expected/dfir_optimized.txt +51 -0
- data/golden/type_promotion/expected/input_plan.txt +9 -0
- data/golden/type_promotion/expected/loopir.txt +57 -0
- data/golden/type_promotion/expected/nast.txt +57 -0
- data/golden/type_promotion/expected/runtime.json +23 -0
- data/golden/type_promotion/expected/schema_javascript.mjs +90 -0
- data/golden/type_promotion/expected/schema_ruby.rb +89 -0
- data/golden/type_promotion/expected/snast.txt +57 -0
- data/golden/type_promotion/expected/vecir.txt +51 -0
- data/golden/type_promotion/input.json +11 -0
- data/golden/type_promotion/schema.kumi +30 -0
- data/golden/us_tax_2024/expected/dfir.txt +6 -6
- data/golden/us_tax_2024/expected/loopir.txt +108 -217
- data/golden/us_tax_2024/expected/runtime.json +423 -0
- data/golden/us_tax_2024/expected/schema_javascript.mjs +108 -235
- data/golden/us_tax_2024/expected/schema_ruby.rb +109 -218
- data/golden/vector_make_object/expected/schema_ruby.rb +1 -1
- data/golden/with_constants/expected/schema_ruby.rb +1 -1
- data/lib/kumi/analyzer.rb +29 -34
- data/lib/kumi/configuration.rb +31 -0
- data/lib/kumi/core/analyzer/binder.rb +2 -2
- data/lib/kumi/core/analyzer/macro_expander.rb +3 -3
- data/lib/kumi/core/analyzer/pass_failure.rb +1 -1
- data/lib/kumi/core/analyzer/pass_manager.rb +211 -100
- data/lib/kumi/core/analyzer/passes/attach_anchors_pass.rb +44 -15
- data/lib/kumi/core/analyzer/passes/attach_terminal_info_pass.rb +6 -20
- data/lib/kumi/core/analyzer/passes/codegen/loop/js/emitter.rb +235 -35
- data/lib/kumi/core/analyzer/passes/codegen/loop/ruby/emitter.rb +6 -3
- data/lib/kumi/core/analyzer/passes/codegen/loop_js_pass.rb +3 -0
- data/lib/kumi/core/analyzer/passes/codegen/loop_ruby_pass.rb +3 -0
- data/lib/kumi/core/analyzer/passes/constant_folding_pass.rb +3 -0
- data/lib/kumi/core/analyzer/passes/contract_checker_pass.rb +1 -1
- data/lib/kumi/core/analyzer/passes/declaration_validator_pass.rb +83 -0
- data/lib/kumi/core/analyzer/passes/{dependency_resolver.rb → dependency_resolver_pass.rb} +8 -6
- data/lib/kumi/core/analyzer/passes/df_validate_pass.rb +3 -13
- data/lib/kumi/core/analyzer/passes/import_analysis_pass.rb +7 -2
- data/lib/kumi/core/analyzer/passes/input_access_planner_pass.rb +4 -28
- data/lib/kumi/core/analyzer/passes/{input_collector.rb → input_collector_pass.rb} +30 -3
- data/lib/kumi/core/analyzer/passes/input_form_schema_pass.rb +4 -1
- data/lib/kumi/core/analyzer/passes/ir_execution_schedule_pass.rb +4 -2
- data/lib/kumi/core/analyzer/passes/ir_lower_pass.rb +35 -0
- data/lib/kumi/core/analyzer/passes/ir_validate_pass.rb +43 -0
- data/lib/kumi/core/analyzer/passes/{load_input_cse.rb → load_input_cse_pass.rb} +1 -1
- data/lib/kumi/core/analyzer/passes/loop/lower_pass.rb +23 -10
- data/lib/kumi/core/analyzer/passes/loop_validate_pass.rb +2 -10
- data/lib/kumi/core/analyzer/passes/lower_to_dfir_pass.rb +4 -2
- data/lib/kumi/core/analyzer/passes/{name_indexer.rb → name_indexer_pass.rb} +3 -7
- data/lib/kumi/core/analyzer/passes/nast_dimensional_analyzer_pass.rb +174 -23
- data/lib/kumi/core/analyzer/passes/normalize_to_nast_pass.rb +19 -3
- data/lib/kumi/core/analyzer/passes/output_schema_pass.rb +3 -0
- data/lib/kumi/core/analyzer/passes/pass_base.rb +78 -5
- data/lib/kumi/core/analyzer/passes/precompute_access_paths_pass.rb +7 -1
- data/lib/kumi/core/analyzer/passes/{semantic_constraint_validator.rb → semantic_constraint_validator_pass.rb} +7 -14
- data/lib/kumi/core/analyzer/passes/snast_pass.rb +22 -48
- data/lib/kumi/core/analyzer/passes/{toposorter.rb → toposorter_pass.rb} +4 -5
- data/lib/kumi/core/analyzer/passes/{unsat_detector.rb → unsat_detector_pass.rb} +4 -15
- data/lib/kumi/core/analyzer/passes/vec/lower_pass.rb +6 -8
- data/lib/kumi/core/analyzer/passes/vec_validate_pass.rb +2 -10
- data/lib/kumi/core/analyzer/structs/input_meta.rb +1 -1
- data/lib/kumi/core/compiler/access_builder.rb +1 -1
- data/lib/kumi/core/compiler/access_codegen.rb +1 -1
- data/lib/kumi/core/compiler/access_emit/base.rb +1 -1
- data/lib/kumi/core/compiler/access_planner_v2.rb +2 -2
- data/lib/kumi/core/compiler/accessors/each_indexed_accessor.rb +1 -1
- data/lib/kumi/core/compiler/accessors/materialize_accessor.rb +1 -1
- data/lib/kumi/core/compiler/accessors/ravel_accessor.rb +1 -1
- data/lib/kumi/core/compiler/accessors/read_accessor.rb +1 -1
- data/lib/kumi/core/error_reporter.rb +6 -11
- data/lib/kumi/core/errors.rb +37 -11
- data/lib/kumi/core/expression_renderer.rb +97 -0
- data/lib/kumi/core/functions/overload_resolver.rb +79 -149
- data/lib/kumi/core/ir/execution_engine/combinators.rb +16 -10
- data/lib/kumi/core/nast.rb +24 -0
- data/lib/kumi/core/ruby_parser/dsl.rb +12 -2
- data/lib/kumi/core/ruby_parser/dsl_cascade_builder.rb +14 -12
- data/lib/kumi/core/ruby_parser/guard_rails.rb +15 -1
- data/lib/kumi/core/ruby_parser/input_builder.rb +55 -48
- data/lib/kumi/core/ruby_parser/parser.rb +25 -17
- data/lib/kumi/core/ruby_parser/schema_builder.rb +43 -15
- data/lib/kumi/core/ruby_parser/sugar.rb +0 -86
- data/lib/kumi/core/types/dtype_rule.rb +76 -0
- data/lib/kumi/core/types/normalizer.rb +2 -2
- data/lib/kumi/core/types/profile.rb +82 -0
- data/lib/kumi/core/types/registry.rb +87 -0
- data/lib/kumi/core/types/system.rb +96 -0
- data/lib/kumi/core/types/value_objects.rb +14 -13
- data/lib/kumi/core/types.rb +41 -34
- data/lib/kumi/dev/golden_runtime.rb +163 -0
- data/lib/kumi/dev/golden_v2.rb +30 -5
- data/lib/kumi/dev/pretty_printer.rb +40 -73
- data/lib/kumi/frontends/ruby.rb +52 -12
- data/lib/kumi/frontends/source_frame.rb +71 -0
- data/lib/kumi/frontends/text.rb +4 -48
- data/lib/kumi/function_registry/loader.rb +101 -0
- data/lib/kumi/function_registry.rb +150 -0
- data/lib/kumi/ir/base/block.rb +11 -2
- data/lib/kumi/ir/base/builder.rb +1 -1
- data/lib/kumi/ir/base/function.rb +2 -4
- data/lib/kumi/ir/base/instruction.rb +10 -23
- data/lib/kumi/ir/base/module.rb +5 -4
- data/lib/kumi/ir/buf/lower.rb +1 -2
- data/lib/kumi/ir/df/access_contract.rb +3 -5
- data/lib/kumi/ir/df/import_inliner.rb +2 -5
- data/lib/kumi/ir/df/lower.rb +72 -51
- data/lib/kumi/ir/df/ops/axis_cross.rb +34 -0
- data/lib/kumi/ir/df/ops/axis_outer.rb +35 -0
- data/lib/kumi/ir/df/passes/broadcast_simplify.rb +1 -2
- data/lib/kumi/ir/df/passes/cse.rb +8 -3
- data/lib/kumi/ir/df/passes/decl_inlining.rb +5 -26
- data/lib/kumi/ir/df/passes/import_inlining.rb +42 -36
- data/lib/kumi/ir/df/passes/load_dedup.rb +9 -4
- data/lib/kumi/ir/df/passes/stencil_cse.rb +2 -5
- data/lib/kumi/ir/df/passes/support/instruction_cloner.rb +41 -14
- data/lib/kumi/ir/df/passes/tuple_fold_canonicalization.rb +8 -3
- data/lib/kumi/ir/df/passes/tuple_to_object.rb +1 -2
- data/lib/kumi/ir/df/validator.rb +3 -3
- data/lib/kumi/ir/df.rb +8 -0
- data/lib/kumi/ir/loop/lower.rb +231 -37
- data/lib/kumi/ir/loop/passes/array_contraction.rb +124 -0
- data/lib/kumi/ir/loop/passes/copy_cleanup.rb +112 -0
- data/lib/kumi/ir/loop/passes/loop_fusion.rb +125 -0
- data/lib/kumi/ir/loop/passes/support/structure.rb +100 -0
- data/lib/kumi/ir/loop/passes.rb +14 -0
- data/lib/kumi/ir/loop/pipeline.rb +9 -1
- data/lib/kumi/ir/loop/validator.rb +29 -4
- data/lib/kumi/ir/loop.rb +1 -0
- data/lib/kumi/ir/passes/register_generator.rb +32 -0
- data/lib/kumi/ir/testing/snast_factory.rb +2 -4
- data/lib/kumi/ir/vec/lower.rb +17 -7
- data/lib/kumi/ir/vec/ops/core_ops.rb +41 -0
- data/lib/kumi/ir/vec/passes/axis_canonicalization.rb +1 -2
- data/lib/kumi/ir/vec/passes/constant_propagation.rb +75 -47
- data/lib/kumi/ir/vec/passes/dce.rb +2 -5
- data/lib/kumi/ir/vec/passes/gvn.rb +8 -3
- data/lib/kumi/ir/vec/passes/peephole_simplify.rb +30 -13
- data/lib/kumi/ir/vec/passes/stencil_detection.rb +1 -2
- data/lib/kumi/ir/vec/passes/support/algebraic_identities.rb +70 -0
- data/lib/kumi/ir/vec/passes/support/instruction_cloner.rb +17 -3
- data/lib/kumi/ir/vec/validator.rb +26 -6
- data/lib/kumi/schema.rb +14 -10
- data/lib/kumi/schema_metadata/printer.rb +111 -0
- data/lib/kumi/schema_metadata.rb +289 -0
- data/lib/kumi/syntax/location.rb +14 -1
- data/lib/kumi/syntax/root.rb +35 -3
- data/lib/kumi/test_shared_schemas/pairwise.rb +27 -0
- data/lib/kumi/version.rb +1 -1
- data/lib/kumi.rb +3 -5
- data/tasks/docs_portal.rake +135 -0
- metadata +203 -81
- data/golden/array_element/expected.json +0 -5
- data/golden/array_index/expected.json +0 -5
- data/golden/cascade_logic/expected.json +0 -5
- data/golden/chained_fusion/expected.json +0 -45
- data/golden/decimal_explicit/expected.json +0 -1
- data/golden/element_arrays/expected.json +0 -55
- data/golden/empty_and_null_inputs/expected.json +0 -8
- data/golden/example_xpto/expected.json +0 -4
- data/golden/game_of_life/expected.json +0 -3
- data/golden/hash_keys/expected.json +0 -20
- data/golden/hash_value/expected.json +0 -19
- data/golden/hierarchical_complex/expected.json +0 -34
- data/golden/inline_rename_scope_leak/expected.json +0 -7
- data/golden/input_reference/expected.json +0 -7
- data/golden/interleaved_fusion/expected.json +0 -37
- data/golden/let_inline/expected.json +0 -1
- data/golden/loop_fusion/expected.json +0 -30
- data/golden/min_max_empty_arrays/expected.json +0 -7
- data/golden/min_reduce_scope/expected.json +0 -9
- data/golden/mixed_dimensions/expected.json +0 -6
- data/golden/multi_loop_reduction/expected.json +0 -5
- data/golden/multirank_hoisting/expected.json +0 -15
- data/golden/nested_hash/expected.json +0 -3
- data/golden/reduction_broadcast/expected.json +0 -25
- data/golden/roll/expected.json +0 -6
- data/golden/schema_imports_broadcasting_with_imports/expected.json +0 -4
- data/golden/schema_imports_complex_order_calc/expected.json +0 -12
- data/golden/schema_imports_composed_order/expected.json +0 -6
- data/golden/schema_imports_discount_with_tax/expected.json +0 -7
- data/golden/schema_imports_line_items/expected.json +0 -5
- data/golden/schema_imports_multiple/expected.json +0 -7
- data/golden/schema_imports_nested_expressions/expected.json +0 -5
- data/golden/schema_imports_nested_with_reductions/expected.json +0 -6
- data/golden/schema_imports_with_imports/expected.json +0 -4
- data/golden/shift/expected.json +0 -8
- data/golden/shift_2d/expected.json +0 -15
- data/golden/simple_math/expected.json +0 -1
- data/golden/streaming_basics/expected.json +0 -10
- data/golden/tuples/expected.json +0 -7
- data/golden/tuples_and_arrays/expected.json +0 -18
- data/golden/us_tax_2024/expected.json +0 -120
- data/lib/kumi/core/analyzer/passes/assemble_irv2_pass.rb +0 -130
- data/lib/kumi/core/analyzer/passes/declaration_validator.rb +0 -45
- data/lib/kumi/core/analyzer/passes/lower_to_irv2_pass.rb +0 -197
- data/lib/kumi/core/compiler/access_planner.rb +0 -258
- data/lib/kumi/core/functions/function_spec.rb +0 -17
- data/lib/kumi/core/functions/loader.rb +0 -63
- data/lib/kumi/core/functions/type_categories.rb +0 -44
- data/lib/kumi/core/functions/type_error_reporter.rb +0 -116
- data/lib/kumi/core/functions/type_rules.rb +0 -228
- data/lib/kumi/core/irv2/builder.rb +0 -48
- data/lib/kumi/core/irv2/declaration.rb +0 -28
- data/lib/kumi/core/irv2/module.rb +0 -108
- data/lib/kumi/core/irv2/value.rb +0 -28
- data/lib/kumi/core/types/validator.rb +0 -33
- data/lib/kumi/dev/codegen.rb +0 -194
- data/lib/kumi/dev/golden/generator.rb +0 -109
- data/lib/kumi/dev/golden/reporter.rb +0 -169
- data/lib/kumi/dev/golden/representation.rb +0 -40
- data/lib/kumi/dev/golden/result.rb +0 -106
- data/lib/kumi/dev/golden/runtime_test.rb +0 -131
- data/lib/kumi/dev/golden/suite.rb +0 -147
- data/lib/kumi/dev/golden/value_normalizer.rb +0 -78
- data/lib/kumi/dev/golden/verifier.rb +0 -76
- data/lib/kumi/dev/golden.rb +0 -82
- data/lib/kumi/dev/golden_schema_wrapper.rb +0 -116
- data/lib/kumi/dev/printer/irv2_formatter.rb +0 -163
- data/lib/kumi/kernel_registry.rb +0 -59
- data/lib/kumi/pack/builder.rb +0 -229
- data/lib/kumi/pack.rb +0 -15
- data/lib/kumi/registry_v2/loader.rb +0 -170
- data/lib/kumi/registry_v2.rb +0 -135
|
@@ -344,16 +344,150 @@
|
|
|
344
344
|
],
|
|
345
345
|
"reduction_strategy": null
|
|
346
346
|
},
|
|
347
|
+
"sqrt": {
|
|
348
|
+
"id": "core.sqrt",
|
|
349
|
+
"kind": "elementwise",
|
|
350
|
+
"arity": 1,
|
|
351
|
+
"params": [
|
|
352
|
+
{
|
|
353
|
+
"name": "number",
|
|
354
|
+
"dtype": "numeric"
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"kernels": {
|
|
358
|
+
"ruby": "sqrt:ruby:v1"
|
|
359
|
+
},
|
|
360
|
+
"dtype": {
|
|
361
|
+
"rule": "scalar",
|
|
362
|
+
"kind": "float"
|
|
363
|
+
},
|
|
364
|
+
"aliases": [
|
|
365
|
+
"sqrt"
|
|
366
|
+
],
|
|
367
|
+
"reduction_strategy": null
|
|
368
|
+
},
|
|
369
|
+
"sin": {
|
|
370
|
+
"id": "core.sin",
|
|
371
|
+
"kind": "elementwise",
|
|
372
|
+
"arity": 1,
|
|
373
|
+
"params": [
|
|
374
|
+
{
|
|
375
|
+
"name": "angle",
|
|
376
|
+
"dtype": "numeric"
|
|
377
|
+
}
|
|
378
|
+
],
|
|
379
|
+
"kernels": {
|
|
380
|
+
"ruby": "sin:ruby:v1"
|
|
381
|
+
},
|
|
382
|
+
"dtype": {
|
|
383
|
+
"rule": "scalar",
|
|
384
|
+
"kind": "float"
|
|
385
|
+
},
|
|
386
|
+
"aliases": [
|
|
387
|
+
"sin"
|
|
388
|
+
],
|
|
389
|
+
"reduction_strategy": null
|
|
390
|
+
},
|
|
391
|
+
"cos": {
|
|
392
|
+
"id": "core.cos",
|
|
393
|
+
"kind": "elementwise",
|
|
394
|
+
"arity": 1,
|
|
395
|
+
"params": [
|
|
396
|
+
{
|
|
397
|
+
"name": "angle",
|
|
398
|
+
"dtype": "numeric"
|
|
399
|
+
}
|
|
400
|
+
],
|
|
401
|
+
"kernels": {
|
|
402
|
+
"ruby": "cos:ruby:v1"
|
|
403
|
+
},
|
|
404
|
+
"dtype": {
|
|
405
|
+
"rule": "scalar",
|
|
406
|
+
"kind": "float"
|
|
407
|
+
},
|
|
408
|
+
"aliases": [
|
|
409
|
+
"cos"
|
|
410
|
+
],
|
|
411
|
+
"reduction_strategy": null
|
|
412
|
+
},
|
|
413
|
+
"exp": {
|
|
414
|
+
"id": "core.exp",
|
|
415
|
+
"kind": "elementwise",
|
|
416
|
+
"arity": 1,
|
|
417
|
+
"params": [
|
|
418
|
+
{
|
|
419
|
+
"name": "number",
|
|
420
|
+
"dtype": "numeric"
|
|
421
|
+
}
|
|
422
|
+
],
|
|
423
|
+
"kernels": {
|
|
424
|
+
"ruby": "exp:ruby:v1"
|
|
425
|
+
},
|
|
426
|
+
"dtype": {
|
|
427
|
+
"rule": "scalar",
|
|
428
|
+
"kind": "float"
|
|
429
|
+
},
|
|
430
|
+
"aliases": [
|
|
431
|
+
"exp"
|
|
432
|
+
],
|
|
433
|
+
"reduction_strategy": null
|
|
434
|
+
},
|
|
435
|
+
"log": {
|
|
436
|
+
"id": "core.log",
|
|
437
|
+
"kind": "elementwise",
|
|
438
|
+
"arity": 1,
|
|
439
|
+
"params": [
|
|
440
|
+
{
|
|
441
|
+
"name": "number",
|
|
442
|
+
"dtype": "numeric"
|
|
443
|
+
}
|
|
444
|
+
],
|
|
445
|
+
"kernels": {
|
|
446
|
+
"ruby": "log:ruby:v1"
|
|
447
|
+
},
|
|
448
|
+
"dtype": {
|
|
449
|
+
"rule": "scalar",
|
|
450
|
+
"kind": "float"
|
|
451
|
+
},
|
|
452
|
+
"aliases": [
|
|
453
|
+
"log"
|
|
454
|
+
],
|
|
455
|
+
"reduction_strategy": null
|
|
456
|
+
},
|
|
457
|
+
"tanh": {
|
|
458
|
+
"id": "core.tanh",
|
|
459
|
+
"kind": "elementwise",
|
|
460
|
+
"arity": 1,
|
|
461
|
+
"params": [
|
|
462
|
+
{
|
|
463
|
+
"name": "number",
|
|
464
|
+
"dtype": "numeric"
|
|
465
|
+
}
|
|
466
|
+
],
|
|
467
|
+
"kernels": {
|
|
468
|
+
"ruby": "tanh:ruby:v1"
|
|
469
|
+
},
|
|
470
|
+
"dtype": {
|
|
471
|
+
"rule": "scalar",
|
|
472
|
+
"kind": "float"
|
|
473
|
+
},
|
|
474
|
+
"aliases": [
|
|
475
|
+
"tanh"
|
|
476
|
+
],
|
|
477
|
+
"reduction_strategy": null
|
|
478
|
+
},
|
|
347
479
|
"add": {
|
|
348
480
|
"id": "core.add",
|
|
349
481
|
"kind": "elementwise",
|
|
350
482
|
"arity": 2,
|
|
351
483
|
"params": [
|
|
352
484
|
{
|
|
353
|
-
"name": "left_operand"
|
|
485
|
+
"name": "left_operand",
|
|
486
|
+
"dtype": "numeric"
|
|
354
487
|
},
|
|
355
488
|
{
|
|
356
|
-
"name": "right_operand"
|
|
489
|
+
"name": "right_operand",
|
|
490
|
+
"dtype": "numeric"
|
|
357
491
|
}
|
|
358
492
|
],
|
|
359
493
|
"kernels": {
|
|
@@ -377,10 +511,12 @@
|
|
|
377
511
|
"arity": 2,
|
|
378
512
|
"params": [
|
|
379
513
|
{
|
|
380
|
-
"name": "left_operand"
|
|
514
|
+
"name": "left_operand",
|
|
515
|
+
"dtype": "numeric"
|
|
381
516
|
},
|
|
382
517
|
{
|
|
383
|
-
"name": "right_operand"
|
|
518
|
+
"name": "right_operand",
|
|
519
|
+
"dtype": "numeric"
|
|
384
520
|
}
|
|
385
521
|
],
|
|
386
522
|
"kernels": {
|
|
@@ -405,10 +541,12 @@
|
|
|
405
541
|
"arity": 2,
|
|
406
542
|
"params": [
|
|
407
543
|
{
|
|
408
|
-
"name": "left_operand"
|
|
544
|
+
"name": "left_operand",
|
|
545
|
+
"dtype": "numeric"
|
|
409
546
|
},
|
|
410
547
|
{
|
|
411
|
-
"name": "right_operand"
|
|
548
|
+
"name": "right_operand",
|
|
549
|
+
"dtype": "numeric"
|
|
412
550
|
}
|
|
413
551
|
],
|
|
414
552
|
"kernels": {
|
|
@@ -428,26 +566,25 @@
|
|
|
428
566
|
"reduction_strategy": null
|
|
429
567
|
},
|
|
430
568
|
"mul": {
|
|
431
|
-
"id": "core.mul",
|
|
569
|
+
"id": "core.mul:string_repeat",
|
|
432
570
|
"kind": "elementwise",
|
|
433
571
|
"arity": 2,
|
|
434
572
|
"params": [
|
|
435
573
|
{
|
|
436
|
-
"name": "
|
|
574
|
+
"name": "string_value",
|
|
575
|
+
"dtype": "string"
|
|
437
576
|
},
|
|
438
577
|
{
|
|
439
|
-
"name": "
|
|
578
|
+
"name": "repeat_count",
|
|
579
|
+
"dtype": "integer"
|
|
440
580
|
}
|
|
441
581
|
],
|
|
442
582
|
"kernels": {
|
|
443
|
-
"
|
|
583
|
+
"string_repeat": "mul:string_repeat:ruby:v1"
|
|
444
584
|
},
|
|
445
585
|
"dtype": {
|
|
446
|
-
"rule": "
|
|
447
|
-
"
|
|
448
|
-
"left_operand",
|
|
449
|
-
"right_operand"
|
|
450
|
-
]
|
|
586
|
+
"rule": "scalar",
|
|
587
|
+
"kind": "string"
|
|
451
588
|
},
|
|
452
589
|
"aliases": [
|
|
453
590
|
"mul",
|
|
@@ -456,26 +593,25 @@
|
|
|
456
593
|
"reduction_strategy": null
|
|
457
594
|
},
|
|
458
595
|
"multiply": {
|
|
459
|
-
"id": "core.mul",
|
|
596
|
+
"id": "core.mul:string_repeat",
|
|
460
597
|
"kind": "elementwise",
|
|
461
598
|
"arity": 2,
|
|
462
599
|
"params": [
|
|
463
600
|
{
|
|
464
|
-
"name": "
|
|
601
|
+
"name": "string_value",
|
|
602
|
+
"dtype": "string"
|
|
465
603
|
},
|
|
466
604
|
{
|
|
467
|
-
"name": "
|
|
605
|
+
"name": "repeat_count",
|
|
606
|
+
"dtype": "integer"
|
|
468
607
|
}
|
|
469
608
|
],
|
|
470
609
|
"kernels": {
|
|
471
|
-
"
|
|
610
|
+
"string_repeat": "mul:string_repeat:ruby:v1"
|
|
472
611
|
},
|
|
473
612
|
"dtype": {
|
|
474
|
-
"rule": "
|
|
475
|
-
"
|
|
476
|
-
"left_operand",
|
|
477
|
-
"right_operand"
|
|
478
|
-
]
|
|
613
|
+
"rule": "scalar",
|
|
614
|
+
"kind": "string"
|
|
479
615
|
},
|
|
480
616
|
"aliases": [
|
|
481
617
|
"mul",
|
|
@@ -489,10 +625,12 @@
|
|
|
489
625
|
"arity": 2,
|
|
490
626
|
"params": [
|
|
491
627
|
{
|
|
492
|
-
"name": "base"
|
|
628
|
+
"name": "base",
|
|
629
|
+
"dtype": "numeric"
|
|
493
630
|
},
|
|
494
631
|
{
|
|
495
|
-
"name": "exponent"
|
|
632
|
+
"name": "exponent",
|
|
633
|
+
"dtype": "numeric"
|
|
496
634
|
}
|
|
497
635
|
],
|
|
498
636
|
"kernels": {
|
|
@@ -517,10 +655,12 @@
|
|
|
517
655
|
"arity": 2,
|
|
518
656
|
"params": [
|
|
519
657
|
{
|
|
520
|
-
"name": "base"
|
|
658
|
+
"name": "base",
|
|
659
|
+
"dtype": "numeric"
|
|
521
660
|
},
|
|
522
661
|
{
|
|
523
|
-
"name": "exponent"
|
|
662
|
+
"name": "exponent",
|
|
663
|
+
"dtype": "numeric"
|
|
524
664
|
}
|
|
525
665
|
],
|
|
526
666
|
"kernels": {
|
|
@@ -545,10 +685,12 @@
|
|
|
545
685
|
"arity": 2,
|
|
546
686
|
"params": [
|
|
547
687
|
{
|
|
548
|
-
"name": "left_operand"
|
|
688
|
+
"name": "left_operand",
|
|
689
|
+
"dtype": "numeric"
|
|
549
690
|
},
|
|
550
691
|
{
|
|
551
|
-
"name": "right_operand"
|
|
692
|
+
"name": "right_operand",
|
|
693
|
+
"dtype": "numeric"
|
|
552
694
|
}
|
|
553
695
|
],
|
|
554
696
|
"kernels": {
|
|
@@ -570,10 +712,12 @@
|
|
|
570
712
|
"arity": 2,
|
|
571
713
|
"params": [
|
|
572
714
|
{
|
|
573
|
-
"name": "left_operand"
|
|
715
|
+
"name": "left_operand",
|
|
716
|
+
"dtype": "numeric"
|
|
574
717
|
},
|
|
575
718
|
{
|
|
576
|
-
"name": "right_operand"
|
|
719
|
+
"name": "right_operand",
|
|
720
|
+
"dtype": "numeric"
|
|
577
721
|
}
|
|
578
722
|
],
|
|
579
723
|
"kernels": {
|
|
@@ -595,10 +739,12 @@
|
|
|
595
739
|
"arity": 2,
|
|
596
740
|
"params": [
|
|
597
741
|
{
|
|
598
|
-
"name": "left_operand"
|
|
742
|
+
"name": "left_operand",
|
|
743
|
+
"dtype": "numeric"
|
|
599
744
|
},
|
|
600
745
|
{
|
|
601
|
-
"name": "right_operand"
|
|
746
|
+
"name": "right_operand",
|
|
747
|
+
"dtype": "numeric"
|
|
602
748
|
}
|
|
603
749
|
],
|
|
604
750
|
"kernels": {
|
|
@@ -624,10 +770,12 @@
|
|
|
624
770
|
"arity": 2,
|
|
625
771
|
"params": [
|
|
626
772
|
{
|
|
627
|
-
"name": "left_operand"
|
|
773
|
+
"name": "left_operand",
|
|
774
|
+
"dtype": "numeric"
|
|
628
775
|
},
|
|
629
776
|
{
|
|
630
|
-
"name": "right_operand"
|
|
777
|
+
"name": "right_operand",
|
|
778
|
+
"dtype": "numeric"
|
|
631
779
|
}
|
|
632
780
|
],
|
|
633
781
|
"kernels": {
|
|
@@ -653,10 +801,12 @@
|
|
|
653
801
|
"arity": 2,
|
|
654
802
|
"params": [
|
|
655
803
|
{
|
|
656
|
-
"name": "left_operand"
|
|
804
|
+
"name": "left_operand",
|
|
805
|
+
"dtype": "numeric"
|
|
657
806
|
},
|
|
658
807
|
{
|
|
659
|
-
"name": "right_operand"
|
|
808
|
+
"name": "right_operand",
|
|
809
|
+
"dtype": "numeric"
|
|
660
810
|
}
|
|
661
811
|
],
|
|
662
812
|
"kernels": {
|
|
@@ -709,10 +859,12 @@
|
|
|
709
859
|
"arity": 2,
|
|
710
860
|
"params": [
|
|
711
861
|
{
|
|
712
|
-
"name": "left_operand"
|
|
862
|
+
"name": "left_operand",
|
|
863
|
+
"dtype": "boolean"
|
|
713
864
|
},
|
|
714
865
|
{
|
|
715
|
-
"name": "right_operand"
|
|
866
|
+
"name": "right_operand",
|
|
867
|
+
"dtype": "boolean"
|
|
716
868
|
}
|
|
717
869
|
],
|
|
718
870
|
"kernels": {
|
|
@@ -734,10 +886,12 @@
|
|
|
734
886
|
"arity": 2,
|
|
735
887
|
"params": [
|
|
736
888
|
{
|
|
737
|
-
"name": "left_operand"
|
|
889
|
+
"name": "left_operand",
|
|
890
|
+
"dtype": "boolean"
|
|
738
891
|
},
|
|
739
892
|
{
|
|
740
|
-
"name": "right_operand"
|
|
893
|
+
"name": "right_operand",
|
|
894
|
+
"dtype": "boolean"
|
|
741
895
|
}
|
|
742
896
|
],
|
|
743
897
|
"kernels": {
|
|
@@ -759,10 +913,12 @@
|
|
|
759
913
|
"arity": 2,
|
|
760
914
|
"params": [
|
|
761
915
|
{
|
|
762
|
-
"name": "left_operand"
|
|
916
|
+
"name": "left_operand",
|
|
917
|
+
"dtype": "boolean"
|
|
763
918
|
},
|
|
764
919
|
{
|
|
765
|
-
"name": "right_operand"
|
|
920
|
+
"name": "right_operand",
|
|
921
|
+
"dtype": "boolean"
|
|
766
922
|
}
|
|
767
923
|
],
|
|
768
924
|
"kernels": {
|
|
@@ -784,10 +940,12 @@
|
|
|
784
940
|
"arity": 2,
|
|
785
941
|
"params": [
|
|
786
942
|
{
|
|
787
|
-
"name": "left_operand"
|
|
943
|
+
"name": "left_operand",
|
|
944
|
+
"dtype": "boolean"
|
|
788
945
|
},
|
|
789
946
|
{
|
|
790
|
-
"name": "right_operand"
|
|
947
|
+
"name": "right_operand",
|
|
948
|
+
"dtype": "boolean"
|
|
791
949
|
}
|
|
792
950
|
],
|
|
793
951
|
"kernels": {
|
|
@@ -809,7 +967,8 @@
|
|
|
809
967
|
"arity": 1,
|
|
810
968
|
"params": [
|
|
811
969
|
{
|
|
812
|
-
"name": "operand"
|
|
970
|
+
"name": "operand",
|
|
971
|
+
"dtype": "boolean"
|
|
813
972
|
}
|
|
814
973
|
],
|
|
815
974
|
"kernels": {
|
|
@@ -831,7 +990,8 @@
|
|
|
831
990
|
"arity": 1,
|
|
832
991
|
"params": [
|
|
833
992
|
{
|
|
834
|
-
"name": "operand"
|
|
993
|
+
"name": "operand",
|
|
994
|
+
"dtype": "boolean"
|
|
835
995
|
}
|
|
836
996
|
],
|
|
837
997
|
"kernels": {
|
|
@@ -853,10 +1013,12 @@
|
|
|
853
1013
|
"arity": 2,
|
|
854
1014
|
"params": [
|
|
855
1015
|
{
|
|
856
|
-
"name": "left_operand"
|
|
1016
|
+
"name": "left_operand",
|
|
1017
|
+
"dtype": "orderable"
|
|
857
1018
|
},
|
|
858
1019
|
{
|
|
859
|
-
"name": "right_operand"
|
|
1020
|
+
"name": "right_operand",
|
|
1021
|
+
"dtype": "orderable"
|
|
860
1022
|
}
|
|
861
1023
|
],
|
|
862
1024
|
"kernels": {
|
|
@@ -880,10 +1042,12 @@
|
|
|
880
1042
|
"arity": 2,
|
|
881
1043
|
"params": [
|
|
882
1044
|
{
|
|
883
|
-
"name": "left_operand"
|
|
1045
|
+
"name": "left_operand",
|
|
1046
|
+
"dtype": "orderable"
|
|
884
1047
|
},
|
|
885
1048
|
{
|
|
886
|
-
"name": "right_operand"
|
|
1049
|
+
"name": "right_operand",
|
|
1050
|
+
"dtype": "orderable"
|
|
887
1051
|
}
|
|
888
1052
|
],
|
|
889
1053
|
"kernels": {
|
|
@@ -907,10 +1071,12 @@
|
|
|
907
1071
|
"arity": 2,
|
|
908
1072
|
"params": [
|
|
909
1073
|
{
|
|
910
|
-
"name": "left_operand"
|
|
1074
|
+
"name": "left_operand",
|
|
1075
|
+
"dtype": "orderable"
|
|
911
1076
|
},
|
|
912
1077
|
{
|
|
913
|
-
"name": "right_operand"
|
|
1078
|
+
"name": "right_operand",
|
|
1079
|
+
"dtype": "orderable"
|
|
914
1080
|
}
|
|
915
1081
|
],
|
|
916
1082
|
"kernels": {
|
|
@@ -934,10 +1100,12 @@
|
|
|
934
1100
|
"arity": 2,
|
|
935
1101
|
"params": [
|
|
936
1102
|
{
|
|
937
|
-
"name": "left_operand"
|
|
1103
|
+
"name": "left_operand",
|
|
1104
|
+
"dtype": "orderable"
|
|
938
1105
|
},
|
|
939
1106
|
{
|
|
940
|
-
"name": "right_operand"
|
|
1107
|
+
"name": "right_operand",
|
|
1108
|
+
"dtype": "orderable"
|
|
941
1109
|
}
|
|
942
1110
|
],
|
|
943
1111
|
"kernels": {
|
|
@@ -961,10 +1129,12 @@
|
|
|
961
1129
|
"arity": 2,
|
|
962
1130
|
"params": [
|
|
963
1131
|
{
|
|
964
|
-
"name": "left_operand"
|
|
1132
|
+
"name": "left_operand",
|
|
1133
|
+
"dtype": "orderable"
|
|
965
1134
|
},
|
|
966
1135
|
{
|
|
967
|
-
"name": "right_operand"
|
|
1136
|
+
"name": "right_operand",
|
|
1137
|
+
"dtype": "orderable"
|
|
968
1138
|
}
|
|
969
1139
|
],
|
|
970
1140
|
"kernels": {
|
|
@@ -987,10 +1157,12 @@
|
|
|
987
1157
|
"arity": 2,
|
|
988
1158
|
"params": [
|
|
989
1159
|
{
|
|
990
|
-
"name": "left_operand"
|
|
1160
|
+
"name": "left_operand",
|
|
1161
|
+
"dtype": "orderable"
|
|
991
1162
|
},
|
|
992
1163
|
{
|
|
993
|
-
"name": "right_operand"
|
|
1164
|
+
"name": "right_operand",
|
|
1165
|
+
"dtype": "orderable"
|
|
994
1166
|
}
|
|
995
1167
|
],
|
|
996
1168
|
"kernels": {
|
|
@@ -1013,10 +1185,12 @@
|
|
|
1013
1185
|
"arity": 2,
|
|
1014
1186
|
"params": [
|
|
1015
1187
|
{
|
|
1016
|
-
"name": "left_operand"
|
|
1188
|
+
"name": "left_operand",
|
|
1189
|
+
"dtype": "orderable"
|
|
1017
1190
|
},
|
|
1018
1191
|
{
|
|
1019
|
-
"name": "right_operand"
|
|
1192
|
+
"name": "right_operand",
|
|
1193
|
+
"dtype": "orderable"
|
|
1020
1194
|
}
|
|
1021
1195
|
],
|
|
1022
1196
|
"kernels": {
|
|
@@ -1039,10 +1213,12 @@
|
|
|
1039
1213
|
"arity": 2,
|
|
1040
1214
|
"params": [
|
|
1041
1215
|
{
|
|
1042
|
-
"name": "left_operand"
|
|
1216
|
+
"name": "left_operand",
|
|
1217
|
+
"dtype": "orderable"
|
|
1043
1218
|
},
|
|
1044
1219
|
{
|
|
1045
|
-
"name": "right_operand"
|
|
1220
|
+
"name": "right_operand",
|
|
1221
|
+
"dtype": "orderable"
|
|
1046
1222
|
}
|
|
1047
1223
|
],
|
|
1048
1224
|
"kernels": {
|
|
@@ -1066,10 +1242,12 @@
|
|
|
1066
1242
|
"arity": 2,
|
|
1067
1243
|
"params": [
|
|
1068
1244
|
{
|
|
1069
|
-
"name": "left_operand"
|
|
1245
|
+
"name": "left_operand",
|
|
1246
|
+
"dtype": "orderable"
|
|
1070
1247
|
},
|
|
1071
1248
|
{
|
|
1072
|
-
"name": "right_operand"
|
|
1249
|
+
"name": "right_operand",
|
|
1250
|
+
"dtype": "orderable"
|
|
1073
1251
|
}
|
|
1074
1252
|
],
|
|
1075
1253
|
"kernels": {
|
|
@@ -1093,10 +1271,12 @@
|
|
|
1093
1271
|
"arity": 2,
|
|
1094
1272
|
"params": [
|
|
1095
1273
|
{
|
|
1096
|
-
"name": "left_operand"
|
|
1274
|
+
"name": "left_operand",
|
|
1275
|
+
"dtype": "orderable"
|
|
1097
1276
|
},
|
|
1098
1277
|
{
|
|
1099
|
-
"name": "right_operand"
|
|
1278
|
+
"name": "right_operand",
|
|
1279
|
+
"dtype": "orderable"
|
|
1100
1280
|
}
|
|
1101
1281
|
],
|
|
1102
1282
|
"kernels": {
|
|
@@ -1120,10 +1300,12 @@
|
|
|
1120
1300
|
"arity": 2,
|
|
1121
1301
|
"params": [
|
|
1122
1302
|
{
|
|
1123
|
-
"name": "left_operand"
|
|
1303
|
+
"name": "left_operand",
|
|
1304
|
+
"dtype": "orderable"
|
|
1124
1305
|
},
|
|
1125
1306
|
{
|
|
1126
|
-
"name": "right_operand"
|
|
1307
|
+
"name": "right_operand",
|
|
1308
|
+
"dtype": "orderable"
|
|
1127
1309
|
}
|
|
1128
1310
|
],
|
|
1129
1311
|
"kernels": {
|
|
@@ -1147,10 +1329,12 @@
|
|
|
1147
1329
|
"arity": 2,
|
|
1148
1330
|
"params": [
|
|
1149
1331
|
{
|
|
1150
|
-
"name": "left_operand"
|
|
1332
|
+
"name": "left_operand",
|
|
1333
|
+
"dtype": "orderable"
|
|
1151
1334
|
},
|
|
1152
1335
|
{
|
|
1153
|
-
"name": "right_operand"
|
|
1336
|
+
"name": "right_operand",
|
|
1337
|
+
"dtype": "orderable"
|
|
1154
1338
|
}
|
|
1155
1339
|
],
|
|
1156
1340
|
"kernels": {
|
|
@@ -1173,10 +1357,12 @@
|
|
|
1173
1357
|
"arity": 2,
|
|
1174
1358
|
"params": [
|
|
1175
1359
|
{
|
|
1176
|
-
"name": "left_operand"
|
|
1360
|
+
"name": "left_operand",
|
|
1361
|
+
"dtype": "orderable"
|
|
1177
1362
|
},
|
|
1178
1363
|
{
|
|
1179
|
-
"name": "right_operand"
|
|
1364
|
+
"name": "right_operand",
|
|
1365
|
+
"dtype": "orderable"
|
|
1180
1366
|
}
|
|
1181
1367
|
],
|
|
1182
1368
|
"kernels": {
|
|
@@ -1199,10 +1385,12 @@
|
|
|
1199
1385
|
"arity": 2,
|
|
1200
1386
|
"params": [
|
|
1201
1387
|
{
|
|
1202
|
-
"name": "left_operand"
|
|
1388
|
+
"name": "left_operand",
|
|
1389
|
+
"dtype": "orderable"
|
|
1203
1390
|
},
|
|
1204
1391
|
{
|
|
1205
|
-
"name": "right_operand"
|
|
1392
|
+
"name": "right_operand",
|
|
1393
|
+
"dtype": "orderable"
|
|
1206
1394
|
}
|
|
1207
1395
|
],
|
|
1208
1396
|
"kernels": {
|
|
@@ -1657,16 +1845,17 @@
|
|
|
1657
1845
|
"reduction_strategy": null
|
|
1658
1846
|
},
|
|
1659
1847
|
"to_string": {
|
|
1660
|
-
"id": "core.to_string",
|
|
1848
|
+
"id": "core.to_string:float",
|
|
1661
1849
|
"kind": "elementwise",
|
|
1662
1850
|
"arity": 1,
|
|
1663
1851
|
"params": [
|
|
1664
1852
|
{
|
|
1665
|
-
"name": "value"
|
|
1853
|
+
"name": "value",
|
|
1854
|
+
"dtype": "float"
|
|
1666
1855
|
}
|
|
1667
1856
|
],
|
|
1668
1857
|
"kernels": {
|
|
1669
|
-
"ruby": "
|
|
1858
|
+
"ruby": "to_string_float:ruby:v1"
|
|
1670
1859
|
},
|
|
1671
1860
|
"dtype": {
|
|
1672
1861
|
"rule": "scalar",
|
|
@@ -1679,16 +1868,17 @@
|
|
|
1679
1868
|
"reduction_strategy": null
|
|
1680
1869
|
},
|
|
1681
1870
|
"to_str": {
|
|
1682
|
-
"id": "core.to_string",
|
|
1871
|
+
"id": "core.to_string:float",
|
|
1683
1872
|
"kind": "elementwise",
|
|
1684
1873
|
"arity": 1,
|
|
1685
1874
|
"params": [
|
|
1686
1875
|
{
|
|
1687
|
-
"name": "value"
|
|
1876
|
+
"name": "value",
|
|
1877
|
+
"dtype": "float"
|
|
1688
1878
|
}
|
|
1689
1879
|
],
|
|
1690
1880
|
"kernels": {
|
|
1691
|
-
"ruby": "
|
|
1881
|
+
"ruby": "to_string_float:ruby:v1"
|
|
1692
1882
|
},
|
|
1693
1883
|
"dtype": {
|
|
1694
1884
|
"rule": "scalar",
|
|
@@ -1706,7 +1896,8 @@
|
|
|
1706
1896
|
"arity": 3,
|
|
1707
1897
|
"params": [
|
|
1708
1898
|
{
|
|
1709
|
-
"name": "condition_mask"
|
|
1899
|
+
"name": "condition_mask",
|
|
1900
|
+
"dtype": "boolean"
|
|
1710
1901
|
},
|
|
1711
1902
|
{
|
|
1712
1903
|
"name": "value_when_true"
|
|
@@ -1732,7 +1923,8 @@
|
|
|
1732
1923
|
"arity": 3,
|
|
1733
1924
|
"params": [
|
|
1734
1925
|
{
|
|
1735
|
-
"name": "condition_mask"
|
|
1926
|
+
"name": "condition_mask",
|
|
1927
|
+
"dtype": "boolean"
|
|
1736
1928
|
},
|
|
1737
1929
|
{
|
|
1738
1930
|
"name": "value_when_true"
|