redscript-mc 2.5.0 → 2.6.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.
- package/README.md +2 -0
- package/ROADMAP.md +145 -0
- package/dist/cli.js +0 -0
- package/dist/src/__tests__/compile-all.test.js +1 -0
- package/dist/src/__tests__/diagnostics.test.js +8 -11
- package/dist/src/__tests__/double.test.d.ts +7 -0
- package/dist/src/__tests__/double.test.js +464 -0
- package/dist/src/__tests__/e2e/for-in-array.test.d.ts +4 -0
- package/dist/src/__tests__/e2e/for-in-array.test.js +59 -0
- package/dist/src/__tests__/e2e/macros.test.js +7 -7
- package/dist/src/__tests__/e2e/stdlib-e2e.test.js +1411 -0
- package/dist/src/__tests__/fixed.test.d.ts +7 -0
- package/dist/src/__tests__/fixed.test.js +148 -0
- package/dist/src/__tests__/float-lint.test.d.ts +7 -0
- package/dist/src/__tests__/float-lint.test.js +96 -0
- package/dist/src/__tests__/float.test.d.ts +7 -0
- package/dist/src/__tests__/float.test.js +148 -0
- package/dist/src/__tests__/for-range.test.js +136 -0
- package/dist/src/__tests__/generics.test.js +4 -4
- package/dist/src/__tests__/impl.test.js +199 -0
- package/dist/src/__tests__/mc-integration.test.js +664 -0
- package/dist/src/__tests__/optimizer/constant_fold.test.js +105 -0
- package/dist/src/__tests__/optimizer/coroutine.test.js +3 -2
- package/dist/src/__tests__/parser.test.js +2 -2
- package/dist/src/__tests__/stdlib/calculus.test.d.ts +5 -0
- package/dist/src/__tests__/stdlib/calculus.test.js +123 -0
- package/dist/src/__tests__/stdlib/easing.test.d.ts +5 -0
- package/dist/src/__tests__/stdlib/easing.test.js +117 -0
- package/dist/src/__tests__/stdlib/geometry.test.d.ts +5 -0
- package/dist/src/__tests__/stdlib/geometry.test.js +163 -0
- package/dist/src/__tests__/stdlib/heap.test.d.ts +4 -0
- package/dist/src/__tests__/stdlib/heap.test.js +141 -0
- package/dist/src/__tests__/stdlib/list.test.d.ts +5 -0
- package/dist/src/__tests__/stdlib/list.test.js +134 -0
- package/dist/src/__tests__/stdlib/matrix.test.d.ts +5 -0
- package/dist/src/__tests__/stdlib/matrix.test.js +148 -0
- package/dist/src/__tests__/stdlib/pathfind.test.d.ts +4 -0
- package/dist/src/__tests__/stdlib/pathfind.test.js +167 -0
- package/dist/src/__tests__/stdlib/sort.test.d.ts +4 -0
- package/dist/src/__tests__/stdlib/sort.test.js +128 -0
- package/dist/src/__tests__/typechecker-strict.test.js +21 -21
- package/dist/src/ast/types.d.ts +7 -1
- package/dist/src/emit/compile.js +18 -1
- package/dist/src/emit/index.js +1 -1
- package/dist/src/events/types.js +1 -1
- package/dist/src/hir/lower.js +3 -1
- package/dist/src/hir/monomorphize.js +1 -1
- package/dist/src/hir/types.d.ts +5 -0
- package/dist/src/lexer/index.d.ts +1 -1
- package/dist/src/lexer/index.js +10 -1
- package/dist/src/lsp/main.js +0 -0
- package/dist/src/lsp/server.js +671 -28
- package/dist/src/mc-test/client.d.ts +13 -1
- package/dist/src/mc-test/client.js +29 -1
- package/dist/src/mir/lower.js +400 -17
- package/dist/src/optimizer/constant_fold.js +10 -6
- package/dist/src/optimizer/coroutine.js +90 -33
- package/dist/src/parser/index.d.ts +4 -0
- package/dist/src/parser/index.js +113 -28
- package/dist/src/typechecker/index.d.ts +8 -1
- package/dist/src/typechecker/index.js +61 -9
- package/docs/LANGUAGE_REFERENCE.md +302 -67
- package/docs/stdlib/README.md +54 -0
- package/docs/stdlib/advanced.md +276 -0
- package/docs/stdlib/bigint.md +285 -0
- package/docs/stdlib/bits.md +159 -0
- package/docs/stdlib/bossbar.md +101 -0
- package/docs/stdlib/calculus.md +141 -0
- package/docs/stdlib/color.md +125 -0
- package/docs/stdlib/combat.md +41 -0
- package/docs/stdlib/cooldown.md +48 -0
- package/docs/stdlib/easing.md +157 -0
- package/docs/stdlib/effects.md +101 -0
- package/docs/stdlib/expr.md +38 -0
- package/docs/stdlib/geometry.md +130 -0
- package/docs/stdlib/interactions.md +111 -0
- package/docs/stdlib/inventory.md +53 -0
- package/docs/stdlib/list.md +189 -0
- package/docs/stdlib/math.md +334 -0
- package/docs/stdlib/math_hp.md +185 -0
- package/docs/stdlib/matrix.md +123 -0
- package/docs/stdlib/mobs.md +131 -0
- package/docs/stdlib/noise.md +103 -0
- package/docs/stdlib/parabola.md +119 -0
- package/docs/stdlib/particles.md +123 -0
- package/docs/stdlib/physics.md +148 -0
- package/docs/stdlib/player.md +43 -0
- package/docs/stdlib/quaternion.md +159 -0
- package/docs/stdlib/random.md +86 -0
- package/docs/stdlib/sets.md +68 -0
- package/docs/stdlib/signal.md +141 -0
- package/docs/stdlib/spawn.md +65 -0
- package/docs/stdlib/strings.md +17 -0
- package/docs/stdlib/tags.md +117 -0
- package/docs/stdlib/teams.md +87 -0
- package/docs/stdlib/timer.md +126 -0
- package/docs/stdlib/vec.md +193 -0
- package/docs/stdlib/world.md +151 -0
- package/editors/vscode/build.mjs +31 -12
- package/editors/vscode/out/extension.js +3060 -143
- package/editors/vscode/package-lock.json +3 -3
- package/editors/vscode/package.json +1 -1
- package/editors/vscode/src/extension.ts +11 -6
- package/examples/readme-demo.mcrs +4 -4
- package/package.json +1 -1
- package/scripts/postbuild.js +20 -0
- package/src/__tests__/compile-all.test.ts +3 -2
- package/src/__tests__/diagnostics.test.ts +8 -10
- package/src/__tests__/double.test.ts +478 -0
- package/src/__tests__/e2e/macros.test.ts +7 -7
- package/src/__tests__/e2e/stdlib-e2e.test.ts +1686 -0
- package/src/__tests__/fixed.test.ts +159 -0
- package/src/__tests__/fixtures/coroutine-mc-test.mcrs +58 -0
- package/src/__tests__/fixtures/for-range.mcrs +15 -0
- package/src/__tests__/fixtures/heap-sort-mc-test.mcrs +87 -0
- package/src/__tests__/fixtures/impl-test.mcrs +13 -44
- package/src/__tests__/fixtures/stdlib-extra-test.mcrs +226 -0
- package/src/__tests__/fixtures/stdlib-math-integration.mcrs +28 -0
- package/src/__tests__/fixtures/stdlib-math-test.mcrs +53 -0
- package/src/__tests__/float-lint.test.ts +102 -0
- package/src/__tests__/float.test.ts +158 -0
- package/src/__tests__/for-range.test.ts +149 -0
- package/src/__tests__/generics.test.ts +4 -4
- package/src/__tests__/impl.test.ts +207 -0
- package/src/__tests__/mc-integration.test.ts +706 -0
- package/src/__tests__/optimizer/constant_fold.test.ts +115 -0
- package/src/__tests__/optimizer/coroutine.test.ts +3 -2
- package/src/__tests__/parser.test.ts +2 -2
- package/src/__tests__/stdlib/calculus.test.ts +99 -0
- package/src/__tests__/stdlib/easing.test.ts +97 -0
- package/src/__tests__/stdlib/geometry.test.ts +171 -0
- package/src/__tests__/stdlib/heap.test.ts +121 -0
- package/src/__tests__/stdlib/list.test.ts +117 -0
- package/src/__tests__/stdlib/matrix.test.ts +140 -0
- package/src/__tests__/stdlib/pathfind.test.ts +151 -0
- package/src/__tests__/stdlib/sort.test.ts +106 -0
- package/src/__tests__/typechecker-strict.test.ts +21 -21
- package/src/ast/types.ts +3 -2
- package/src/emit/compile.ts +21 -1
- package/src/emit/index.ts +1 -1
- package/src/events/types.ts +1 -1
- package/src/examples/tutorial_01_hello.mcrs +63 -0
- package/src/examples/tutorial_02_variables.mcrs +157 -0
- package/src/examples/tutorial_03_functions_structs.mcrs +162 -0
- package/src/examples/tutorial_04_selectors.mcrs +139 -0
- package/src/examples/tutorial_05_decorators.mcrs +131 -0
- package/src/examples/tutorial_06_math_particles.mcrs +123 -0
- package/src/examples/tutorial_07_random.mcrs +142 -0
- package/src/examples/tutorial_08_coroutine.mcrs +163 -0
- package/src/examples/tutorial_09_precision.mcrs +154 -0
- package/src/examples/tutorial_10_kill_race.mcrs +289 -0
- package/src/hir/lower.ts +4 -1
- package/src/hir/monomorphize.ts +1 -1
- package/src/hir/types.ts +2 -0
- package/src/lexer/index.ts +11 -2
- package/src/lsp/server.ts +667 -28
- package/src/mc-test/client.ts +32 -1
- package/src/mir/lower.ts +405 -19
- package/src/optimizer/constant_fold.ts +11 -6
- package/src/optimizer/coroutine.ts +89 -29
- package/src/parser/index.ts +113 -28
- package/src/stdlib/advanced.mcrs +47 -0
- package/src/stdlib/bigint.mcrs +124 -0
- package/src/stdlib/calculus.mcrs +150 -0
- package/src/stdlib/color.mcrs +102 -82
- package/src/stdlib/expr.mcrs +117 -0
- package/src/stdlib/geometry.mcrs +89 -0
- package/src/stdlib/heap.mcrs +175 -0
- package/src/stdlib/list.mcrs +99 -0
- package/src/stdlib/math.mcrs +121 -5
- package/src/stdlib/math_hp.mcrs +452 -0
- package/src/stdlib/parabola.mcrs +160 -0
- package/src/stdlib/particles.mcrs +69 -0
- package/src/stdlib/pathfind.mcrs +321 -0
- package/src/stdlib/quaternion.mcrs +192 -0
- package/src/stdlib/random.mcrs +46 -1
- package/src/stdlib/signal.mcrs +223 -0
- package/src/stdlib/sort.mcrs +109 -0
- package/src/stdlib/world.mcrs +24 -0
- package/src/typechecker/index.ts +73 -10
- package/dist/__tests__/cli.test.js +0 -278
- package/dist/__tests__/codegen.test.js +0 -152
- package/dist/__tests__/compile-all.test.d.ts +0 -10
- package/dist/__tests__/compile-all.test.js +0 -108
- package/dist/__tests__/dce.test.d.ts +0 -1
- package/dist/__tests__/dce.test.js +0 -138
- package/dist/__tests__/diagnostics.test.d.ts +0 -4
- package/dist/__tests__/diagnostics.test.js +0 -149
- package/dist/__tests__/e2e.test.d.ts +0 -6
- package/dist/__tests__/e2e.test.js +0 -1847
- package/dist/__tests__/entity-types.test.d.ts +0 -1
- package/dist/__tests__/entity-types.test.js +0 -203
- package/dist/__tests__/formatter.test.d.ts +0 -1
- package/dist/__tests__/formatter.test.js +0 -40
- package/dist/__tests__/lexer.test.d.ts +0 -1
- package/dist/__tests__/lexer.test.js +0 -343
- package/dist/__tests__/lowering.test.d.ts +0 -1
- package/dist/__tests__/lowering.test.js +0 -1015
- package/dist/__tests__/macro.test.d.ts +0 -8
- package/dist/__tests__/macro.test.js +0 -305
- package/dist/__tests__/mc-integration.test.d.ts +0 -12
- package/dist/__tests__/mc-integration.test.js +0 -819
- package/dist/__tests__/mc-syntax.test.d.ts +0 -1
- package/dist/__tests__/mc-syntax.test.js +0 -124
- package/dist/__tests__/nbt.test.d.ts +0 -1
- package/dist/__tests__/nbt.test.js +0 -82
- package/dist/__tests__/optimizer-advanced.test.d.ts +0 -1
- package/dist/__tests__/optimizer-advanced.test.js +0 -124
- package/dist/__tests__/optimizer.test.d.ts +0 -1
- package/dist/__tests__/optimizer.test.js +0 -149
- package/dist/__tests__/parser.test.d.ts +0 -1
- package/dist/__tests__/parser.test.js +0 -807
- package/dist/__tests__/repl.test.d.ts +0 -1
- package/dist/__tests__/repl.test.js +0 -27
- package/dist/__tests__/runtime.test.d.ts +0 -1
- package/dist/__tests__/runtime.test.js +0 -289
- package/dist/__tests__/stdlib-advanced.test.d.ts +0 -4
- package/dist/__tests__/stdlib-advanced.test.js +0 -378
- package/dist/__tests__/stdlib-bigint.test.d.ts +0 -7
- package/dist/__tests__/stdlib-bigint.test.js +0 -428
- package/dist/__tests__/stdlib-math.test.d.ts +0 -7
- package/dist/__tests__/stdlib-math.test.js +0 -352
- package/dist/__tests__/stdlib-vec.test.d.ts +0 -4
- package/dist/__tests__/stdlib-vec.test.js +0 -264
- package/dist/__tests__/structure-optimizer.test.d.ts +0 -1
- package/dist/__tests__/structure-optimizer.test.js +0 -33
- package/dist/__tests__/typechecker.test.d.ts +0 -1
- package/dist/__tests__/typechecker.test.js +0 -552
- package/dist/__tests__/var-allocator.test.d.ts +0 -1
- package/dist/__tests__/var-allocator.test.js +0 -69
- package/dist/ast/types.d.ts +0 -514
- package/dist/ast/types.js +0 -9
- package/dist/builtins/metadata.d.ts +0 -36
- package/dist/builtins/metadata.js +0 -1014
- package/dist/cli.d.ts +0 -11
- package/dist/codegen/cmdblock/index.d.ts +0 -26
- package/dist/codegen/cmdblock/index.js +0 -45
- package/dist/codegen/mcfunction/index.d.ts +0 -40
- package/dist/codegen/mcfunction/index.js +0 -606
- package/dist/codegen/structure/index.d.ts +0 -24
- package/dist/codegen/structure/index.js +0 -279
- package/dist/codegen/var-allocator.d.ts +0 -45
- package/dist/codegen/var-allocator.js +0 -104
- package/dist/compile.d.ts +0 -68
- package/dist/data/arena/function/__load.mcfunction +0 -6
- package/dist/data/arena/function/__tick.mcfunction +0 -2
- package/dist/data/arena/function/announce_leaders/else_1.mcfunction +0 -3
- package/dist/data/arena/function/announce_leaders/foreach_0/merge_2.mcfunction +0 -1
- package/dist/data/arena/function/announce_leaders/foreach_0/then_0.mcfunction +0 -3
- package/dist/data/arena/function/announce_leaders/foreach_0.mcfunction +0 -7
- package/dist/data/arena/function/announce_leaders/foreach_1/merge_2.mcfunction +0 -1
- package/dist/data/arena/function/announce_leaders/foreach_1/then_0.mcfunction +0 -4
- package/dist/data/arena/function/announce_leaders/foreach_1.mcfunction +0 -6
- package/dist/data/arena/function/announce_leaders/merge_2.mcfunction +0 -1
- package/dist/data/arena/function/announce_leaders/then_0.mcfunction +0 -4
- package/dist/data/arena/function/announce_leaders.mcfunction +0 -6
- package/dist/data/arena/function/arena_tick/merge_2.mcfunction +0 -1
- package/dist/data/arena/function/arena_tick/then_0.mcfunction +0 -4
- package/dist/data/arena/function/arena_tick.mcfunction +0 -11
- package/dist/data/capture_the_flag/function/add_to_team.mcfunction +0 -5
- package/dist/data/capture_the_flag/function/angry_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/assign_teams.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/assign_teams__foreach_t1.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__else_2.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__merge_1.mcfunction +0 -3
- package/dist/data/capture_the_flag/function/assign_teams__foreach_t1__then_0.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/barrier_wall.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/buff_all.mcfunction +0 -22
- package/dist/data/capture_the_flag/function/check_flag_capture.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__merge_1.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t0__then_0.mcfunction +0 -7
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__merge_1.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/check_flag_capture__foreach_t1__then_0.mcfunction +0 -7
- package/dist/data/capture_the_flag/function/check_flag_pickup.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__merge_1.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t0__then_0.mcfunction +0 -7
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__merge_1.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/check_flag_pickup__foreach_t1__then_0.mcfunction +0 -7
- package/dist/data/capture_the_flag/function/check_win.mcfunction +0 -4
- package/dist/data/capture_the_flag/function/cleanup_teams.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/clear_area.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/clear_effect.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/clear_effects.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/clear_inventory.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/create_blue_team.mcfunction +0 -10
- package/dist/data/capture_the_flag/function/create_green_team.mcfunction +0 -10
- package/dist/data/capture_the_flag/function/create_red_team.mcfunction +0 -10
- package/dist/data/capture_the_flag/function/create_team.mcfunction +0 -8
- package/dist/data/capture_the_flag/function/create_yellow_team.mcfunction +0 -10
- package/dist/data/capture_the_flag/function/disable_fire_spread.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/disable_keep_inventory.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/disable_mob_griefing.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/distance_to.mcfunction +0 -6
- package/dist/data/capture_the_flag/function/distance_to__const_0_0_0_0.mcfunction +0 -5
- package/dist/data/capture_the_flag/function/enable_keep_inventory.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/end_game.mcfunction +0 -6
- package/dist/data/capture_the_flag/function/end_game__else_2.mcfunction +0 -3
- package/dist/data/capture_the_flag/function/end_game__foreach_t7.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/end_game__merge_1.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/end_game__then_0.mcfunction +0 -3
- package/dist/data/capture_the_flag/function/end_sparkles_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/explosion_effect.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/flames.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/game_tick.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/give_kit_archer.mcfunction +0 -6
- package/dist/data/capture_the_flag/function/give_kit_mage.mcfunction +0 -5
- package/dist/data/capture_the_flag/function/give_kit_warrior.mcfunction +0 -6
- package/dist/data/capture_the_flag/function/glass_box.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/glow.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/happy_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/hearts_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/init.mcfunction +0 -11
- package/dist/data/capture_the_flag/function/invisible.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/jump.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/load.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/night_vision.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/place_flags.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/portal_effect.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/regen.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/remove_from_teams.mcfunction +0 -3
- package/dist/data/capture_the_flag/function/remove_item.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/resistance.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_day.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_easy.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_hard.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_midnight.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_night.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_noon.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_normal.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/set_peaceful.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/setup_four_teams.mcfunction +0 -4
- package/dist/data/capture_the_flag/function/setup_two_teams.mcfunction +0 -2
- package/dist/data/capture_the_flag/function/slow_fall.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/smoke.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/sparkles_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/speed.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/start_game.mcfunction +0 -15
- package/dist/data/capture_the_flag/function/start_game__foreach_t10.mcfunction +0 -4
- package/dist/data/capture_the_flag/function/strength.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/totem_at.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/weather_clear.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/weather_rain.mcfunction +0 -1
- package/dist/data/capture_the_flag/function/weather_thunder.mcfunction +0 -1
- package/dist/data/counter/function/__load.mcfunction +0 -5
- package/dist/data/counter/function/__tick.mcfunction +0 -2
- package/dist/data/counter/function/counter_tick/merge_2.mcfunction +0 -1
- package/dist/data/counter/function/counter_tick/then_0.mcfunction +0 -3
- package/dist/data/counter/function/counter_tick.mcfunction +0 -11
- package/dist/data/gcd2/function/__load.mcfunction +0 -3
- package/dist/data/gcd2/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/gcd2/function/abs/then_0.mcfunction +0 -5
- package/dist/data/gcd2/function/abs.mcfunction +0 -7
- package/dist/data/gcd2/function/gcd/loop_body_1.mcfunction +0 -7
- package/dist/data/gcd2/function/gcd/loop_check_0.mcfunction +0 -5
- package/dist/data/gcd2/function/gcd/loop_exit_2.mcfunction +0 -3
- package/dist/data/gcd2/function/gcd.mcfunction +0 -14
- package/dist/data/gcd3/function/__load.mcfunction +0 -3
- package/dist/data/gcd3/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/gcd3/function/abs/then_0.mcfunction +0 -5
- package/dist/data/gcd3/function/abs.mcfunction +0 -7
- package/dist/data/gcd3/function/gcd/loop_body_1.mcfunction +0 -7
- package/dist/data/gcd3/function/gcd/loop_check_0.mcfunction +0 -5
- package/dist/data/gcd3/function/gcd/loop_exit_2.mcfunction +0 -3
- package/dist/data/gcd3/function/gcd.mcfunction +0 -14
- package/dist/data/gcd3/function/test.mcfunction +0 -7
- package/dist/data/gcd3nm/function/__load.mcfunction +0 -3
- package/dist/data/gcd3nm/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/gcd3nm/function/abs/then_0.mcfunction +0 -5
- package/dist/data/gcd3nm/function/abs.mcfunction +0 -7
- package/dist/data/gcd3nm/function/gcd/loop_body_1.mcfunction +0 -7
- package/dist/data/gcd3nm/function/gcd/loop_check_0.mcfunction +0 -5
- package/dist/data/gcd3nm/function/gcd/loop_exit_2.mcfunction +0 -3
- package/dist/data/gcd3nm/function/gcd.mcfunction +0 -14
- package/dist/data/gcd3nm/function/test.mcfunction +0 -7
- package/dist/data/gcd_test/function/__load.mcfunction +0 -3
- package/dist/data/gcd_test/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/gcd_test/function/abs/then_0.mcfunction +0 -5
- package/dist/data/gcd_test/function/abs.mcfunction +0 -7
- package/dist/data/gcd_test/function/gcd/loop_body_1.mcfunction +0 -7
- package/dist/data/gcd_test/function/gcd/loop_check_0.mcfunction +0 -5
- package/dist/data/gcd_test/function/gcd/loop_exit_2.mcfunction +0 -3
- package/dist/data/gcd_test/function/gcd.mcfunction +0 -14
- package/dist/data/hunger_games/function/angry_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/barrier_wall.mcfunction +0 -1
- package/dist/data/hunger_games/function/buff_all.mcfunction +0 -22
- package/dist/data/hunger_games/function/check_alive.mcfunction +0 -3
- package/dist/data/hunger_games/function/check_alive__foreach_t3.mcfunction +0 -10
- package/dist/data/hunger_games/function/check_alive__foreach_t3__merge_1.mcfunction +0 -1
- package/dist/data/hunger_games/function/check_alive__foreach_t3__then_0.mcfunction +0 -5
- package/dist/data/hunger_games/function/check_border_damage.mcfunction +0 -1
- package/dist/data/hunger_games/function/check_border_damage__foreach_t0.mcfunction +0 -1
- package/dist/data/hunger_games/function/clear_area.mcfunction +0 -1
- package/dist/data/hunger_games/function/clear_effect.mcfunction +0 -1
- package/dist/data/hunger_games/function/clear_effects.mcfunction +0 -1
- package/dist/data/hunger_games/function/countdown_tick.mcfunction +0 -1
- package/dist/data/hunger_games/function/create_health_bar.mcfunction +0 -24
- package/dist/data/hunger_games/function/create_progress_bar.mcfunction +0 -24
- package/dist/data/hunger_games/function/create_progress_bar__const_0_0_0.mcfunction +0 -21
- package/dist/data/hunger_games/function/create_timer_bar.mcfunction +0 -30
- package/dist/data/hunger_games/function/declare_winner.mcfunction +0 -13
- package/dist/data/hunger_games/function/disable_fire_spread.mcfunction +0 -1
- package/dist/data/hunger_games/function/disable_keep_inventory.mcfunction +0 -1
- package/dist/data/hunger_games/function/disable_mob_griefing.mcfunction +0 -1
- package/dist/data/hunger_games/function/enable_keep_inventory.mcfunction +0 -1
- package/dist/data/hunger_games/function/end_game_no_winner.mcfunction +0 -3
- package/dist/data/hunger_games/function/end_sparkles_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/explosion_effect.mcfunction +0 -1
- package/dist/data/hunger_games/function/flames.mcfunction +0 -1
- package/dist/data/hunger_games/function/game_tick.mcfunction +0 -1
- package/dist/data/hunger_games/function/glass_box.mcfunction +0 -2
- package/dist/data/hunger_games/function/glow.mcfunction +0 -1
- package/dist/data/hunger_games/function/happy_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/hearts_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/hide_bar.mcfunction +0 -4
- package/dist/data/hunger_games/function/init.mcfunction +0 -7
- package/dist/data/hunger_games/function/invisible.mcfunction +0 -1
- package/dist/data/hunger_games/function/jump.mcfunction +0 -1
- package/dist/data/hunger_games/function/load.mcfunction +0 -1
- package/dist/data/hunger_games/function/main_game_tick.mcfunction +0 -4
- package/dist/data/hunger_games/function/night_vision.mcfunction +0 -1
- package/dist/data/hunger_games/function/on_player_death.mcfunction +0 -14
- package/dist/data/hunger_games/function/portal_effect.mcfunction +0 -1
- package/dist/data/hunger_games/function/regen.mcfunction +0 -1
- package/dist/data/hunger_games/function/remove_bar.mcfunction +0 -3
- package/dist/data/hunger_games/function/remove_bar__const_0.mcfunction +0 -2
- package/dist/data/hunger_games/function/reset_game.mcfunction +0 -3
- package/dist/data/hunger_games/function/reset_game__foreach_t0.mcfunction +0 -9
- package/dist/data/hunger_games/function/resistance.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_day.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_easy.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_hard.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_midnight.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_night.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_noon.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_normal.mcfunction +0 -1
- package/dist/data/hunger_games/function/set_peaceful.mcfunction +0 -1
- package/dist/data/hunger_games/function/show_bar.mcfunction +0 -4
- package/dist/data/hunger_games/function/shrink_border.mcfunction +0 -1
- package/dist/data/hunger_games/function/slow_fall.mcfunction +0 -1
- package/dist/data/hunger_games/function/smoke.mcfunction +0 -1
- package/dist/data/hunger_games/function/sparkles_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/speed.mcfunction +0 -1
- package/dist/data/hunger_games/function/start_countdown.mcfunction +0 -3
- package/dist/data/hunger_games/function/start_countdown__foreach_t0.mcfunction +0 -16
- package/dist/data/hunger_games/function/start_game.mcfunction +0 -4
- package/dist/data/hunger_games/function/start_game__foreach_t3.mcfunction +0 -4
- package/dist/data/hunger_games/function/strength.mcfunction +0 -1
- package/dist/data/hunger_games/function/totem_at.mcfunction +0 -1
- package/dist/data/hunger_games/function/update_bar.mcfunction +0 -5
- package/dist/data/hunger_games/function/update_bar__const_0_0.mcfunction +0 -3
- package/dist/data/hunger_games/function/update_bar_color.mcfunction +0 -7
- package/dist/data/hunger_games/function/update_bar_color__else_2.mcfunction +0 -5
- package/dist/data/hunger_games/function/update_bar_color__else_5.mcfunction +0 -4
- package/dist/data/hunger_games/function/update_bar_color__merge_1.mcfunction +0 -1
- package/dist/data/hunger_games/function/update_bar_color__merge_4.mcfunction +0 -1
- package/dist/data/hunger_games/function/update_bar_color__then_0.mcfunction +0 -4
- package/dist/data/hunger_games/function/update_bar_color__then_3.mcfunction +0 -4
- package/dist/data/hunger_games/function/weather_clear.mcfunction +0 -1
- package/dist/data/hunger_games/function/weather_rain.mcfunction +0 -1
- package/dist/data/hunger_games/function/weather_thunder.mcfunction +0 -1
- package/dist/data/isqrttest/function/__load.mcfunction +0 -6
- package/dist/data/isqrttest/function/isqrt/loop_body_4.mcfunction +0 -12
- package/dist/data/isqrttest/function/isqrt/loop_check_3.mcfunction +0 -5
- package/dist/data/isqrttest/function/isqrt/loop_exit_5.mcfunction +0 -3
- package/dist/data/isqrttest/function/isqrt/merge_2.mcfunction +0 -4
- package/dist/data/isqrttest/function/isqrt/merge_8.mcfunction +0 -6
- package/dist/data/isqrttest/function/isqrt/then_0.mcfunction +0 -3
- package/dist/data/isqrttest/function/isqrt/then_6.mcfunction +0 -3
- package/dist/data/isqrttest/function/isqrt.mcfunction +0 -7
- package/dist/data/isqrttest/function/test.mcfunction +0 -6
- package/dist/data/macrotest/function/get_element.mcfunction +0 -2
- package/dist/data/macrotest/function/load.mcfunction +0 -1
- package/dist/data/macrotest/function/test_dynamic_index.mcfunction +0 -2
- package/dist/data/mathdemo/function/__load.mcfunction +0 -2
- package/dist/data/mathdemo/function/_atan_init.mcfunction +0 -4
- package/dist/data/mathdemo/function/_math_init.mcfunction +0 -4
- package/dist/data/mathdemo/function/add2d_x.mcfunction +0 -5
- package/dist/data/mathdemo/function/add2d_y.mcfunction +0 -5
- package/dist/data/mathdemo/function/add3d_x.mcfunction +0 -5
- package/dist/data/mathdemo/function/add3d_y.mcfunction +0 -5
- package/dist/data/mathdemo/function/add3d_z.mcfunction +0 -5
- package/dist/data/mathdemo/function/air_drag_fx.mcfunction +0 -2
- package/dist/data/mathdemo/function/apply_drag.mcfunction +0 -8
- package/dist/data/mathdemo/function/apply_gravity.mcfunction +0 -6
- package/dist/data/mathdemo/function/approx_eq.mcfunction +0 -10
- package/dist/data/mathdemo/function/approx_eq__merge_1.mcfunction +0 -3
- package/dist/data/mathdemo/function/approx_eq__merge_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/approx_eq__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/approx_eq__then_2.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed.mcfunction +0 -6
- package/dist/data/mathdemo/function/atan2_fixed__else_30.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__loop_body_26.mcfunction +0 -21
- package/dist/data/mathdemo/function/atan2_fixed__loop_exit_27.mcfunction +0 -5
- package/dist/data/mathdemo/function/atan2_fixed__loop_header_25.mcfunction +0 -3
- package/dist/data/mathdemo/function/atan2_fixed__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_10.mcfunction +0 -5
- package/dist/data/mathdemo/function/atan2_fixed__merge_12.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__merge_16.mcfunction +0 -5
- package/dist/data/mathdemo/function/atan2_fixed__merge_18.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_20.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_22.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_24.mcfunction +0 -3
- package/dist/data/mathdemo/function/atan2_fixed__merge_29.mcfunction +0 -1
- package/dist/data/mathdemo/function/atan2_fixed__merge_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_32.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_34.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__merge_36.mcfunction +0 -3
- package/dist/data/mathdemo/function/atan2_fixed__merge_40.mcfunction +0 -3
- package/dist/data/mathdemo/function/atan2_fixed__merge_6.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_11.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_15.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_17.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_19.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_2.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_21.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_23.mcfunction +0 -5
- package/dist/data/mathdemo/function/atan2_fixed__then_28.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_31.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_33.mcfunction +0 -4
- package/dist/data/mathdemo/function/atan2_fixed__then_35.mcfunction +0 -1
- package/dist/data/mathdemo/function/atan2_fixed__then_39.mcfunction +0 -3
- package/dist/data/mathdemo/function/atan2_fixed__then_5.mcfunction +0 -2
- package/dist/data/mathdemo/function/atan2_fixed__then_9.mcfunction +0 -4
- package/dist/data/mathdemo/function/bounce_v.mcfunction +0 -10
- package/dist/data/mathdemo/function/cbrt_fx.mcfunction +0 -5
- package/dist/data/mathdemo/function/cbrt_fx__loop_body_6.mcfunction +0 -7
- package/dist/data/mathdemo/function/cbrt_fx__loop_exit_7.mcfunction +0 -1
- package/dist/data/mathdemo/function/cbrt_fx__loop_header_5.mcfunction +0 -4
- package/dist/data/mathdemo/function/cbrt_fx__merge_1.mcfunction +0 -8
- package/dist/data/mathdemo/function/cbrt_fx__merge_11.mcfunction +0 -5
- package/dist/data/mathdemo/function/cbrt_fx__merge_13.mcfunction +0 -4
- package/dist/data/mathdemo/function/cbrt_fx__merge_4.mcfunction +0 -2
- package/dist/data/mathdemo/function/cbrt_fx__merge_9.mcfunction +0 -13
- package/dist/data/mathdemo/function/cbrt_fx__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/cbrt_fx__then_10.mcfunction +0 -2
- package/dist/data/mathdemo/function/cbrt_fx__then_12.mcfunction +0 -2
- package/dist/data/mathdemo/function/cbrt_fx__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/cbrt_fx__then_8.mcfunction +0 -2
- package/dist/data/mathdemo/function/ceil_div.mcfunction +0 -9
- package/dist/data/mathdemo/function/chebyshev.mcfunction +0 -14
- package/dist/data/mathdemo/function/chebyshev3d.mcfunction +0 -19
- package/dist/data/mathdemo/function/chebyshev3d__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__merge_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__merge_5.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__merge_7.mcfunction +0 -3
- package/dist/data/mathdemo/function/chebyshev3d__merge_9.mcfunction +0 -1
- package/dist/data/mathdemo/function/chebyshev3d__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__then_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__then_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev3d__then_6.mcfunction +0 -2
- package/dist/data/mathdemo/function/chebyshev3d__then_8.mcfunction +0 -2
- package/dist/data/mathdemo/function/chebyshev__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev__merge_3.mcfunction +0 -3
- package/dist/data/mathdemo/function/chebyshev__merge_5.mcfunction +0 -1
- package/dist/data/mathdemo/function/chebyshev__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev__then_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/chebyshev__then_4.mcfunction +0 -1
- package/dist/data/mathdemo/function/circular_x.mcfunction +0 -14
- package/dist/data/mathdemo/function/circular_z.mcfunction +0 -14
- package/dist/data/mathdemo/function/clamp_velocity.mcfunction +0 -5
- package/dist/data/mathdemo/function/clamp_velocity__merge_1.mcfunction +0 -5
- package/dist/data/mathdemo/function/clamp_velocity__merge_4.mcfunction +0 -1
- package/dist/data/mathdemo/function/clamp_velocity__then_0.mcfunction +0 -1
- package/dist/data/mathdemo/function/clamp_velocity__then_3.mcfunction +0 -3
- package/dist/data/mathdemo/function/combinations.mcfunction +0 -6
- package/dist/data/mathdemo/function/combinations__loop_body_9.mcfunction +0 -15
- package/dist/data/mathdemo/function/combinations__loop_exit_10.mcfunction +0 -1
- package/dist/data/mathdemo/function/combinations__loop_header_8.mcfunction +0 -3
- package/dist/data/mathdemo/function/combinations__merge_1.mcfunction +0 -3
- package/dist/data/mathdemo/function/combinations__merge_4.mcfunction +0 -6
- package/dist/data/mathdemo/function/combinations__merge_7.mcfunction +0 -3
- package/dist/data/mathdemo/function/combinations__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/combinations__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/combinations__then_6.mcfunction +0 -4
- package/dist/data/mathdemo/function/cos_fixed.mcfunction +0 -7
- package/dist/data/mathdemo/function/cross2d.mcfunction +0 -11
- package/dist/data/mathdemo/function/cross3d_x.mcfunction +0 -11
- package/dist/data/mathdemo/function/cross3d_y.mcfunction +0 -11
- package/dist/data/mathdemo/function/cross3d_z.mcfunction +0 -11
- package/dist/data/mathdemo/function/demo_easing.mcfunction +0 -12
- package/dist/data/mathdemo/function/demo_math.mcfunction +0 -16
- package/dist/data/mathdemo/function/demo_noise.mcfunction +0 -14
- package/dist/data/mathdemo/function/demo_physics.mcfunction +0 -11
- package/dist/data/mathdemo/function/demo_physics__loop_body_1.mcfunction +0 -9
- package/dist/data/mathdemo/function/demo_physics__loop_body_4.mcfunction +0 -18
- package/dist/data/mathdemo/function/demo_physics__loop_exit_2.mcfunction +0 -6
- package/dist/data/mathdemo/function/demo_physics__loop_exit_5.mcfunction +0 -1
- package/dist/data/mathdemo/function/demo_physics__loop_header_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/demo_physics__loop_header_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/distance2d_fixed.mcfunction +0 -13
- package/dist/data/mathdemo/function/distance3d_fixed.mcfunction +0 -18
- package/dist/data/mathdemo/function/divfix.mcfunction +0 -6
- package/dist/data/mathdemo/function/divfix__merge_1.mcfunction +0 -6
- package/dist/data/mathdemo/function/divfix__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/dot2d.mcfunction +0 -11
- package/dist/data/mathdemo/function/dot3d.mcfunction +0 -17
- package/dist/data/mathdemo/function/ease_in_back.mcfunction +0 -26
- package/dist/data/mathdemo/function/ease_in_bounce.mcfunction +0 -9
- package/dist/data/mathdemo/function/ease_in_cubic.mcfunction +0 -12
- package/dist/data/mathdemo/function/ease_in_expo.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_expo__merge_1.mcfunction +0 -11
- package/dist/data/mathdemo/function/ease_in_expo__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/ease_in_out_back.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_out_back__merge_1.mcfunction +0 -14
- package/dist/data/mathdemo/function/ease_in_out_back__then_0.mcfunction +0 -10
- package/dist/data/mathdemo/function/ease_in_out_bounce.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_out_bounce__merge_1.mcfunction +0 -14
- package/dist/data/mathdemo/function/ease_in_out_bounce__then_0.mcfunction +0 -10
- package/dist/data/mathdemo/function/ease_in_out_cubic.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_out_cubic__merge_1.mcfunction +0 -17
- package/dist/data/mathdemo/function/ease_in_out_cubic__then_0.mcfunction +0 -13
- package/dist/data/mathdemo/function/ease_in_out_quad.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_out_quad__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/ease_in_out_quad__then_0.mcfunction +0 -8
- package/dist/data/mathdemo/function/ease_in_out_sine.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_out_sine__merge_1.mcfunction +0 -14
- package/dist/data/mathdemo/function/ease_in_out_sine__then_0.mcfunction +0 -10
- package/dist/data/mathdemo/function/ease_in_quad.mcfunction +0 -7
- package/dist/data/mathdemo/function/ease_in_quad__const_5000.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_in_quart.mcfunction +0 -12
- package/dist/data/mathdemo/function/ease_in_sine.mcfunction +0 -30
- package/dist/data/mathdemo/function/ease_linear.mcfunction +0 -2
- package/dist/data/mathdemo/function/ease_linear__const_5000.mcfunction +0 -2
- package/dist/data/mathdemo/function/ease_out_back.mcfunction +0 -9
- package/dist/data/mathdemo/function/ease_out_back__const_5000.mcfunction +0 -7
- package/dist/data/mathdemo/function/ease_out_bounce.mcfunction +0 -6
- package/dist/data/mathdemo/function/ease_out_bounce__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/ease_out_bounce__merge_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/ease_out_bounce__merge_7.mcfunction +0 -15
- package/dist/data/mathdemo/function/ease_out_bounce__then_0.mcfunction +0 -11
- package/dist/data/mathdemo/function/ease_out_bounce__then_3.mcfunction +0 -15
- package/dist/data/mathdemo/function/ease_out_bounce__then_6.mcfunction +0 -15
- package/dist/data/mathdemo/function/ease_out_cubic.mcfunction +0 -16
- package/dist/data/mathdemo/function/ease_out_cubic__const_5000.mcfunction +0 -14
- package/dist/data/mathdemo/function/ease_out_expo.mcfunction +0 -5
- package/dist/data/mathdemo/function/ease_out_expo__merge_1.mcfunction +0 -8
- package/dist/data/mathdemo/function/ease_out_expo__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/ease_out_quad.mcfunction +0 -11
- package/dist/data/mathdemo/function/ease_out_quart.mcfunction +0 -16
- package/dist/data/mathdemo/function/ease_out_sine.mcfunction +0 -9
- package/dist/data/mathdemo/function/ease_smooth.mcfunction +0 -23
- package/dist/data/mathdemo/function/ease_smoother.mcfunction +0 -41
- package/dist/data/mathdemo/function/exp_fx.mcfunction +0 -16
- package/dist/data/mathdemo/function/exp_fx__loop_body_10.mcfunction +0 -8
- package/dist/data/mathdemo/function/exp_fx__loop_body_5.mcfunction +0 -8
- package/dist/data/mathdemo/function/exp_fx__loop_exit_11.mcfunction +0 -1
- package/dist/data/mathdemo/function/exp_fx__loop_exit_6.mcfunction +0 -1
- package/dist/data/mathdemo/function/exp_fx__loop_header_4.mcfunction +0 -3
- package/dist/data/mathdemo/function/exp_fx__loop_header_9.mcfunction +0 -3
- package/dist/data/mathdemo/function/exp_fx__merge_1.mcfunction +0 -47
- package/dist/data/mathdemo/function/exp_fx__merge_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/exp_fx__merge_8.mcfunction +0 -1
- package/dist/data/mathdemo/function/exp_fx__then_0.mcfunction +0 -7
- package/dist/data/mathdemo/function/exp_fx__then_2.mcfunction +0 -2
- package/dist/data/mathdemo/function/exp_fx__then_7.mcfunction +0 -5
- package/dist/data/mathdemo/function/factorial.mcfunction +0 -5
- package/dist/data/mathdemo/function/factorial__loop_body_4.mcfunction +0 -7
- package/dist/data/mathdemo/function/factorial__loop_exit_5.mcfunction +0 -1
- package/dist/data/mathdemo/function/factorial__loop_header_3.mcfunction +0 -3
- package/dist/data/mathdemo/function/factorial__merge_1.mcfunction +0 -3
- package/dist/data/mathdemo/function/factorial__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/fbm_1d.mcfunction +0 -9
- package/dist/data/mathdemo/function/fbm_1d__loop_body_1.mcfunction +0 -33
- package/dist/data/mathdemo/function/fbm_1d__loop_exit_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/fbm_1d__loop_header_0.mcfunction +0 -3
- package/dist/data/mathdemo/function/fbm_1d__merge_4.mcfunction +0 -6
- package/dist/data/mathdemo/function/fbm_1d__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/fbm_2d.mcfunction +0 -10
- package/dist/data/mathdemo/function/fbm_2d__loop_body_1.mcfunction +0 -39
- package/dist/data/mathdemo/function/fbm_2d__loop_exit_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/fbm_2d__loop_header_0.mcfunction +0 -3
- package/dist/data/mathdemo/function/fbm_2d__merge_4.mcfunction +0 -6
- package/dist/data/mathdemo/function/fbm_2d__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/friction_decel.mcfunction +0 -5
- package/dist/data/mathdemo/function/friction_decel__merge_1.mcfunction +0 -5
- package/dist/data/mathdemo/function/friction_decel__merge_4.mcfunction +0 -2
- package/dist/data/mathdemo/function/friction_decel__then_0.mcfunction +0 -3
- package/dist/data/mathdemo/function/friction_decel__then_3.mcfunction +0 -3
- package/dist/data/mathdemo/function/gamma_int.mcfunction +0 -5
- package/dist/data/mathdemo/function/gamma_int__merge_1.mcfunction +0 -6
- package/dist/data/mathdemo/function/gamma_int__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/gcd.mcfunction +0 -7
- package/dist/data/mathdemo/function/gcd__loop_body_5.mcfunction +0 -5
- package/dist/data/mathdemo/function/gcd__loop_exit_6.mcfunction +0 -1
- package/dist/data/mathdemo/function/gcd__loop_header_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/gcd__merge_1.mcfunction +0 -5
- package/dist/data/mathdemo/function/gcd__merge_3.mcfunction +0 -1
- package/dist/data/mathdemo/function/gcd__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/gcd__then_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/gravity_fx.mcfunction +0 -2
- package/dist/data/mathdemo/function/hash_1d.mcfunction +0 -15
- package/dist/data/mathdemo/function/hash_1d_pos.mcfunction +0 -9
- package/dist/data/mathdemo/function/hash_1d_pos__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/hash_1d_pos__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/hash_2d.mcfunction +0 -11
- package/dist/data/mathdemo/function/hash_2d_pos.mcfunction +0 -11
- package/dist/data/mathdemo/function/hash_2d_pos__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/hash_2d_pos__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/impact_velocity.mcfunction +0 -5
- package/dist/data/mathdemo/function/impact_velocity__merge_1.mcfunction +0 -16
- package/dist/data/mathdemo/function/impact_velocity__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/is_grounded.mcfunction +0 -5
- package/dist/data/mathdemo/function/is_grounded__merge_1.mcfunction +0 -2
- package/dist/data/mathdemo/function/is_grounded__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/isqrt.mcfunction +0 -5
- package/dist/data/mathdemo/function/isqrt__loop_body_10.mcfunction +0 -8
- package/dist/data/mathdemo/function/isqrt__loop_body_13.mcfunction +0 -11
- package/dist/data/mathdemo/function/isqrt__loop_body_7.mcfunction +0 -8
- package/dist/data/mathdemo/function/isqrt__loop_exit_11.mcfunction +0 -2
- package/dist/data/mathdemo/function/isqrt__loop_exit_14.mcfunction +0 -1
- package/dist/data/mathdemo/function/isqrt__loop_exit_8.mcfunction +0 -9
- package/dist/data/mathdemo/function/isqrt__loop_header_12.mcfunction +0 -4
- package/dist/data/mathdemo/function/isqrt__loop_header_6.mcfunction +0 -4
- package/dist/data/mathdemo/function/isqrt__loop_header_9.mcfunction +0 -3
- package/dist/data/mathdemo/function/isqrt__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/isqrt__merge_16.mcfunction +0 -5
- package/dist/data/mathdemo/function/isqrt__merge_4.mcfunction +0 -3
- package/dist/data/mathdemo/function/isqrt__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/isqrt__then_15.mcfunction +0 -1
- package/dist/data/mathdemo/function/isqrt__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/lcm.mcfunction +0 -11
- package/dist/data/mathdemo/function/lcm__merge_1.mcfunction +0 -5
- package/dist/data/mathdemo/function/lcm__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/length2d_fixed.mcfunction +0 -15
- package/dist/data/mathdemo/function/length3d_fixed.mcfunction +0 -20
- package/dist/data/mathdemo/function/lerp.mcfunction +0 -13
- package/dist/data/mathdemo/function/lerp2d_x.mcfunction +0 -13
- package/dist/data/mathdemo/function/lerp2d_y.mcfunction +0 -13
- package/dist/data/mathdemo/function/ln.mcfunction +0 -9
- package/dist/data/mathdemo/function/ln__loop_body_1.mcfunction +0 -8
- package/dist/data/mathdemo/function/ln__loop_body_4.mcfunction +0 -8
- package/dist/data/mathdemo/function/ln__loop_exit_2.mcfunction +0 -1
- package/dist/data/mathdemo/function/ln__loop_exit_5.mcfunction +0 -37
- package/dist/data/mathdemo/function/ln__loop_header_0.mcfunction +0 -3
- package/dist/data/mathdemo/function/ln__loop_header_3.mcfunction +0 -6
- package/dist/data/mathdemo/function/load.mcfunction +0 -1
- package/dist/data/mathdemo/function/log10_fx.mcfunction +0 -11
- package/dist/data/mathdemo/function/log2_fx.mcfunction +0 -11
- package/dist/data/mathdemo/function/log2_int.mcfunction +0 -5
- package/dist/data/mathdemo/function/log2_int__loop_body_4.mcfunction +0 -8
- package/dist/data/mathdemo/function/log2_int__loop_exit_5.mcfunction +0 -1
- package/dist/data/mathdemo/function/log2_int__loop_header_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/log2_int__merge_1.mcfunction +0 -3
- package/dist/data/mathdemo/function/log2_int__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/loga_fx.mcfunction +0 -10
- package/dist/data/mathdemo/function/loga_fx__merge_1.mcfunction +0 -9
- package/dist/data/mathdemo/function/loga_fx__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/manhattan.mcfunction +0 -14
- package/dist/data/mathdemo/function/manhattan3d.mcfunction +0 -19
- package/dist/data/mathdemo/function/manhattan3d__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan3d__merge_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan3d__merge_5.mcfunction +0 -5
- package/dist/data/mathdemo/function/manhattan3d__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan3d__then_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan3d__then_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan__merge_3.mcfunction +0 -3
- package/dist/data/mathdemo/function/manhattan__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/manhattan__then_2.mcfunction +0 -4
- package/dist/data/mathdemo/function/map.mcfunction +0 -12
- package/dist/data/mathdemo/function/map__merge_1.mcfunction +0 -11
- package/dist/data/mathdemo/function/map__then_0.mcfunction +0 -1
- package/dist/data/mathdemo/function/mulfix.mcfunction +0 -8
- package/dist/data/mathdemo/function/neg2d_x.mcfunction +0 -4
- package/dist/data/mathdemo/function/neg2d_y.mcfunction +0 -4
- package/dist/data/mathdemo/function/neg3d_x.mcfunction +0 -4
- package/dist/data/mathdemo/function/neg3d_y.mcfunction +0 -4
- package/dist/data/mathdemo/function/neg3d_z.mcfunction +0 -4
- package/dist/data/mathdemo/function/normalize2d_x.mcfunction +0 -11
- package/dist/data/mathdemo/function/normalize2d_x__merge_1.mcfunction +0 -6
- package/dist/data/mathdemo/function/normalize2d_x__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/normalize2d_y.mcfunction +0 -11
- package/dist/data/mathdemo/function/normalize2d_y__merge_1.mcfunction +0 -6
- package/dist/data/mathdemo/function/normalize2d_y__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/pow_int.mcfunction +0 -6
- package/dist/data/mathdemo/function/pow_int__loop_body_4.mcfunction +0 -7
- package/dist/data/mathdemo/function/pow_int__loop_exit_5.mcfunction +0 -1
- package/dist/data/mathdemo/function/pow_int__loop_header_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/pow_int__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/pow_int__merge_7.mcfunction +0 -8
- package/dist/data/mathdemo/function/pow_int__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/pow_int__then_6.mcfunction +0 -4
- package/dist/data/mathdemo/function/projectile_land_t.mcfunction +0 -5
- package/dist/data/mathdemo/function/projectile_land_t__merge_1.mcfunction +0 -7
- package/dist/data/mathdemo/function/projectile_land_t__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/projectile_max_height.mcfunction +0 -10
- package/dist/data/mathdemo/function/projectile_max_height__const_200.mcfunction +0 -8
- package/dist/data/mathdemo/function/projectile_vy.mcfunction +0 -9
- package/dist/data/mathdemo/function/projectile_x.mcfunction +0 -8
- package/dist/data/mathdemo/function/projectile_y.mcfunction +0 -19
- package/dist/data/mathdemo/function/quadratic_disc.mcfunction +0 -12
- package/dist/data/mathdemo/function/quadratic_x1.mcfunction +0 -7
- package/dist/data/mathdemo/function/quadratic_x1__merge_1.mcfunction +0 -13
- package/dist/data/mathdemo/function/quadratic_x1__merge_4.mcfunction +0 -15
- package/dist/data/mathdemo/function/quadratic_x1__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/quadratic_x1__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/quadratic_x2.mcfunction +0 -7
- package/dist/data/mathdemo/function/quadratic_x2__merge_1.mcfunction +0 -13
- package/dist/data/mathdemo/function/quadratic_x2__merge_4.mcfunction +0 -15
- package/dist/data/mathdemo/function/quadratic_x2__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/quadratic_x2__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/rotate2d_x.mcfunction +0 -20
- package/dist/data/mathdemo/function/rotate2d_y.mcfunction +0 -20
- package/dist/data/mathdemo/function/scale2d_x.mcfunction +0 -8
- package/dist/data/mathdemo/function/scale2d_y.mcfunction +0 -8
- package/dist/data/mathdemo/function/scale3d_x.mcfunction +0 -8
- package/dist/data/mathdemo/function/scale3d_y.mcfunction +0 -8
- package/dist/data/mathdemo/function/scale3d_z.mcfunction +0 -8
- package/dist/data/mathdemo/function/sign.mcfunction +0 -5
- package/dist/data/mathdemo/function/sign__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/sign__merge_4.mcfunction +0 -2
- package/dist/data/mathdemo/function/sign__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/sign__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/sin_fixed.mcfunction +0 -9
- package/dist/data/mathdemo/function/sin_fixed__merge_1.mcfunction +0 -4
- package/dist/data/mathdemo/function/sin_fixed__merge_3.mcfunction +0 -4
- package/dist/data/mathdemo/function/sin_fixed__merge_6.mcfunction +0 -4
- package/dist/data/mathdemo/function/sin_fixed__merge_9.mcfunction +0 -10
- package/dist/data/mathdemo/function/sin_fixed__then_0.mcfunction +0 -4
- package/dist/data/mathdemo/function/sin_fixed__then_2.mcfunction +0 -6
- package/dist/data/mathdemo/function/sin_fixed__then_5.mcfunction +0 -8
- package/dist/data/mathdemo/function/sin_fixed__then_8.mcfunction +0 -10
- package/dist/data/mathdemo/function/smootherstep.mcfunction +0 -10
- package/dist/data/mathdemo/function/smootherstep__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/smootherstep__merge_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/smootherstep__merge_6.mcfunction +0 -27
- package/dist/data/mathdemo/function/smootherstep__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/smootherstep__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/smootherstep__then_5.mcfunction +0 -2
- package/dist/data/mathdemo/function/smoothstep.mcfunction +0 -10
- package/dist/data/mathdemo/function/smoothstep__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/smoothstep__merge_4.mcfunction +0 -4
- package/dist/data/mathdemo/function/smoothstep__merge_6.mcfunction +0 -15
- package/dist/data/mathdemo/function/smoothstep__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/smoothstep__then_3.mcfunction +0 -2
- package/dist/data/mathdemo/function/smoothstep__then_5.mcfunction +0 -2
- package/dist/data/mathdemo/function/solve2x2_x.mcfunction +0 -17
- package/dist/data/mathdemo/function/solve2x2_x__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/solve2x2_x__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/solve2x2_y.mcfunction +0 -17
- package/dist/data/mathdemo/function/solve2x2_y__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/solve2x2_y__then_0.mcfunction +0 -2
- package/dist/data/mathdemo/function/spring_force.mcfunction +0 -11
- package/dist/data/mathdemo/function/spring_update_v.mcfunction +0 -18
- package/dist/data/mathdemo/function/sqrt_fixed.mcfunction +0 -8
- package/dist/data/mathdemo/function/sqrt_fx.mcfunction +0 -11
- package/dist/data/mathdemo/function/sqrt_fx__const_20000.mcfunction +0 -8
- package/dist/data/mathdemo/function/start.mcfunction +0 -6
- package/dist/data/mathdemo/function/sub2d_x.mcfunction +0 -5
- package/dist/data/mathdemo/function/sub2d_y.mcfunction +0 -5
- package/dist/data/mathdemo/function/sub3d_x.mcfunction +0 -5
- package/dist/data/mathdemo/function/sub3d_y.mcfunction +0 -5
- package/dist/data/mathdemo/function/sub3d_z.mcfunction +0 -5
- package/dist/data/mathdemo/function/terrain_height.mcfunction +0 -24
- package/dist/data/mathdemo/function/terrain_height__const_0_0_64_20.mcfunction +0 -17
- package/dist/data/mathdemo/function/terrain_height__const_10_5_64_20.mcfunction +0 -17
- package/dist/data/mathdemo/function/update_pos.mcfunction +0 -5
- package/dist/data/mathdemo/function/value_noise_1d.mcfunction +0 -13
- package/dist/data/mathdemo/function/value_noise_1d__merge_1.mcfunction +0 -39
- package/dist/data/mathdemo/function/value_noise_1d__then_0.mcfunction +0 -7
- package/dist/data/mathdemo/function/value_noise_2d.mcfunction +0 -14
- package/dist/data/mathdemo/function/value_noise_2d__merge_1.mcfunction +0 -12
- package/dist/data/mathdemo/function/value_noise_2d__merge_3.mcfunction +0 -98
- package/dist/data/mathdemo/function/value_noise_2d__then_0.mcfunction +0 -7
- package/dist/data/mathdemo/function/value_noise_2d__then_2.mcfunction +0 -7
- package/dist/data/mathdemo/function/water_drag_fx.mcfunction +0 -2
- package/dist/data/mathtest/function/__load.mcfunction +0 -3
- package/dist/data/mathtest/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/mathtest/function/abs/then_0.mcfunction +0 -5
- package/dist/data/mathtest/function/abs.mcfunction +0 -6
- package/dist/data/mathtest/function/test.mcfunction +0 -5
- package/dist/data/minecraft/tags/function/load.json +0 -6
- package/dist/data/minecraft/tags/function/tick.json +0 -5
- package/dist/data/mypack/function/__load.mcfunction +0 -13
- package/dist/data/mypack/function/_atan_init.mcfunction +0 -2
- package/dist/data/mypack/function/abs/merge_2.mcfunction +0 -3
- package/dist/data/mypack/function/abs/then_0.mcfunction +0 -5
- package/dist/data/mypack/function/abs.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/__sgi_1.mcfunction +0 -2
- package/dist/data/mypack/function/atan2_fixed/else_34.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/loop_body_31.mcfunction +0 -19
- package/dist/data/mypack/function/atan2_fixed/loop_check_30.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/loop_exit_32.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/merge_11.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/merge_14.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/merge_17.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/merge_2.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_20.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_23.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_26.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/merge_29.mcfunction +0 -4
- package/dist/data/mypack/function/atan2_fixed/merge_38.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_41.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_44.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_47.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_5.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/merge_8.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_0.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_12.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_15.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_18.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_21.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_24.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_27.mcfunction +0 -6
- package/dist/data/mypack/function/atan2_fixed/then_3.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_33.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_36.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_39.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_42.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_45.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed/then_6.mcfunction +0 -3
- package/dist/data/mypack/function/atan2_fixed/then_9.mcfunction +0 -5
- package/dist/data/mypack/function/atan2_fixed.mcfunction +0 -7
- package/dist/data/mypack/function/my_game.mcfunction +0 -10
- package/dist/data/parkour_race/function/angry_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/barrier_wall.mcfunction +0 -1
- package/dist/data/parkour_race/function/buff_all.mcfunction +0 -22
- package/dist/data/parkour_race/function/check_checkpoints.mcfunction +0 -11
- package/dist/data/parkour_race/function/check_checkpoints__exec_t11.mcfunction +0 -4
- package/dist/data/parkour_race/function/check_checkpoints__exec_t13.mcfunction +0 -3
- package/dist/data/parkour_race/function/check_checkpoints__exec_t5.mcfunction +0 -4
- package/dist/data/parkour_race/function/check_checkpoints__exec_t7.mcfunction +0 -4
- package/dist/data/parkour_race/function/check_checkpoints__exec_t9.mcfunction +0 -4
- package/dist/data/parkour_race/function/check_checkpoints__merge_1.mcfunction +0 -5
- package/dist/data/parkour_race/function/check_checkpoints__merge_3.mcfunction +0 -5
- package/dist/data/parkour_race/function/check_checkpoints__merge_5.mcfunction +0 -5
- package/dist/data/parkour_race/function/check_checkpoints__merge_7.mcfunction +0 -5
- package/dist/data/parkour_race/function/check_checkpoints__merge_9.mcfunction +0 -1
- package/dist/data/parkour_race/function/check_checkpoints__then_0.mcfunction +0 -2
- package/dist/data/parkour_race/function/check_checkpoints__then_2.mcfunction +0 -2
- package/dist/data/parkour_race/function/check_checkpoints__then_4.mcfunction +0 -2
- package/dist/data/parkour_race/function/check_checkpoints__then_6.mcfunction +0 -2
- package/dist/data/parkour_race/function/check_checkpoints__then_8.mcfunction +0 -2
- package/dist/data/parkour_race/function/check_fall.mcfunction +0 -1
- package/dist/data/parkour_race/function/check_fall__exec_t1.mcfunction +0 -10
- package/dist/data/parkour_race/function/clear_area.mcfunction +0 -1
- package/dist/data/parkour_race/function/clear_effect.mcfunction +0 -1
- package/dist/data/parkour_race/function/clear_effects.mcfunction +0 -1
- package/dist/data/parkour_race/function/create_health_bar.mcfunction +0 -24
- package/dist/data/parkour_race/function/create_progress_bar.mcfunction +0 -24
- package/dist/data/parkour_race/function/create_timer_bar.mcfunction +0 -30
- package/dist/data/parkour_race/function/disable_fire_spread.mcfunction +0 -1
- package/dist/data/parkour_race/function/disable_keep_inventory.mcfunction +0 -1
- package/dist/data/parkour_race/function/disable_mob_griefing.mcfunction +0 -1
- package/dist/data/parkour_race/function/enable_keep_inventory.mcfunction +0 -1
- package/dist/data/parkour_race/function/end_sparkles_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/explosion_effect.mcfunction +0 -1
- package/dist/data/parkour_race/function/finish_race.mcfunction +0 -20
- package/dist/data/parkour_race/function/finish_race__else_2.mcfunction +0 -4
- package/dist/data/parkour_race/function/finish_race__else_5.mcfunction +0 -3
- package/dist/data/parkour_race/function/finish_race__merge_1.mcfunction +0 -3
- package/dist/data/parkour_race/function/finish_race__merge_4.mcfunction +0 -1
- package/dist/data/parkour_race/function/finish_race__then_0.mcfunction +0 -8
- package/dist/data/parkour_race/function/finish_race__then_3.mcfunction +0 -10
- package/dist/data/parkour_race/function/flames.mcfunction +0 -1
- package/dist/data/parkour_race/function/glass_box.mcfunction +0 -2
- package/dist/data/parkour_race/function/glow.mcfunction +0 -1
- package/dist/data/parkour_race/function/happy_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/hearts_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/hide_bar.mcfunction +0 -4
- package/dist/data/parkour_race/function/init.mcfunction +0 -18
- package/dist/data/parkour_race/function/invisible.mcfunction +0 -1
- package/dist/data/parkour_race/function/jump.mcfunction +0 -1
- package/dist/data/parkour_race/function/load.mcfunction +0 -1
- package/dist/data/parkour_race/function/night_vision.mcfunction +0 -1
- package/dist/data/parkour_race/function/portal_effect.mcfunction +0 -1
- package/dist/data/parkour_race/function/quit_race.mcfunction +0 -10
- package/dist/data/parkour_race/function/quit_race__merge_1.mcfunction +0 -1
- package/dist/data/parkour_race/function/quit_race__then_0.mcfunction +0 -11
- package/dist/data/parkour_race/function/race_tick.mcfunction +0 -1
- package/dist/data/parkour_race/function/race_tick__foreach_t0.mcfunction +0 -10
- package/dist/data/parkour_race/function/race_tick__foreach_t0__merge_1.mcfunction +0 -1
- package/dist/data/parkour_race/function/race_tick__foreach_t0__then_0.mcfunction +0 -13
- package/dist/data/parkour_race/function/reach_checkpoint.mcfunction +0 -11
- package/dist/data/parkour_race/function/regen.mcfunction +0 -1
- package/dist/data/parkour_race/function/remove_bar.mcfunction +0 -3
- package/dist/data/parkour_race/function/resistance.mcfunction +0 -1
- package/dist/data/parkour_race/function/respawn_at_checkpoint.mcfunction +0 -7
- package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_1.mcfunction +0 -5
- package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_3.mcfunction +0 -5
- package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_5.mcfunction +0 -5
- package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_7.mcfunction +0 -5
- package/dist/data/parkour_race/function/respawn_at_checkpoint__merge_9.mcfunction +0 -1
- package/dist/data/parkour_race/function/respawn_at_checkpoint__then_0.mcfunction +0 -6
- package/dist/data/parkour_race/function/respawn_at_checkpoint__then_2.mcfunction +0 -6
- package/dist/data/parkour_race/function/respawn_at_checkpoint__then_4.mcfunction +0 -6
- package/dist/data/parkour_race/function/respawn_at_checkpoint__then_6.mcfunction +0 -6
- package/dist/data/parkour_race/function/respawn_at_checkpoint__then_8.mcfunction +0 -6
- package/dist/data/parkour_race/function/set_day.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_easy.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_hard.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_midnight.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_night.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_noon.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_normal.mcfunction +0 -1
- package/dist/data/parkour_race/function/set_peaceful.mcfunction +0 -1
- package/dist/data/parkour_race/function/show_bar.mcfunction +0 -4
- package/dist/data/parkour_race/function/show_leaderboard.mcfunction +0 -4
- package/dist/data/parkour_race/function/slow_fall.mcfunction +0 -1
- package/dist/data/parkour_race/function/smoke.mcfunction +0 -1
- package/dist/data/parkour_race/function/sparkles_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/speed.mcfunction +0 -1
- package/dist/data/parkour_race/function/start_race.mcfunction +0 -10
- package/dist/data/parkour_race/function/start_race__merge_1.mcfunction +0 -23
- package/dist/data/parkour_race/function/start_race__then_0.mcfunction +0 -1
- package/dist/data/parkour_race/function/strength.mcfunction +0 -1
- package/dist/data/parkour_race/function/totem_at.mcfunction +0 -1
- package/dist/data/parkour_race/function/update_bar.mcfunction +0 -5
- package/dist/data/parkour_race/function/update_bar_color.mcfunction +0 -7
- package/dist/data/parkour_race/function/update_bar_color__else_2.mcfunction +0 -5
- package/dist/data/parkour_race/function/update_bar_color__else_5.mcfunction +0 -4
- package/dist/data/parkour_race/function/update_bar_color__merge_1.mcfunction +0 -1
- package/dist/data/parkour_race/function/update_bar_color__merge_4.mcfunction +0 -1
- package/dist/data/parkour_race/function/update_bar_color__then_0.mcfunction +0 -4
- package/dist/data/parkour_race/function/update_bar_color__then_3.mcfunction +0 -4
- package/dist/data/parkour_race/function/weather_clear.mcfunction +0 -1
- package/dist/data/parkour_race/function/weather_rain.mcfunction +0 -1
- package/dist/data/parkour_race/function/weather_thunder.mcfunction +0 -1
- package/dist/data/quiz/function/__load.mcfunction +0 -16
- package/dist/data/quiz/function/__tick.mcfunction +0 -6
- package/dist/data/quiz/function/__trigger_quiz_a_dispatch.mcfunction +0 -4
- package/dist/data/quiz/function/__trigger_quiz_b_dispatch.mcfunction +0 -4
- package/dist/data/quiz/function/__trigger_quiz_c_dispatch.mcfunction +0 -4
- package/dist/data/quiz/function/__trigger_quiz_start_dispatch.mcfunction +0 -4
- package/dist/data/quiz/function/answer_a.mcfunction +0 -4
- package/dist/data/quiz/function/answer_b.mcfunction +0 -4
- package/dist/data/quiz/function/answer_c.mcfunction +0 -4
- package/dist/data/quiz/function/ask_question/else_1.mcfunction +0 -5
- package/dist/data/quiz/function/ask_question/else_4.mcfunction +0 -5
- package/dist/data/quiz/function/ask_question/else_7.mcfunction +0 -4
- package/dist/data/quiz/function/ask_question/merge_2.mcfunction +0 -1
- package/dist/data/quiz/function/ask_question/merge_5.mcfunction +0 -2
- package/dist/data/quiz/function/ask_question/merge_8.mcfunction +0 -2
- package/dist/data/quiz/function/ask_question/then_0.mcfunction +0 -4
- package/dist/data/quiz/function/ask_question/then_3.mcfunction +0 -4
- package/dist/data/quiz/function/ask_question/then_6.mcfunction +0 -4
- package/dist/data/quiz/function/ask_question.mcfunction +0 -7
- package/dist/data/quiz/function/finish_quiz.mcfunction +0 -6
- package/dist/data/quiz/function/handle_answer/else_1.mcfunction +0 -5
- package/dist/data/quiz/function/handle_answer/else_10.mcfunction +0 -3
- package/dist/data/quiz/function/handle_answer/else_16.mcfunction +0 -3
- package/dist/data/quiz/function/handle_answer/else_4.mcfunction +0 -3
- package/dist/data/quiz/function/handle_answer/else_7.mcfunction +0 -5
- package/dist/data/quiz/function/handle_answer/merge_11.mcfunction +0 -2
- package/dist/data/quiz/function/handle_answer/merge_14.mcfunction +0 -2
- package/dist/data/quiz/function/handle_answer/merge_17.mcfunction +0 -2
- package/dist/data/quiz/function/handle_answer/merge_2.mcfunction +0 -8
- package/dist/data/quiz/function/handle_answer/merge_5.mcfunction +0 -2
- package/dist/data/quiz/function/handle_answer/merge_8.mcfunction +0 -2
- package/dist/data/quiz/function/handle_answer/then_0.mcfunction +0 -5
- package/dist/data/quiz/function/handle_answer/then_12.mcfunction +0 -5
- package/dist/data/quiz/function/handle_answer/then_15.mcfunction +0 -6
- package/dist/data/quiz/function/handle_answer/then_3.mcfunction +0 -6
- package/dist/data/quiz/function/handle_answer/then_6.mcfunction +0 -5
- package/dist/data/quiz/function/handle_answer/then_9.mcfunction +0 -6
- package/dist/data/quiz/function/handle_answer.mcfunction +0 -11
- package/dist/data/quiz/function/start_quiz.mcfunction +0 -5
- package/dist/data/rawtest/function/load.mcfunction +0 -1
- package/dist/data/rawtest/function/test.mcfunction +0 -2
- package/dist/data/reqtest/function/__load.mcfunction +0 -4
- package/dist/data/reqtest/function/_table_init.mcfunction +0 -2
- package/dist/data/reqtest/function/no_trig.mcfunction +0 -3
- package/dist/data/reqtest/function/use_table.mcfunction +0 -4
- package/dist/data/reqtest2/function/__load.mcfunction +0 -3
- package/dist/data/reqtest2/function/no_trig.mcfunction +0 -3
- package/dist/data/runtime/function/__load.mcfunction +0 -5
- package/dist/data/runtime/function/__tick.mcfunction +0 -2
- package/dist/data/runtime/function/counter_tick/then_0.mcfunction +0 -3
- package/dist/data/runtime/function/counter_tick.mcfunction +0 -13
- package/dist/data/shop/function/__load.mcfunction +0 -7
- package/dist/data/shop/function/__tick.mcfunction +0 -3
- package/dist/data/shop/function/__trigger_shop_buy_dispatch.mcfunction +0 -4
- package/dist/data/shop/function/complete_purchase/else_1.mcfunction +0 -5
- package/dist/data/shop/function/complete_purchase/else_4.mcfunction +0 -5
- package/dist/data/shop/function/complete_purchase/else_7.mcfunction +0 -3
- package/dist/data/shop/function/complete_purchase/merge_2.mcfunction +0 -2
- package/dist/data/shop/function/complete_purchase/merge_5.mcfunction +0 -2
- package/dist/data/shop/function/complete_purchase/merge_8.mcfunction +0 -2
- package/dist/data/shop/function/complete_purchase/then_0.mcfunction +0 -4
- package/dist/data/shop/function/complete_purchase/then_3.mcfunction +0 -4
- package/dist/data/shop/function/complete_purchase/then_6.mcfunction +0 -4
- package/dist/data/shop/function/complete_purchase.mcfunction +0 -7
- package/dist/data/shop/function/handle_shop_trigger.mcfunction +0 -3
- package/dist/data/swap_test/function/__load.mcfunction +0 -3
- package/dist/data/swap_test/function/gcd_old/loop_body_1.mcfunction +0 -7
- package/dist/data/swap_test/function/gcd_old/loop_check_0.mcfunction +0 -5
- package/dist/data/swap_test/function/gcd_old/loop_exit_2.mcfunction +0 -3
- package/dist/data/swap_test/function/gcd_old.mcfunction +0 -8
- package/dist/data/test/function/__dyn_idx_test_arrays_a.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_b.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_c.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_counter.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_d.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_e.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_g.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_h.mcfunction +0 -1
- package/dist/data/test/function/__dyn_idx_test_arrays_one.mcfunction +0 -1
- package/dist/data/test/function/__dyn_wrt_test_arrays_f.mcfunction +0 -1
- package/dist/data/test/function/__dyn_wrt_test_arrays_r.mcfunction +0 -1
- package/dist/data/test/function/__dyn_wrt_test_arrays_s.mcfunction +0 -1
- package/dist/data/test/function/_apply.mcfunction +0 -5
- package/dist/data/test/function/_atan_init.mcfunction +0 -4
- package/dist/data/test/function/_divider.mcfunction +0 -1
- package/dist/data/test/function/_dump_advanced_phase.mcfunction +0 -4
- package/dist/data/test/function/_dump_advanced_phase__loop_body_1.mcfunction +0 -7
- package/dist/data/test/function/_dump_advanced_phase__loop_body_6.mcfunction +0 -10
- package/dist/data/test/function/_dump_advanced_phase__loop_exit_2.mcfunction +0 -20
- package/dist/data/test/function/_dump_advanced_phase__loop_exit_7.mcfunction +0 -12
- package/dist/data/test/function/_dump_advanced_phase__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/_dump_advanced_phase__loop_header_5.mcfunction +0 -4
- package/dist/data/test/function/_dump_advanced_phase__merge_4.mcfunction +0 -4
- package/dist/data/test/function/_dump_advanced_phase__then_3.mcfunction +0 -2
- package/dist/data/test/function/_dump_bigint_phase.mcfunction +0 -28
- package/dist/data/test/function/_dump_math_phase.mcfunction +0 -4
- package/dist/data/test/function/_dump_math_phase__loop_body_1.mcfunction +0 -9
- package/dist/data/test/function/_dump_math_phase__loop_exit_2.mcfunction +0 -18
- package/dist/data/test/function/_dump_math_phase__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/_fp.mcfunction +0 -2
- package/dist/data/test/function/_hsl_chroma_x.mcfunction +0 -11
- package/dist/data/test/function/_hsl_chroma_x__merge_1.mcfunction +0 -6
- package/dist/data/test/function/_hsl_chroma_x__then_0.mcfunction +0 -4
- package/dist/data/test/function/_math_init.mcfunction +0 -4
- package/dist/data/test/function/_next_phase.mcfunction +0 -1
- package/dist/data/test/function/_section.mcfunction +0 -3
- package/dist/data/test/function/_section__const_0.mcfunction +0 -3
- package/dist/data/test/function/_tick_advanced_live.mcfunction +0 -5
- package/dist/data/test/function/_tick_advanced_live__foreach_t12.mcfunction +0 -1
- package/dist/data/test/function/_tick_bigint_live.mcfunction +0 -8
- package/dist/data/test/function/_tick_bigint_live__foreach_t11.mcfunction +0 -1
- package/dist/data/test/function/_tick_math.mcfunction +0 -9
- package/dist/data/test/function/_tick_math__foreach_t12.mcfunction +0 -1
- package/dist/data/test/function/_tick_visual.mcfunction +0 -11
- package/dist/data/test/function/_tick_visual__foreach_t12.mcfunction +0 -1
- package/dist/data/test/function/_tick_visual__foreach_t16.mcfunction +0 -8
- package/dist/data/test/function/_tick_visual__foreach_t17.mcfunction +0 -8
- package/dist/data/test/function/_tick_visual__foreach_t21.mcfunction +0 -1
- package/dist/data/test/function/aabb_contains.mcfunction +0 -13
- package/dist/data/test/function/aabb_contains__merge_1.mcfunction +0 -4
- package/dist/data/test/function/aabb_contains__merge_10.mcfunction +0 -4
- package/dist/data/test/function/aabb_contains__merge_13.mcfunction +0 -4
- package/dist/data/test/function/aabb_contains__merge_16.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__merge_4.mcfunction +0 -4
- package/dist/data/test/function/aabb_contains__merge_7.mcfunction +0 -4
- package/dist/data/test/function/aabb_contains__then_0.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__then_12.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__then_15.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__then_3.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__then_6.mcfunction +0 -2
- package/dist/data/test/function/aabb_contains__then_9.mcfunction +0 -2
- package/dist/data/test/function/add2d_x.mcfunction +0 -5
- package/dist/data/test/function/add2d_y.mcfunction +0 -5
- package/dist/data/test/function/add3d_x.mcfunction +0 -5
- package/dist/data/test/function/add3d_y.mcfunction +0 -5
- package/dist/data/test/function/add3d_z.mcfunction +0 -5
- package/dist/data/test/function/air_drag_fx.mcfunction +0 -2
- package/dist/data/test/function/angle_between.mcfunction +0 -28
- package/dist/data/test/function/angle_between__and_false_2.mcfunction +0 -2
- package/dist/data/test/function/angle_between__and_false_8.mcfunction +0 -2
- package/dist/data/test/function/angle_between__and_merge_1.mcfunction +0 -2
- package/dist/data/test/function/angle_between__and_merge_7.mcfunction +0 -2
- package/dist/data/test/function/angle_between__and_right_0.mcfunction +0 -4
- package/dist/data/test/function/angle_between__and_right_6.mcfunction +0 -4
- package/dist/data/test/function/angle_between__merge_10.mcfunction +0 -26
- package/dist/data/test/function/angle_between__merge_4.mcfunction +0 -4
- package/dist/data/test/function/angle_between__then_3.mcfunction +0 -2
- package/dist/data/test/function/angle_between__then_9.mcfunction +0 -2
- package/dist/data/test/function/angle_diff.mcfunction +0 -13
- package/dist/data/test/function/angle_diff__merge_1.mcfunction +0 -1
- package/dist/data/test/function/angle_diff__then_0.mcfunction +0 -4
- package/dist/data/test/function/angle_normalize.mcfunction +0 -3
- package/dist/data/test/function/angle_normalize__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/angle_normalize__loop_body_4.mcfunction +0 -4
- package/dist/data/test/function/angle_normalize__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/angle_normalize__loop_exit_5.mcfunction +0 -1
- package/dist/data/test/function/angle_normalize__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/angle_normalize__loop_header_3.mcfunction +0 -5
- package/dist/data/test/function/apply_drag.mcfunction +0 -8
- package/dist/data/test/function/apply_gravity.mcfunction +0 -6
- package/dist/data/test/function/approx_eq.mcfunction +0 -10
- package/dist/data/test/function/approx_eq__merge_1.mcfunction +0 -3
- package/dist/data/test/function/approx_eq__merge_3.mcfunction +0 -2
- package/dist/data/test/function/approx_eq__then_0.mcfunction +0 -4
- package/dist/data/test/function/approx_eq__then_2.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed.mcfunction +0 -6
- package/dist/data/test/function/atan2_fixed__else_30.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__loop_body_26.mcfunction +0 -21
- package/dist/data/test/function/atan2_fixed__loop_exit_27.mcfunction +0 -5
- package/dist/data/test/function/atan2_fixed__loop_header_25.mcfunction +0 -3
- package/dist/data/test/function/atan2_fixed__merge_1.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_10.mcfunction +0 -5
- package/dist/data/test/function/atan2_fixed__merge_12.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__merge_16.mcfunction +0 -5
- package/dist/data/test/function/atan2_fixed__merge_18.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_20.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_22.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_24.mcfunction +0 -3
- package/dist/data/test/function/atan2_fixed__merge_29.mcfunction +0 -1
- package/dist/data/test/function/atan2_fixed__merge_3.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_32.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_34.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__merge_36.mcfunction +0 -3
- package/dist/data/test/function/atan2_fixed__merge_40.mcfunction +0 -3
- package/dist/data/test/function/atan2_fixed__merge_6.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_0.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_11.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_15.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_17.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_19.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_2.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_21.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_23.mcfunction +0 -5
- package/dist/data/test/function/atan2_fixed__then_28.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_31.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_33.mcfunction +0 -4
- package/dist/data/test/function/atan2_fixed__then_35.mcfunction +0 -1
- package/dist/data/test/function/atan2_fixed__then_39.mcfunction +0 -3
- package/dist/data/test/function/atan2_fixed__then_5.mcfunction +0 -2
- package/dist/data/test/function/atan2_fixed__then_9.mcfunction +0 -4
- package/dist/data/test/function/avg3.mcfunction +0 -11
- package/dist/data/test/function/avg5.mcfunction +0 -17
- package/dist/data/test/function/bernoulli.mcfunction +0 -13
- package/dist/data/test/function/bernoulli__merge_1.mcfunction +0 -7
- package/dist/data/test/function/bernoulli__merge_3.mcfunction +0 -2
- package/dist/data/test/function/bernoulli__then_0.mcfunction +0 -4
- package/dist/data/test/function/bernoulli__then_2.mcfunction +0 -2
- package/dist/data/test/function/bezier_cubic.mcfunction +0 -36
- package/dist/data/test/function/bezier_quad.mcfunction +0 -20
- package/dist/data/test/function/bigint3_add_hi.mcfunction +0 -11
- package/dist/data/test/function/bigint3_add_lo.mcfunction +0 -8
- package/dist/data/test/function/bigint3_add_mid.mcfunction +0 -11
- package/dist/data/test/function/bigint3_borrow_lo.mcfunction +0 -5
- package/dist/data/test/function/bigint3_borrow_lo__merge_1.mcfunction +0 -2
- package/dist/data/test/function/bigint3_borrow_lo__then_0.mcfunction +0 -2
- package/dist/data/test/function/bigint3_borrow_mid.mcfunction +0 -8
- package/dist/data/test/function/bigint3_borrow_mid__merge_1.mcfunction +0 -2
- package/dist/data/test/function/bigint3_borrow_mid__then_0.mcfunction +0 -2
- package/dist/data/test/function/bigint3_carry_lo.mcfunction +0 -8
- package/dist/data/test/function/bigint3_carry_mid.mcfunction +0 -11
- package/dist/data/test/function/bigint3_cmp.mcfunction +0 -9
- package/dist/data/test/function/bigint3_cmp__merge_1.mcfunction +0 -3
- package/dist/data/test/function/bigint3_cmp__merge_10.mcfunction +0 -3
- package/dist/data/test/function/bigint3_cmp__merge_13.mcfunction +0 -3
- package/dist/data/test/function/bigint3_cmp__merge_16.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__merge_4.mcfunction +0 -3
- package/dist/data/test/function/bigint3_cmp__merge_7.mcfunction +0 -3
- package/dist/data/test/function/bigint3_cmp__then_0.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__then_12.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__then_15.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__then_3.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__then_6.mcfunction +0 -2
- package/dist/data/test/function/bigint3_cmp__then_9.mcfunction +0 -2
- package/dist/data/test/function/bigint3_div_chunk.mcfunction +0 -11
- package/dist/data/test/function/bigint3_mul1_hi.mcfunction +0 -8
- package/dist/data/test/function/bigint3_mul1_lo.mcfunction +0 -8
- package/dist/data/test/function/bigint3_mul1_mid.mcfunction +0 -2
- package/dist/data/test/function/bigint3_rem_chunk.mcfunction +0 -11
- package/dist/data/test/function/bigint3_sub_hi.mcfunction +0 -8
- package/dist/data/test/function/bigint3_sub_lo.mcfunction +0 -5
- package/dist/data/test/function/bigint3_sub_lo__merge_1.mcfunction +0 -5
- package/dist/data/test/function/bigint3_sub_lo__then_0.mcfunction +0 -3
- package/dist/data/test/function/bigint3_sub_mid.mcfunction +0 -12
- package/dist/data/test/function/bigint3_sub_mid__merge_1.mcfunction +0 -1
- package/dist/data/test/function/bigint3_sub_mid__then_0.mcfunction +0 -4
- package/dist/data/test/function/bigint3_to_int32.mcfunction +0 -14
- package/dist/data/test/function/bigint_add.mcfunction +0 -8
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__a__b__test_arrays__b__result__test_arrays__r.mcfunction +0 -6
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__a__b__test_arrays__b__result__test_arrays__r__loop_body_1.mcfunction +0 -22
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__a__b__test_arrays__b__result__test_arrays__r__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__a__b__test_arrays__b__result__test_arrays__r__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__counter__b__test_arrays__one__result__test_arrays__r.mcfunction +0 -6
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__counter__b__test_arrays__one__result__test_arrays__r__loop_body_1.mcfunction +0 -22
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__counter__b__test_arrays__one__result__test_arrays__r__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_add__arr_a__test_arrays__counter__b__test_arrays__one__result__test_arrays__r__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_add__loop_body_1.mcfunction +0 -12
- package/dist/data/test/function/bigint_add__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_add__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_base.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp.mcfunction +0 -5
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h.mcfunction +0 -3
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__loop_body_1.mcfunction +0 -7
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__loop_exit_2.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__merge_4.mcfunction +0 -7
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__merge_7.mcfunction +0 -4
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__then_3.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp__arr_a__test_arrays__g__b__test_arrays__h__then_6.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp__loop_body_1.mcfunction +0 -3
- package/dist/data/test/function/bigint_cmp__loop_exit_2.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/bigint_cmp__merge_4.mcfunction +0 -3
- package/dist/data/test/function/bigint_cmp__merge_7.mcfunction +0 -4
- package/dist/data/test/function/bigint_cmp__then_3.mcfunction +0 -2
- package/dist/data/test/function/bigint_cmp__then_6.mcfunction +0 -2
- package/dist/data/test/function/bigint_copy.mcfunction +0 -3
- package/dist/data/test/function/bigint_copy__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/bigint_copy__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_copy__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/bigint_is_zero.mcfunction +0 -4
- package/dist/data/test/function/bigint_is_zero__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/bigint_is_zero__loop_exit_2.mcfunction +0 -2
- package/dist/data/test/function/bigint_is_zero__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/bigint_is_zero__merge_4.mcfunction +0 -4
- package/dist/data/test/function/bigint_is_zero__then_3.mcfunction +0 -2
- package/dist/data/test/function/bigint_leading_zeros.mcfunction +0 -5
- package/dist/data/test/function/bigint_leading_zeros__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/bigint_leading_zeros__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_leading_zeros__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/bigint_leading_zeros__merge_4.mcfunction +0 -9
- package/dist/data/test/function/bigint_leading_zeros__then_3.mcfunction +0 -1
- package/dist/data/test/function/bigint_mul_small.mcfunction +0 -8
- package/dist/data/test/function/bigint_mul_small__arr_a__test_arrays__e__result__test_arrays__f.mcfunction +0 -7
- package/dist/data/test/function/bigint_mul_small__arr_a__test_arrays__e__result__test_arrays__f__loop_body_1.mcfunction +0 -20
- package/dist/data/test/function/bigint_mul_small__arr_a__test_arrays__e__result__test_arrays__f__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_mul_small__arr_a__test_arrays__e__result__test_arrays__f__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_mul_small__loop_body_1.mcfunction +0 -12
- package/dist/data/test/function/bigint_mul_small__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_mul_small__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_shift_left.mcfunction +0 -3
- package/dist/data/test/function/bigint_shift_left__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/bigint_shift_left__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_shift_left__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/bigint_sub.mcfunction +0 -8
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s.mcfunction +0 -6
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__loop_body_1.mcfunction +0 -13
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__merge_4.mcfunction +0 -4
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__merge_6.mcfunction +0 -7
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__then_3.mcfunction +0 -5
- package/dist/data/test/function/bigint_sub__arr_a__test_arrays__c__b__test_arrays__d__result__test_arrays__s__then_5.mcfunction +0 -2
- package/dist/data/test/function/bigint_sub__loop_body_1.mcfunction +0 -9
- package/dist/data/test/function/bigint_sub__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_sub__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bigint_sub__merge_4.mcfunction +0 -4
- package/dist/data/test/function/bigint_sub__merge_6.mcfunction +0 -4
- package/dist/data/test/function/bigint_sub__then_3.mcfunction +0 -5
- package/dist/data/test/function/bigint_sub__then_5.mcfunction +0 -2
- package/dist/data/test/function/bigint_zero.mcfunction +0 -3
- package/dist/data/test/function/bigint_zero__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/bigint_zero__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bigint_zero__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/billboard_y.mcfunction +0 -7
- package/dist/data/test/function/bit_and.mcfunction +0 -6
- package/dist/data/test/function/bit_and__loop_body_1.mcfunction +0 -10
- package/dist/data/test/function/bit_and__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_and__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/bit_and__merge_4.mcfunction +0 -8
- package/dist/data/test/function/bit_and__merge_6.mcfunction +0 -1
- package/dist/data/test/function/bit_and__then_3.mcfunction +0 -10
- package/dist/data/test/function/bit_and__then_5.mcfunction +0 -4
- package/dist/data/test/function/bit_clear.mcfunction +0 -5
- package/dist/data/test/function/bit_clear__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_clear__loop_exit_2.mcfunction +0 -10
- package/dist/data/test/function/bit_clear__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_clear__merge_4.mcfunction +0 -1
- package/dist/data/test/function/bit_clear__then_3.mcfunction +0 -3
- package/dist/data/test/function/bit_get.mcfunction +0 -5
- package/dist/data/test/function/bit_get__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_get__loop_exit_2.mcfunction +0 -6
- package/dist/data/test/function/bit_get__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_not.mcfunction +0 -5
- package/dist/data/test/function/bit_not__loop_body_1.mcfunction +0 -10
- package/dist/data/test/function/bit_not__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_not__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/bit_not__merge_4.mcfunction +0 -8
- package/dist/data/test/function/bit_not__then_3.mcfunction +0 -4
- package/dist/data/test/function/bit_or.mcfunction +0 -6
- package/dist/data/test/function/bit_or__loop_body_1.mcfunction +0 -10
- package/dist/data/test/function/bit_or__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_or__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/bit_or__merge_4.mcfunction +0 -10
- package/dist/data/test/function/bit_or__merge_6.mcfunction +0 -8
- package/dist/data/test/function/bit_or__merge_8.mcfunction +0 -1
- package/dist/data/test/function/bit_or__then_3.mcfunction +0 -4
- package/dist/data/test/function/bit_or__then_5.mcfunction +0 -10
- package/dist/data/test/function/bit_or__then_7.mcfunction +0 -4
- package/dist/data/test/function/bit_set.mcfunction +0 -5
- package/dist/data/test/function/bit_set__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_set__loop_exit_2.mcfunction +0 -10
- package/dist/data/test/function/bit_set__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_set__merge_4.mcfunction +0 -1
- package/dist/data/test/function/bit_set__then_3.mcfunction +0 -3
- package/dist/data/test/function/bit_shl.mcfunction +0 -5
- package/dist/data/test/function/bit_shl__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_shl__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_shl__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_shr.mcfunction +0 -5
- package/dist/data/test/function/bit_shr__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_shr__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_shr__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_toggle.mcfunction +0 -5
- package/dist/data/test/function/bit_toggle__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/bit_toggle__loop_exit_2.mcfunction +0 -10
- package/dist/data/test/function/bit_toggle__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/bit_toggle__merge_4.mcfunction +0 -3
- package/dist/data/test/function/bit_toggle__then_3.mcfunction +0 -3
- package/dist/data/test/function/bit_xor.mcfunction +0 -6
- package/dist/data/test/function/bit_xor__loop_body_1.mcfunction +0 -14
- package/dist/data/test/function/bit_xor__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/bit_xor__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/bit_xor__merge_4.mcfunction +0 -8
- package/dist/data/test/function/bit_xor__then_3.mcfunction +0 -4
- package/dist/data/test/function/bounce_v.mcfunction +0 -10
- package/dist/data/test/function/cbrt_fx.mcfunction +0 -5
- package/dist/data/test/function/cbrt_fx__loop_body_6.mcfunction +0 -7
- package/dist/data/test/function/cbrt_fx__loop_exit_7.mcfunction +0 -1
- package/dist/data/test/function/cbrt_fx__loop_header_5.mcfunction +0 -4
- package/dist/data/test/function/cbrt_fx__merge_1.mcfunction +0 -8
- package/dist/data/test/function/cbrt_fx__merge_11.mcfunction +0 -5
- package/dist/data/test/function/cbrt_fx__merge_13.mcfunction +0 -4
- package/dist/data/test/function/cbrt_fx__merge_4.mcfunction +0 -2
- package/dist/data/test/function/cbrt_fx__merge_9.mcfunction +0 -13
- package/dist/data/test/function/cbrt_fx__then_0.mcfunction +0 -2
- package/dist/data/test/function/cbrt_fx__then_10.mcfunction +0 -2
- package/dist/data/test/function/cbrt_fx__then_12.mcfunction +0 -2
- package/dist/data/test/function/cbrt_fx__then_3.mcfunction +0 -2
- package/dist/data/test/function/cbrt_fx__then_8.mcfunction +0 -2
- package/dist/data/test/function/ceil_div.mcfunction +0 -9
- package/dist/data/test/function/chebyshev.mcfunction +0 -14
- package/dist/data/test/function/chebyshev3d.mcfunction +0 -19
- package/dist/data/test/function/chebyshev3d__merge_1.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__merge_3.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__merge_5.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__merge_7.mcfunction +0 -3
- package/dist/data/test/function/chebyshev3d__merge_9.mcfunction +0 -1
- package/dist/data/test/function/chebyshev3d__then_0.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__then_2.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__then_4.mcfunction +0 -4
- package/dist/data/test/function/chebyshev3d__then_6.mcfunction +0 -2
- package/dist/data/test/function/chebyshev3d__then_8.mcfunction +0 -2
- package/dist/data/test/function/chebyshev__merge_1.mcfunction +0 -4
- package/dist/data/test/function/chebyshev__merge_3.mcfunction +0 -3
- package/dist/data/test/function/chebyshev__merge_5.mcfunction +0 -1
- package/dist/data/test/function/chebyshev__then_0.mcfunction +0 -4
- package/dist/data/test/function/chebyshev__then_2.mcfunction +0 -4
- package/dist/data/test/function/chebyshev__then_4.mcfunction +0 -1
- package/dist/data/test/function/chunk_hi.mcfunction +0 -5
- package/dist/data/test/function/chunk_lo.mcfunction +0 -5
- package/dist/data/test/function/circular_x.mcfunction +0 -14
- package/dist/data/test/function/circular_z.mcfunction +0 -14
- package/dist/data/test/function/clamp3.mcfunction +0 -7
- package/dist/data/test/function/clamp3__merge_1.mcfunction +0 -4
- package/dist/data/test/function/clamp3__merge_4.mcfunction +0 -1
- package/dist/data/test/function/clamp3__then_0.mcfunction +0 -1
- package/dist/data/test/function/clamp3__then_3.mcfunction +0 -1
- package/dist/data/test/function/clamp_circle_x.mcfunction +0 -13
- package/dist/data/test/function/clamp_circle_x__merge_1.mcfunction +0 -10
- package/dist/data/test/function/clamp_circle_x__then_0.mcfunction +0 -1
- package/dist/data/test/function/clamp_circle_y.mcfunction +0 -13
- package/dist/data/test/function/clamp_circle_y__merge_1.mcfunction +0 -10
- package/dist/data/test/function/clamp_circle_y__then_0.mcfunction +0 -1
- package/dist/data/test/function/clamp_velocity.mcfunction +0 -5
- package/dist/data/test/function/clamp_velocity__merge_1.mcfunction +0 -5
- package/dist/data/test/function/clamp_velocity__merge_4.mcfunction +0 -1
- package/dist/data/test/function/clamp_velocity__then_0.mcfunction +0 -1
- package/dist/data/test/function/clamp_velocity__then_3.mcfunction +0 -3
- package/dist/data/test/function/collatz_steps.mcfunction +0 -5
- package/dist/data/test/function/collatz_steps__else_8.mcfunction +0 -6
- package/dist/data/test/function/collatz_steps__loop_body_4.mcfunction +0 -7
- package/dist/data/test/function/collatz_steps__loop_exit_5.mcfunction +0 -1
- package/dist/data/test/function/collatz_steps__loop_header_3.mcfunction +0 -4
- package/dist/data/test/function/collatz_steps__merge_1.mcfunction +0 -3
- package/dist/data/test/function/collatz_steps__merge_7.mcfunction +0 -4
- package/dist/data/test/function/collatz_steps__then_0.mcfunction +0 -2
- package/dist/data/test/function/collatz_steps__then_6.mcfunction +0 -5
- package/dist/data/test/function/combinations.mcfunction +0 -6
- package/dist/data/test/function/combinations__loop_body_9.mcfunction +0 -15
- package/dist/data/test/function/combinations__loop_exit_10.mcfunction +0 -1
- package/dist/data/test/function/combinations__loop_header_8.mcfunction +0 -3
- package/dist/data/test/function/combinations__merge_1.mcfunction +0 -3
- package/dist/data/test/function/combinations__merge_4.mcfunction +0 -6
- package/dist/data/test/function/combinations__merge_7.mcfunction +0 -3
- package/dist/data/test/function/combinations__then_0.mcfunction +0 -2
- package/dist/data/test/function/combinations__then_3.mcfunction +0 -2
- package/dist/data/test/function/combinations__then_6.mcfunction +0 -4
- package/dist/data/test/function/cos_fixed.mcfunction +0 -7
- package/dist/data/test/function/cos_fixed__const_0.mcfunction +0 -5
- package/dist/data/test/function/cos_hp.mcfunction +0 -6
- package/dist/data/test/function/count_digits.mcfunction +0 -6
- package/dist/data/test/function/count_digits__loop_body_6.mcfunction +0 -8
- package/dist/data/test/function/count_digits__loop_exit_7.mcfunction +0 -1
- package/dist/data/test/function/count_digits__loop_header_5.mcfunction +0 -4
- package/dist/data/test/function/count_digits__merge_1.mcfunction +0 -4
- package/dist/data/test/function/count_digits__merge_3.mcfunction +0 -2
- package/dist/data/test/function/count_digits__then_0.mcfunction +0 -4
- package/dist/data/test/function/count_digits__then_2.mcfunction +0 -2
- package/dist/data/test/function/cross2d.mcfunction +0 -11
- package/dist/data/test/function/cross3d_x.mcfunction +0 -11
- package/dist/data/test/function/cross3d_y.mcfunction +0 -11
- package/dist/data/test/function/cross3d_z.mcfunction +0 -11
- package/dist/data/test/function/cylinder_contains.mcfunction +0 -21
- package/dist/data/test/function/cylinder_contains__merge_1.mcfunction +0 -2
- package/dist/data/test/function/cylinder_contains__then_0.mcfunction +0 -2
- package/dist/data/test/function/debug_bigint.mcfunction +0 -25
- package/dist/data/test/function/digit_sum.mcfunction +0 -6
- package/dist/data/test/function/digit_sum__loop_body_6.mcfunction +0 -11
- package/dist/data/test/function/digit_sum__loop_exit_7.mcfunction +0 -1
- package/dist/data/test/function/digit_sum__loop_header_5.mcfunction +0 -4
- package/dist/data/test/function/digit_sum__merge_1.mcfunction +0 -4
- package/dist/data/test/function/digit_sum__merge_3.mcfunction +0 -2
- package/dist/data/test/function/digit_sum__then_0.mcfunction +0 -4
- package/dist/data/test/function/digit_sum__then_2.mcfunction +0 -2
- package/dist/data/test/function/digital_root.mcfunction +0 -5
- package/dist/data/test/function/digital_root__merge_1.mcfunction +0 -8
- package/dist/data/test/function/digital_root__merge_4.mcfunction +0 -1
- package/dist/data/test/function/digital_root__then_0.mcfunction +0 -2
- package/dist/data/test/function/digital_root__then_3.mcfunction +0 -2
- package/dist/data/test/function/distance2d_fixed.mcfunction +0 -13
- package/dist/data/test/function/distance3d_fixed.mcfunction +0 -18
- package/dist/data/test/function/divfix.mcfunction +0 -6
- package/dist/data/test/function/divfix__merge_1.mcfunction +0 -6
- package/dist/data/test/function/divfix__then_0.mcfunction +0 -2
- package/dist/data/test/function/dot2d.mcfunction +0 -11
- package/dist/data/test/function/dot3d.mcfunction +0 -17
- package/dist/data/test/function/dump_advanced.mcfunction +0 -1
- package/dist/data/test/function/dump_bigint.mcfunction +0 -1
- package/dist/data/test/function/dump_math.mcfunction +0 -1
- package/dist/data/test/function/ease_in_back.mcfunction +0 -26
- package/dist/data/test/function/ease_in_bounce.mcfunction +0 -9
- package/dist/data/test/function/ease_in_cubic.mcfunction +0 -12
- package/dist/data/test/function/ease_in_expo.mcfunction +0 -6
- package/dist/data/test/function/ease_in_expo__merge_1.mcfunction +0 -11
- package/dist/data/test/function/ease_in_expo__then_0.mcfunction +0 -2
- package/dist/data/test/function/ease_in_out_back.mcfunction +0 -6
- package/dist/data/test/function/ease_in_out_back__merge_1.mcfunction +0 -14
- package/dist/data/test/function/ease_in_out_back__then_0.mcfunction +0 -10
- package/dist/data/test/function/ease_in_out_bounce.mcfunction +0 -6
- package/dist/data/test/function/ease_in_out_bounce__merge_1.mcfunction +0 -14
- package/dist/data/test/function/ease_in_out_bounce__then_0.mcfunction +0 -10
- package/dist/data/test/function/ease_in_out_cubic.mcfunction +0 -6
- package/dist/data/test/function/ease_in_out_cubic__merge_1.mcfunction +0 -17
- package/dist/data/test/function/ease_in_out_cubic__then_0.mcfunction +0 -13
- package/dist/data/test/function/ease_in_out_quad.mcfunction +0 -6
- package/dist/data/test/function/ease_in_out_quad__merge_1.mcfunction +0 -12
- package/dist/data/test/function/ease_in_out_quad__then_0.mcfunction +0 -8
- package/dist/data/test/function/ease_in_out_sine.mcfunction +0 -6
- package/dist/data/test/function/ease_in_out_sine__merge_1.mcfunction +0 -14
- package/dist/data/test/function/ease_in_out_sine__then_0.mcfunction +0 -10
- package/dist/data/test/function/ease_in_quad.mcfunction +0 -7
- package/dist/data/test/function/ease_in_quart.mcfunction +0 -12
- package/dist/data/test/function/ease_in_sine.mcfunction +0 -30
- package/dist/data/test/function/ease_linear.mcfunction +0 -2
- package/dist/data/test/function/ease_out_back.mcfunction +0 -9
- package/dist/data/test/function/ease_out_bounce.mcfunction +0 -7
- package/dist/data/test/function/ease_out_bounce__merge_1.mcfunction +0 -5
- package/dist/data/test/function/ease_out_bounce__merge_4.mcfunction +0 -5
- package/dist/data/test/function/ease_out_bounce__merge_7.mcfunction +0 -15
- package/dist/data/test/function/ease_out_bounce__then_0.mcfunction +0 -11
- package/dist/data/test/function/ease_out_bounce__then_3.mcfunction +0 -15
- package/dist/data/test/function/ease_out_bounce__then_6.mcfunction +0 -15
- package/dist/data/test/function/ease_out_cubic.mcfunction +0 -16
- package/dist/data/test/function/ease_out_expo.mcfunction +0 -6
- package/dist/data/test/function/ease_out_expo__merge_1.mcfunction +0 -8
- package/dist/data/test/function/ease_out_expo__then_0.mcfunction +0 -2
- package/dist/data/test/function/ease_out_quad.mcfunction +0 -11
- package/dist/data/test/function/ease_out_quart.mcfunction +0 -16
- package/dist/data/test/function/ease_out_sine.mcfunction +0 -9
- package/dist/data/test/function/ease_smooth.mcfunction +0 -23
- package/dist/data/test/function/ease_smoother.mcfunction +0 -41
- package/dist/data/test/function/exp_dist_approx.mcfunction +0 -13
- package/dist/data/test/function/exp_dist_approx__merge_1.mcfunction +0 -16
- package/dist/data/test/function/exp_dist_approx__merge_3.mcfunction +0 -11
- package/dist/data/test/function/exp_dist_approx__merge_5.mcfunction +0 -1
- package/dist/data/test/function/exp_dist_approx__then_0.mcfunction +0 -4
- package/dist/data/test/function/exp_dist_approx__then_2.mcfunction +0 -2
- package/dist/data/test/function/exp_dist_approx__then_4.mcfunction +0 -2
- package/dist/data/test/function/exp_fx.mcfunction +0 -16
- package/dist/data/test/function/exp_fx__loop_body_10.mcfunction +0 -8
- package/dist/data/test/function/exp_fx__loop_body_5.mcfunction +0 -8
- package/dist/data/test/function/exp_fx__loop_exit_11.mcfunction +0 -1
- package/dist/data/test/function/exp_fx__loop_exit_6.mcfunction +0 -1
- package/dist/data/test/function/exp_fx__loop_header_4.mcfunction +0 -3
- package/dist/data/test/function/exp_fx__loop_header_9.mcfunction +0 -3
- package/dist/data/test/function/exp_fx__merge_1.mcfunction +0 -47
- package/dist/data/test/function/exp_fx__merge_3.mcfunction +0 -4
- package/dist/data/test/function/exp_fx__merge_8.mcfunction +0 -1
- package/dist/data/test/function/exp_fx__then_0.mcfunction +0 -7
- package/dist/data/test/function/exp_fx__then_2.mcfunction +0 -2
- package/dist/data/test/function/exp_fx__then_7.mcfunction +0 -5
- package/dist/data/test/function/factorial.mcfunction +0 -5
- package/dist/data/test/function/factorial__loop_body_4.mcfunction +0 -7
- package/dist/data/test/function/factorial__loop_exit_5.mcfunction +0 -1
- package/dist/data/test/function/factorial__loop_header_3.mcfunction +0 -3
- package/dist/data/test/function/factorial__merge_1.mcfunction +0 -3
- package/dist/data/test/function/factorial__then_0.mcfunction +0 -2
- package/dist/data/test/function/fbm_1d.mcfunction +0 -9
- package/dist/data/test/function/fbm_1d__loop_body_1.mcfunction +0 -33
- package/dist/data/test/function/fbm_1d__loop_exit_2.mcfunction +0 -5
- package/dist/data/test/function/fbm_1d__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/fbm_1d__merge_4.mcfunction +0 -6
- package/dist/data/test/function/fbm_1d__then_3.mcfunction +0 -2
- package/dist/data/test/function/fbm_2d.mcfunction +0 -10
- package/dist/data/test/function/fbm_2d__loop_body_1.mcfunction +0 -39
- package/dist/data/test/function/fbm_2d__loop_exit_2.mcfunction +0 -5
- package/dist/data/test/function/fbm_2d__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/fbm_2d__merge_4.mcfunction +0 -6
- package/dist/data/test/function/fbm_2d__then_3.mcfunction +0 -2
- package/dist/data/test/function/fib.mcfunction +0 -5
- package/dist/data/test/function/fib__loop_body_7.mcfunction +0 -8
- package/dist/data/test/function/fib__loop_exit_8.mcfunction +0 -1
- package/dist/data/test/function/fib__loop_header_6.mcfunction +0 -3
- package/dist/data/test/function/fib__merge_1.mcfunction +0 -4
- package/dist/data/test/function/fib__merge_4.mcfunction +0 -4
- package/dist/data/test/function/fib__then_0.mcfunction +0 -2
- package/dist/data/test/function/fib__then_3.mcfunction +0 -2
- package/dist/data/test/function/format_time_h.mcfunction +0 -5
- package/dist/data/test/function/format_time_m.mcfunction +0 -8
- package/dist/data/test/function/format_time_s.mcfunction +0 -8
- package/dist/data/test/function/friction_decel.mcfunction +0 -5
- package/dist/data/test/function/friction_decel__merge_1.mcfunction +0 -5
- package/dist/data/test/function/friction_decel__merge_4.mcfunction +0 -2
- package/dist/data/test/function/friction_decel__then_0.mcfunction +0 -3
- package/dist/data/test/function/friction_decel__then_3.mcfunction +0 -3
- package/dist/data/test/function/gamma_int.mcfunction +0 -5
- package/dist/data/test/function/gamma_int__merge_1.mcfunction +0 -6
- package/dist/data/test/function/gamma_int__then_0.mcfunction +0 -2
- package/dist/data/test/function/gcd.mcfunction +0 -7
- package/dist/data/test/function/gcd__loop_body_5.mcfunction +0 -5
- package/dist/data/test/function/gcd__loop_exit_6.mcfunction +0 -1
- package/dist/data/test/function/gcd__loop_header_4.mcfunction +0 -4
- package/dist/data/test/function/gcd__merge_1.mcfunction +0 -5
- package/dist/data/test/function/gcd__merge_3.mcfunction +0 -1
- package/dist/data/test/function/gcd__then_0.mcfunction +0 -4
- package/dist/data/test/function/gcd__then_2.mcfunction +0 -4
- package/dist/data/test/function/gravity_fx.mcfunction +0 -2
- package/dist/data/test/function/hash_1d.mcfunction +0 -15
- package/dist/data/test/function/hash_1d_pos.mcfunction +0 -10
- package/dist/data/test/function/hash_1d_pos__merge_1.mcfunction +0 -4
- package/dist/data/test/function/hash_1d_pos__then_0.mcfunction +0 -4
- package/dist/data/test/function/hash_2d.mcfunction +0 -11
- package/dist/data/test/function/hash_2d_pos.mcfunction +0 -12
- package/dist/data/test/function/hash_2d_pos__merge_1.mcfunction +0 -4
- package/dist/data/test/function/hash_2d_pos__then_0.mcfunction +0 -4
- package/dist/data/test/function/hash_int.mcfunction +0 -6
- package/dist/data/test/function/hash_int__merge_1.mcfunction +0 -14
- package/dist/data/test/function/hash_int__merge_3.mcfunction +0 -14
- package/dist/data/test/function/hash_int__merge_5.mcfunction +0 -1
- package/dist/data/test/function/hash_int__then_0.mcfunction +0 -4
- package/dist/data/test/function/hash_int__then_2.mcfunction +0 -4
- package/dist/data/test/function/hash_int__then_4.mcfunction +0 -4
- package/dist/data/test/function/hsl_to_b.mcfunction +0 -24
- package/dist/data/test/function/hsl_to_b__merge_1.mcfunction +0 -30
- package/dist/data/test/function/hsl_to_b__merge_12.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_b__merge_15.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_b__merge_3.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_b__merge_6.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_b__merge_9.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_b__then_0.mcfunction +0 -4
- package/dist/data/test/function/hsl_to_b__then_11.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_b__then_14.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_b__then_2.mcfunction +0 -1
- package/dist/data/test/function/hsl_to_b__then_5.mcfunction +0 -1
- package/dist/data/test/function/hsl_to_b__then_8.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_g.mcfunction +0 -24
- package/dist/data/test/function/hsl_to_g__merge_1.mcfunction +0 -30
- package/dist/data/test/function/hsl_to_g__merge_12.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_g__merge_15.mcfunction +0 -1
- package/dist/data/test/function/hsl_to_g__merge_3.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_g__merge_6.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_g__merge_9.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_g__then_0.mcfunction +0 -4
- package/dist/data/test/function/hsl_to_g__then_11.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_g__then_14.mcfunction +0 -1
- package/dist/data/test/function/hsl_to_g__then_2.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_g__then_5.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_g__then_8.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_packed.mcfunction +0 -24
- package/dist/data/test/function/hsl_to_r.mcfunction +0 -24
- package/dist/data/test/function/hsl_to_r__merge_1.mcfunction +0 -30
- package/dist/data/test/function/hsl_to_r__merge_12.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_r__merge_15.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_r__merge_3.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_r__merge_6.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_r__merge_9.mcfunction +0 -5
- package/dist/data/test/function/hsl_to_r__then_0.mcfunction +0 -4
- package/dist/data/test/function/hsl_to_r__then_11.mcfunction +0 -1
- package/dist/data/test/function/hsl_to_r__then_14.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_r__then_2.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_r__then_5.mcfunction +0 -3
- package/dist/data/test/function/hsl_to_r__then_8.mcfunction +0 -1
- package/dist/data/test/function/impact_velocity.mcfunction +0 -5
- package/dist/data/test/function/impact_velocity__merge_1.mcfunction +0 -16
- package/dist/data/test/function/impact_velocity__then_0.mcfunction +0 -2
- package/dist/data/test/function/init_trig.mcfunction +0 -1
- package/dist/data/test/function/int32_to_bigint3_hi.mcfunction +0 -5
- package/dist/data/test/function/int32_to_bigint3_hi__merge_1.mcfunction +0 -4
- package/dist/data/test/function/int32_to_bigint3_hi__then_0.mcfunction +0 -4
- package/dist/data/test/function/int32_to_bigint3_lo.mcfunction +0 -5
- package/dist/data/test/function/int32_to_bigint3_lo__merge_1.mcfunction +0 -4
- package/dist/data/test/function/int32_to_bigint3_lo__then_0.mcfunction +0 -4
- package/dist/data/test/function/int32_to_bigint3_mid.mcfunction +0 -5
- package/dist/data/test/function/int32_to_bigint3_mid__merge_1.mcfunction +0 -7
- package/dist/data/test/function/int32_to_bigint3_mid__then_0.mcfunction +0 -4
- package/dist/data/test/function/is_grounded.mcfunction +0 -5
- package/dist/data/test/function/is_grounded__merge_1.mcfunction +0 -2
- package/dist/data/test/function/is_grounded__then_0.mcfunction +0 -2
- package/dist/data/test/function/is_prime.mcfunction +0 -5
- package/dist/data/test/function/is_prime__loop_body_10.mcfunction +0 -6
- package/dist/data/test/function/is_prime__loop_exit_11.mcfunction +0 -2
- package/dist/data/test/function/is_prime__loop_header_9.mcfunction +0 -5
- package/dist/data/test/function/is_prime__merge_1.mcfunction +0 -4
- package/dist/data/test/function/is_prime__merge_13.mcfunction +0 -4
- package/dist/data/test/function/is_prime__merge_4.mcfunction +0 -7
- package/dist/data/test/function/is_prime__merge_7.mcfunction +0 -2
- package/dist/data/test/function/is_prime__then_0.mcfunction +0 -2
- package/dist/data/test/function/is_prime__then_12.mcfunction +0 -2
- package/dist/data/test/function/is_prime__then_3.mcfunction +0 -2
- package/dist/data/test/function/is_prime__then_6.mcfunction +0 -2
- package/dist/data/test/function/isqrt.mcfunction +0 -5
- package/dist/data/test/function/isqrt__loop_body_10.mcfunction +0 -8
- package/dist/data/test/function/isqrt__loop_body_13.mcfunction +0 -11
- package/dist/data/test/function/isqrt__loop_body_7.mcfunction +0 -8
- package/dist/data/test/function/isqrt__loop_exit_11.mcfunction +0 -2
- package/dist/data/test/function/isqrt__loop_exit_14.mcfunction +0 -1
- package/dist/data/test/function/isqrt__loop_exit_8.mcfunction +0 -9
- package/dist/data/test/function/isqrt__loop_header_12.mcfunction +0 -4
- package/dist/data/test/function/isqrt__loop_header_6.mcfunction +0 -4
- package/dist/data/test/function/isqrt__loop_header_9.mcfunction +0 -3
- package/dist/data/test/function/isqrt__merge_1.mcfunction +0 -4
- package/dist/data/test/function/isqrt__merge_16.mcfunction +0 -5
- package/dist/data/test/function/isqrt__merge_4.mcfunction +0 -3
- package/dist/data/test/function/isqrt__then_0.mcfunction +0 -2
- package/dist/data/test/function/isqrt__then_15.mcfunction +0 -1
- package/dist/data/test/function/isqrt__then_3.mcfunction +0 -2
- package/dist/data/test/function/julia_iter.mcfunction +0 -9
- package/dist/data/test/function/julia_iter__loop_body_1.mcfunction +0 -36
- package/dist/data/test/function/julia_iter__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/julia_iter__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/julia_iter__merge_4.mcfunction +0 -4
- package/dist/data/test/function/julia_iter__then_3.mcfunction +0 -1
- package/dist/data/test/function/lambda_demo.mcfunction +0 -2
- package/dist/data/test/function/lcm.mcfunction +0 -11
- package/dist/data/test/function/lcm__merge_1.mcfunction +0 -5
- package/dist/data/test/function/lcm__then_0.mcfunction +0 -2
- package/dist/data/test/function/length2d_fixed.mcfunction +0 -15
- package/dist/data/test/function/length3d_fixed.mcfunction +0 -20
- package/dist/data/test/function/lerp.mcfunction +0 -13
- package/dist/data/test/function/lerp2d_x.mcfunction +0 -13
- package/dist/data/test/function/lerp2d_y.mcfunction +0 -13
- package/dist/data/test/function/lerp_angle.mcfunction +0 -7
- package/dist/data/test/function/lerp_angle__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/lerp_angle__loop_body_4.mcfunction +0 -4
- package/dist/data/test/function/lerp_angle__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/lerp_angle__loop_exit_5.mcfunction +0 -8
- package/dist/data/test/function/lerp_angle__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/lerp_angle__loop_header_3.mcfunction +0 -3
- package/dist/data/test/function/list_avg.mcfunction +0 -9
- package/dist/data/test/function/list_clamp_all.mcfunction +0 -6
- package/dist/data/test/function/list_clamp_all__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_clamp_all__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_clamp_all__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_clamp_all__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_clamp_all__merge_6.mcfunction +0 -4
- package/dist/data/test/function/list_clamp_all__then_3.mcfunction +0 -1
- package/dist/data/test/function/list_clamp_all__then_5.mcfunction +0 -1
- package/dist/data/test/function/list_contains.mcfunction +0 -5
- package/dist/data/test/function/list_contains__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_contains__loop_exit_2.mcfunction +0 -2
- package/dist/data/test/function/list_contains__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_contains__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_contains__then_3.mcfunction +0 -2
- package/dist/data/test/function/list_count_if_gt.mcfunction +0 -6
- package/dist/data/test/function/list_count_if_gt__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_count_if_gt__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_count_if_gt__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_count_if_gt__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_count_if_gt__then_3.mcfunction +0 -4
- package/dist/data/test/function/list_fill.mcfunction +0 -3
- package/dist/data/test/function/list_fill__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_fill__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_fill__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_index_of.mcfunction +0 -5
- package/dist/data/test/function/list_index_of__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_index_of__loop_exit_2.mcfunction +0 -2
- package/dist/data/test/function/list_index_of__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_index_of__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_index_of__then_3.mcfunction +0 -1
- package/dist/data/test/function/list_max.mcfunction +0 -5
- package/dist/data/test/function/list_max3.mcfunction +0 -8
- package/dist/data/test/function/list_max3__merge_1.mcfunction +0 -4
- package/dist/data/test/function/list_max3__merge_3.mcfunction +0 -1
- package/dist/data/test/function/list_max3__then_0.mcfunction +0 -2
- package/dist/data/test/function/list_max3__then_2.mcfunction +0 -2
- package/dist/data/test/function/list_max5.mcfunction +0 -10
- package/dist/data/test/function/list_max5__merge_1.mcfunction +0 -4
- package/dist/data/test/function/list_max5__merge_3.mcfunction +0 -4
- package/dist/data/test/function/list_max5__merge_5.mcfunction +0 -4
- package/dist/data/test/function/list_max5__merge_7.mcfunction +0 -1
- package/dist/data/test/function/list_max5__then_0.mcfunction +0 -2
- package/dist/data/test/function/list_max5__then_2.mcfunction +0 -2
- package/dist/data/test/function/list_max5__then_4.mcfunction +0 -2
- package/dist/data/test/function/list_max5__then_6.mcfunction +0 -2
- package/dist/data/test/function/list_max__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_max__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_max__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_max__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_max__then_3.mcfunction +0 -2
- package/dist/data/test/function/list_min.mcfunction +0 -5
- package/dist/data/test/function/list_min3.mcfunction +0 -8
- package/dist/data/test/function/list_min3__merge_1.mcfunction +0 -4
- package/dist/data/test/function/list_min3__merge_3.mcfunction +0 -1
- package/dist/data/test/function/list_min3__then_0.mcfunction +0 -2
- package/dist/data/test/function/list_min3__then_2.mcfunction +0 -2
- package/dist/data/test/function/list_min5.mcfunction +0 -10
- package/dist/data/test/function/list_min5__merge_1.mcfunction +0 -4
- package/dist/data/test/function/list_min5__merge_3.mcfunction +0 -4
- package/dist/data/test/function/list_min5__merge_5.mcfunction +0 -4
- package/dist/data/test/function/list_min5__merge_7.mcfunction +0 -1
- package/dist/data/test/function/list_min5__then_0.mcfunction +0 -2
- package/dist/data/test/function/list_min5__then_2.mcfunction +0 -2
- package/dist/data/test/function/list_min5__then_4.mcfunction +0 -2
- package/dist/data/test/function/list_min5__then_6.mcfunction +0 -2
- package/dist/data/test/function/list_min__loop_body_1.mcfunction +0 -4
- package/dist/data/test/function/list_min__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_min__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_min__merge_4.mcfunction +0 -4
- package/dist/data/test/function/list_min__then_3.mcfunction +0 -2
- package/dist/data/test/function/list_reverse.mcfunction +0 -6
- package/dist/data/test/function/list_reverse__loop_body_1.mcfunction +0 -9
- package/dist/data/test/function/list_reverse__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_reverse__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/list_sort_asc.mcfunction +0 -4
- package/dist/data/test/function/list_sort_asc__loop_body_1.mcfunction +0 -2
- package/dist/data/test/function/list_sort_asc__loop_body_4.mcfunction +0 -4
- package/dist/data/test/function/list_sort_asc__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_sort_asc__loop_exit_5.mcfunction +0 -4
- package/dist/data/test/function/list_sort_asc__loop_header_0.mcfunction +0 -6
- package/dist/data/test/function/list_sort_asc__loop_header_3.mcfunction +0 -8
- package/dist/data/test/function/list_sort_asc__merge_7.mcfunction +0 -4
- package/dist/data/test/function/list_sort_asc__then_6.mcfunction +0 -1
- package/dist/data/test/function/list_sort_desc.mcfunction +0 -4
- package/dist/data/test/function/list_sort_desc__loop_body_1.mcfunction +0 -2
- package/dist/data/test/function/list_sort_desc__loop_body_4.mcfunction +0 -4
- package/dist/data/test/function/list_sort_desc__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_sort_desc__loop_exit_5.mcfunction +0 -4
- package/dist/data/test/function/list_sort_desc__loop_header_0.mcfunction +0 -6
- package/dist/data/test/function/list_sort_desc__loop_header_3.mcfunction +0 -8
- package/dist/data/test/function/list_sort_desc__merge_7.mcfunction +0 -4
- package/dist/data/test/function/list_sort_desc__then_6.mcfunction +0 -1
- package/dist/data/test/function/list_sum.mcfunction +0 -5
- package/dist/data/test/function/list_sum3.mcfunction +0 -8
- package/dist/data/test/function/list_sum4.mcfunction +0 -11
- package/dist/data/test/function/list_sum5.mcfunction +0 -14
- package/dist/data/test/function/list_sum__loop_body_1.mcfunction +0 -7
- package/dist/data/test/function/list_sum__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/list_sum__loop_header_0.mcfunction +0 -4
- package/dist/data/test/function/ln.mcfunction +0 -9
- package/dist/data/test/function/ln__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/ln__loop_body_4.mcfunction +0 -8
- package/dist/data/test/function/ln__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/ln__loop_exit_5.mcfunction +0 -37
- package/dist/data/test/function/ln__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/ln__loop_header_3.mcfunction +0 -6
- package/dist/data/test/function/load.mcfunction +0 -1
- package/dist/data/test/function/log10_fx.mcfunction +0 -11
- package/dist/data/test/function/log2_fx.mcfunction +0 -11
- package/dist/data/test/function/log2_int.mcfunction +0 -5
- package/dist/data/test/function/log2_int__loop_body_4.mcfunction +0 -8
- package/dist/data/test/function/log2_int__loop_exit_5.mcfunction +0 -1
- package/dist/data/test/function/log2_int__loop_header_3.mcfunction +0 -4
- package/dist/data/test/function/log2_int__merge_1.mcfunction +0 -3
- package/dist/data/test/function/log2_int__then_0.mcfunction +0 -2
- package/dist/data/test/function/loga_fx.mcfunction +0 -10
- package/dist/data/test/function/loga_fx__merge_1.mcfunction +0 -9
- package/dist/data/test/function/loga_fx__then_0.mcfunction +0 -2
- package/dist/data/test/function/mandelbrot_iter.mcfunction +0 -7
- package/dist/data/test/function/mandelbrot_iter__loop_body_1.mcfunction +0 -36
- package/dist/data/test/function/mandelbrot_iter__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/mandelbrot_iter__loop_header_0.mcfunction +0 -3
- package/dist/data/test/function/mandelbrot_iter__merge_4.mcfunction +0 -4
- package/dist/data/test/function/mandelbrot_iter__then_3.mcfunction +0 -1
- package/dist/data/test/function/manhattan.mcfunction +0 -14
- package/dist/data/test/function/manhattan3d.mcfunction +0 -19
- package/dist/data/test/function/manhattan3d__merge_1.mcfunction +0 -4
- package/dist/data/test/function/manhattan3d__merge_3.mcfunction +0 -4
- package/dist/data/test/function/manhattan3d__merge_5.mcfunction +0 -5
- package/dist/data/test/function/manhattan3d__then_0.mcfunction +0 -4
- package/dist/data/test/function/manhattan3d__then_2.mcfunction +0 -4
- package/dist/data/test/function/manhattan3d__then_4.mcfunction +0 -4
- package/dist/data/test/function/manhattan__merge_1.mcfunction +0 -4
- package/dist/data/test/function/manhattan__merge_3.mcfunction +0 -3
- package/dist/data/test/function/manhattan__then_0.mcfunction +0 -4
- package/dist/data/test/function/manhattan__then_2.mcfunction +0 -4
- package/dist/data/test/function/map.mcfunction +0 -12
- package/dist/data/test/function/map__merge_1.mcfunction +0 -11
- package/dist/data/test/function/map__then_0.mcfunction +0 -1
- package/dist/data/test/function/mc_day_angle.mcfunction +0 -16
- package/dist/data/test/function/midpoint.mcfunction +0 -8
- package/dist/data/test/function/mod_pow.mcfunction +0 -7
- package/dist/data/test/function/mod_pow__loop_body_6.mcfunction +0 -7
- package/dist/data/test/function/mod_pow__loop_exit_7.mcfunction +0 -1
- package/dist/data/test/function/mod_pow__loop_header_5.mcfunction +0 -4
- package/dist/data/test/function/mod_pow__merge_1.mcfunction +0 -8
- package/dist/data/test/function/mod_pow__merge_4.mcfunction +0 -2
- package/dist/data/test/function/mod_pow__merge_9.mcfunction +0 -10
- package/dist/data/test/function/mod_pow__then_0.mcfunction +0 -2
- package/dist/data/test/function/mod_pow__then_3.mcfunction +0 -4
- package/dist/data/test/function/mod_pow__then_8.mcfunction +0 -6
- package/dist/data/test/function/mulfix.mcfunction +0 -8
- package/dist/data/test/function/neg2d_x.mcfunction +0 -4
- package/dist/data/test/function/neg2d_y.mcfunction +0 -4
- package/dist/data/test/function/neg3d_x.mcfunction +0 -4
- package/dist/data/test/function/neg3d_y.mcfunction +0 -4
- package/dist/data/test/function/neg3d_z.mcfunction +0 -4
- package/dist/data/test/function/newton_sqrt.mcfunction +0 -5
- package/dist/data/test/function/newton_sqrt__loop_body_7.mcfunction +0 -10
- package/dist/data/test/function/newton_sqrt__loop_exit_8.mcfunction +0 -1
- package/dist/data/test/function/newton_sqrt__loop_header_6.mcfunction +0 -3
- package/dist/data/test/function/newton_sqrt__merge_1.mcfunction +0 -4
- package/dist/data/test/function/newton_sqrt__merge_4.mcfunction +0 -6
- package/dist/data/test/function/newton_sqrt__then_0.mcfunction +0 -2
- package/dist/data/test/function/newton_sqrt__then_3.mcfunction +0 -2
- package/dist/data/test/function/next_lcg.mcfunction +0 -7
- package/dist/data/test/function/noise1d.mcfunction +0 -13
- package/dist/data/test/function/noise1d__merge_1.mcfunction +0 -20
- package/dist/data/test/function/noise1d__merge_3.mcfunction +0 -4
- package/dist/data/test/function/noise1d__merge_5.mcfunction +0 -11
- package/dist/data/test/function/noise1d__then_0.mcfunction +0 -7
- package/dist/data/test/function/noise1d__then_2.mcfunction +0 -4
- package/dist/data/test/function/noise1d__then_4.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12.mcfunction +0 -16
- package/dist/data/test/function/normal_approx12__merge_1.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_11.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_13.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_15.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_17.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_19.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_21.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_23.mcfunction +0 -9
- package/dist/data/test/function/normal_approx12__merge_3.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_5.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_7.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__merge_9.mcfunction +0 -18
- package/dist/data/test/function/normal_approx12__then_0.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_10.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_12.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_14.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_16.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_18.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_2.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_20.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_22.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_4.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_6.mcfunction +0 -4
- package/dist/data/test/function/normal_approx12__then_8.mcfunction +0 -4
- package/dist/data/test/function/normalize2d_x.mcfunction +0 -11
- package/dist/data/test/function/normalize2d_x__merge_1.mcfunction +0 -6
- package/dist/data/test/function/normalize2d_x__then_0.mcfunction +0 -2
- package/dist/data/test/function/normalize2d_y.mcfunction +0 -11
- package/dist/data/test/function/normalize2d_y__merge_1.mcfunction +0 -6
- package/dist/data/test/function/normalize2d_y__then_0.mcfunction +0 -2
- package/dist/data/test/function/parabola_land_t.mcfunction +0 -7
- package/dist/data/test/function/parabola_x.mcfunction +0 -8
- package/dist/data/test/function/parabola_y.mcfunction +0 -17
- package/dist/data/test/function/pcg_next_hi.mcfunction +0 -8
- package/dist/data/test/function/pcg_next_lo.mcfunction +0 -7
- package/dist/data/test/function/pcg_output.mcfunction +0 -15
- package/dist/data/test/function/pcg_output__merge_1.mcfunction +0 -1
- package/dist/data/test/function/pcg_output__then_0.mcfunction +0 -4
- package/dist/data/test/function/popcount.mcfunction +0 -5
- package/dist/data/test/function/popcount__loop_body_1.mcfunction +0 -8
- package/dist/data/test/function/popcount__loop_exit_2.mcfunction +0 -1
- package/dist/data/test/function/popcount__loop_header_0.mcfunction +0 -5
- package/dist/data/test/function/popcount__merge_4.mcfunction +0 -8
- package/dist/data/test/function/popcount__then_3.mcfunction +0 -4
- package/dist/data/test/function/pow_int.mcfunction +0 -6
- package/dist/data/test/function/pow_int__loop_body_4.mcfunction +0 -7
- package/dist/data/test/function/pow_int__loop_exit_5.mcfunction +0 -1
- package/dist/data/test/function/pow_int__loop_header_3.mcfunction +0 -4
- package/dist/data/test/function/pow_int__merge_1.mcfunction +0 -4
- package/dist/data/test/function/pow_int__merge_7.mcfunction +0 -8
- package/dist/data/test/function/pow_int__then_0.mcfunction +0 -2
- package/dist/data/test/function/pow_int__then_6.mcfunction +0 -4
- package/dist/data/test/function/projectile_land_t.mcfunction +0 -5
- package/dist/data/test/function/projectile_land_t__merge_1.mcfunction +0 -7
- package/dist/data/test/function/projectile_land_t__then_0.mcfunction +0 -2
- package/dist/data/test/function/projectile_max_height.mcfunction +0 -10
- package/dist/data/test/function/projectile_vy.mcfunction +0 -9
- package/dist/data/test/function/projectile_x.mcfunction +0 -8
- package/dist/data/test/function/projectile_y.mcfunction +0 -19
- package/dist/data/test/function/ptimer/new.mcfunction +0 -3
- package/dist/data/test/function/ptimer/reset.mcfunction +0 -1
- package/dist/data/test/function/ptimer/tick.mcfunction +0 -8
- package/dist/data/test/function/ptimer/tick__merge_1.mcfunction +0 -2
- package/dist/data/test/function/ptimer/tick__then_0.mcfunction +0 -3
- package/dist/data/test/function/quadratic_disc.mcfunction +0 -12
- package/dist/data/test/function/quadratic_x1.mcfunction +0 -7
- package/dist/data/test/function/quadratic_x1__merge_1.mcfunction +0 -13
- package/dist/data/test/function/quadratic_x1__merge_4.mcfunction +0 -15
- package/dist/data/test/function/quadratic_x1__then_0.mcfunction +0 -2
- package/dist/data/test/function/quadratic_x1__then_3.mcfunction +0 -2
- package/dist/data/test/function/quadratic_x2.mcfunction +0 -7
- package/dist/data/test/function/quadratic_x2__merge_1.mcfunction +0 -13
- package/dist/data/test/function/quadratic_x2__merge_4.mcfunction +0 -15
- package/dist/data/test/function/quadratic_x2__then_0.mcfunction +0 -2
- package/dist/data/test/function/quadratic_x2__then_3.mcfunction +0 -2
- package/dist/data/test/function/quat_cos_half.mcfunction +0 -8
- package/dist/data/test/function/quat_sin_half.mcfunction +0 -8
- package/dist/data/test/function/random_bool.mcfunction +0 -7
- package/dist/data/test/function/random_bool__merge_1.mcfunction +0 -4
- package/dist/data/test/function/random_bool__then_0.mcfunction +0 -4
- package/dist/data/test/function/random_range.mcfunction +0 -9
- package/dist/data/test/function/random_range__merge_1.mcfunction +0 -7
- package/dist/data/test/function/random_range__then_0.mcfunction +0 -4
- package/dist/data/test/function/reverse_int.mcfunction +0 -7
- package/dist/data/test/function/reverse_int__loop_body_3.mcfunction +0 -14
- package/dist/data/test/function/reverse_int__loop_exit_4.mcfunction +0 -4
- package/dist/data/test/function/reverse_int__loop_header_2.mcfunction +0 -4
- package/dist/data/test/function/reverse_int__merge_1.mcfunction +0 -2
- package/dist/data/test/function/reverse_int__merge_6.mcfunction +0 -1
- package/dist/data/test/function/reverse_int__then_0.mcfunction +0 -5
- package/dist/data/test/function/reverse_int__then_5.mcfunction +0 -3
- package/dist/data/test/function/rgb_b.mcfunction +0 -5
- package/dist/data/test/function/rgb_g.mcfunction +0 -8
- package/dist/data/test/function/rgb_lerp.mcfunction +0 -71
- package/dist/data/test/function/rgb_pack.mcfunction +0 -14
- package/dist/data/test/function/rgb_r.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_h.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_h__merge_1.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_h__merge_12.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_h__merge_14.mcfunction +0 -1
- package/dist/data/test/function/rgb_to_h__merge_17.mcfunction +0 -9
- package/dist/data/test/function/rgb_to_h__merge_3.mcfunction +0 -5
- package/dist/data/test/function/rgb_to_h__merge_5.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_h__merge_7.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_h__merge_9.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_h__then_0.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_h__then_11.mcfunction +0 -12
- package/dist/data/test/function/rgb_to_h__then_13.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_h__then_16.mcfunction +0 -9
- package/dist/data/test/function/rgb_to_h__then_2.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_h__then_4.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_h__then_6.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_h__then_8.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_l.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_l__merge_1.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_l__merge_3.mcfunction +0 -5
- package/dist/data/test/function/rgb_to_l__merge_5.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_l__merge_7.mcfunction +0 -9
- package/dist/data/test/function/rgb_to_l__then_0.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_l__then_2.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_l__then_4.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_l__then_6.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_s.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_s__merge_1.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_s__merge_12.mcfunction +0 -10
- package/dist/data/test/function/rgb_to_s__merge_3.mcfunction +0 -5
- package/dist/data/test/function/rgb_to_s__merge_5.mcfunction +0 -4
- package/dist/data/test/function/rgb_to_s__merge_7.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_s__merge_9.mcfunction +0 -13
- package/dist/data/test/function/rgb_to_s__then_0.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_s__then_11.mcfunction +0 -8
- package/dist/data/test/function/rgb_to_s__then_2.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_s__then_4.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_s__then_6.mcfunction +0 -2
- package/dist/data/test/function/rgb_to_s__then_8.mcfunction +0 -2
- package/dist/data/test/function/rotate2d_x.mcfunction +0 -20
- package/dist/data/test/function/rotate2d_y.mcfunction +0 -20
- package/dist/data/test/function/rotate_x_y.mcfunction +0 -28
- package/dist/data/test/function/rotate_x_z.mcfunction +0 -28
- package/dist/data/test/function/rotate_y_x.mcfunction +0 -28
- package/dist/data/test/function/rotate_y_z.mcfunction +0 -30
- package/dist/data/test/function/scale2d_x.mcfunction +0 -8
- package/dist/data/test/function/scale2d_y.mcfunction +0 -8
- package/dist/data/test/function/scale3d_x.mcfunction +0 -8
- package/dist/data/test/function/scale3d_y.mcfunction +0 -8
- package/dist/data/test/function/scale3d_z.mcfunction +0 -8
- package/dist/data/test/function/scale_x.mcfunction +0 -8
- package/dist/data/test/function/scale_y.mcfunction +0 -8
- package/dist/data/test/function/scale_z.mcfunction +0 -8
- package/dist/data/test/function/seconds_to_ticks.mcfunction +0 -5
- package/dist/data/test/function/showcase_load.mcfunction +0 -4
- package/dist/data/test/function/showcase_tick.mcfunction +0 -1
- package/dist/data/test/function/sign.mcfunction +0 -5
- package/dist/data/test/function/sign__merge_1.mcfunction +0 -4
- package/dist/data/test/function/sign__merge_4.mcfunction +0 -2
- package/dist/data/test/function/sign__then_0.mcfunction +0 -2
- package/dist/data/test/function/sign__then_3.mcfunction +0 -2
- package/dist/data/test/function/sin_fixed.mcfunction +0 -9
- package/dist/data/test/function/sin_fixed__merge_1.mcfunction +0 -4
- package/dist/data/test/function/sin_fixed__merge_3.mcfunction +0 -4
- package/dist/data/test/function/sin_fixed__merge_6.mcfunction +0 -4
- package/dist/data/test/function/sin_fixed__merge_9.mcfunction +0 -10
- package/dist/data/test/function/sin_fixed__then_0.mcfunction +0 -4
- package/dist/data/test/function/sin_fixed__then_2.mcfunction +0 -6
- package/dist/data/test/function/sin_fixed__then_5.mcfunction +0 -8
- package/dist/data/test/function/sin_fixed__then_8.mcfunction +0 -10
- package/dist/data/test/function/sin_hp.mcfunction +0 -6
- package/dist/data/test/function/smootherstep.mcfunction +0 -10
- package/dist/data/test/function/smootherstep__merge_1.mcfunction +0 -12
- package/dist/data/test/function/smootherstep__merge_4.mcfunction +0 -4
- package/dist/data/test/function/smootherstep__merge_6.mcfunction +0 -27
- package/dist/data/test/function/smootherstep__then_0.mcfunction +0 -2
- package/dist/data/test/function/smootherstep__then_3.mcfunction +0 -2
- package/dist/data/test/function/smootherstep__then_5.mcfunction +0 -2
- package/dist/data/test/function/smoothstep.mcfunction +0 -10
- package/dist/data/test/function/smoothstep__merge_1.mcfunction +0 -12
- package/dist/data/test/function/smoothstep__merge_4.mcfunction +0 -4
- package/dist/data/test/function/smoothstep__merge_6.mcfunction +0 -15
- package/dist/data/test/function/smoothstep__then_0.mcfunction +0 -2
- package/dist/data/test/function/smoothstep__then_3.mcfunction +0 -2
- package/dist/data/test/function/smoothstep__then_5.mcfunction +0 -2
- package/dist/data/test/function/solve2x2_x.mcfunction +0 -17
- package/dist/data/test/function/solve2x2_x__merge_1.mcfunction +0 -12
- package/dist/data/test/function/solve2x2_x__then_0.mcfunction +0 -2
- package/dist/data/test/function/solve2x2_y.mcfunction +0 -17
- package/dist/data/test/function/solve2x2_y__merge_1.mcfunction +0 -12
- package/dist/data/test/function/solve2x2_y__then_0.mcfunction +0 -2
- package/dist/data/test/function/sort2_max.mcfunction +0 -6
- package/dist/data/test/function/sort2_max__merge_1.mcfunction +0 -1
- package/dist/data/test/function/sort2_max__then_0.mcfunction +0 -1
- package/dist/data/test/function/sort2_min.mcfunction +0 -6
- package/dist/data/test/function/sort2_min__merge_1.mcfunction +0 -1
- package/dist/data/test/function/sort2_min__then_0.mcfunction +0 -1
- package/dist/data/test/function/sort3.mcfunction +0 -11
- package/dist/data/test/function/sort3__merge_1.mcfunction +0 -4
- package/dist/data/test/function/sort3__merge_10.mcfunction +0 -1
- package/dist/data/test/function/sort3__merge_3.mcfunction +0 -4
- package/dist/data/test/function/sort3__merge_5.mcfunction +0 -5
- package/dist/data/test/function/sort3__merge_7.mcfunction +0 -5
- package/dist/data/test/function/sort3__then_0.mcfunction +0 -4
- package/dist/data/test/function/sort3__then_2.mcfunction +0 -4
- package/dist/data/test/function/sort3__then_4.mcfunction +0 -4
- package/dist/data/test/function/sort3__then_6.mcfunction +0 -1
- package/dist/data/test/function/sort3__then_9.mcfunction +0 -1
- package/dist/data/test/function/sort4.mcfunction +0 -13
- package/dist/data/test/function/sort4__merge_1.mcfunction +0 -4
- package/dist/data/test/function/sort4__merge_11.mcfunction +0 -5
- package/dist/data/test/function/sort4__merge_14.mcfunction +0 -5
- package/dist/data/test/function/sort4__merge_17.mcfunction +0 -1
- package/dist/data/test/function/sort4__merge_3.mcfunction +0 -4
- package/dist/data/test/function/sort4__merge_5.mcfunction +0 -4
- package/dist/data/test/function/sort4__merge_7.mcfunction +0 -4
- package/dist/data/test/function/sort4__merge_9.mcfunction +0 -5
- package/dist/data/test/function/sort4__then_0.mcfunction +0 -4
- package/dist/data/test/function/sort4__then_10.mcfunction +0 -1
- package/dist/data/test/function/sort4__then_13.mcfunction +0 -1
- package/dist/data/test/function/sort4__then_16.mcfunction +0 -1
- package/dist/data/test/function/sort4__then_2.mcfunction +0 -4
- package/dist/data/test/function/sort4__then_4.mcfunction +0 -4
- package/dist/data/test/function/sort4__then_6.mcfunction +0 -4
- package/dist/data/test/function/sort4__then_8.mcfunction +0 -4
- package/dist/data/test/function/sort5.mcfunction +0 -15
- package/dist/data/test/function/sort5__merge_1.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_11.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_13.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_15.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_17.mcfunction +0 -5
- package/dist/data/test/function/sort5__merge_19.mcfunction +0 -5
- package/dist/data/test/function/sort5__merge_22.mcfunction +0 -5
- package/dist/data/test/function/sort5__merge_25.mcfunction +0 -5
- package/dist/data/test/function/sort5__merge_28.mcfunction +0 -1
- package/dist/data/test/function/sort5__merge_3.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_5.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_7.mcfunction +0 -4
- package/dist/data/test/function/sort5__merge_9.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_0.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_10.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_12.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_14.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_16.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_18.mcfunction +0 -1
- package/dist/data/test/function/sort5__then_2.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_21.mcfunction +0 -1
- package/dist/data/test/function/sort5__then_24.mcfunction +0 -1
- package/dist/data/test/function/sort5__then_27.mcfunction +0 -1
- package/dist/data/test/function/sort5__then_4.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_6.mcfunction +0 -4
- package/dist/data/test/function/sort5__then_8.mcfunction +0 -4
- package/dist/data/test/function/sphere_contains.mcfunction +0 -29
- package/dist/data/test/function/sphere_contains__merge_1.mcfunction +0 -2
- package/dist/data/test/function/sphere_contains__then_0.mcfunction +0 -2
- package/dist/data/test/function/spiral_ring.mcfunction +0 -5
- package/dist/data/test/function/spiral_ring__merge_1.mcfunction +0 -13
- package/dist/data/test/function/spiral_ring__then_0.mcfunction +0 -2
- package/dist/data/test/function/spring_force.mcfunction +0 -11
- package/dist/data/test/function/spring_update_v.mcfunction +0 -18
- package/dist/data/test/function/sqrt_fixed.mcfunction +0 -8
- package/dist/data/test/function/sqrt_fx.mcfunction +0 -11
- package/dist/data/test/function/start.mcfunction +0 -8
- package/dist/data/test/function/stop.mcfunction +0 -2
- package/dist/data/test/function/stop__foreach_t0.mcfunction +0 -1
- package/dist/data/test/function/sub2d_x.mcfunction +0 -5
- package/dist/data/test/function/sub2d_y.mcfunction +0 -5
- package/dist/data/test/function/sub3d_x.mcfunction +0 -5
- package/dist/data/test/function/sub3d_y.mcfunction +0 -5
- package/dist/data/test/function/sub3d_z.mcfunction +0 -5
- package/dist/data/test/function/terrain_height.mcfunction +0 -24
- package/dist/data/test/function/tick_to_ms.mcfunction +0 -5
- package/dist/data/test/function/tick_to_seconds.mcfunction +0 -5
- package/dist/data/test/function/tile_center.mcfunction +0 -10
- package/dist/data/test/function/tile_of.mcfunction +0 -7
- package/dist/data/test/function/tile_of__merge_1.mcfunction +0 -7
- package/dist/data/test/function/tile_of__then_0.mcfunction +0 -3
- package/dist/data/test/function/timer/done.mcfunction +0 -5
- package/dist/data/test/function/timer/elapsed.mcfunction +0 -2
- package/dist/data/test/function/timer/new.mcfunction +0 -5
- package/dist/data/test/function/timer/pause.mcfunction +0 -1
- package/dist/data/test/function/timer/remaining.mcfunction +0 -10
- package/dist/data/test/function/timer/remaining__merge_1.mcfunction +0 -2
- package/dist/data/test/function/timer/remaining__then_0.mcfunction +0 -1
- package/dist/data/test/function/timer/reset.mcfunction +0 -1
- package/dist/data/test/function/timer/start.mcfunction +0 -1
- package/dist/data/test/function/timer/tick.mcfunction +0 -9
- package/dist/data/test/function/timer/tick__merge_1.mcfunction +0 -1
- package/dist/data/test/function/timer/tick__merge_3.mcfunction +0 -1
- package/dist/data/test/function/timer/tick__then_0.mcfunction +0 -4
- package/dist/data/test/function/timer/tick__then_2.mcfunction +0 -4
- package/dist/data/test/function/uniform_frac.mcfunction +0 -12
- package/dist/data/test/function/uniform_frac__merge_1.mcfunction +0 -4
- package/dist/data/test/function/uniform_frac__then_0.mcfunction +0 -4
- package/dist/data/test/function/uniform_int.mcfunction +0 -14
- package/dist/data/test/function/uniform_int__merge_1.mcfunction +0 -9
- package/dist/data/test/function/uniform_int__then_0.mcfunction +0 -4
- package/dist/data/test/function/uniform_scale.mcfunction +0 -8
- package/dist/data/test/function/update_pos.mcfunction +0 -5
- package/dist/data/test/function/value_noise_1d.mcfunction +0 -14
- package/dist/data/test/function/value_noise_1d__merge_1.mcfunction +0 -39
- package/dist/data/test/function/value_noise_1d__then_0.mcfunction +0 -7
- package/dist/data/test/function/value_noise_2d.mcfunction +0 -15
- package/dist/data/test/function/value_noise_2d__merge_1.mcfunction +0 -13
- package/dist/data/test/function/value_noise_2d__merge_3.mcfunction +0 -98
- package/dist/data/test/function/value_noise_2d__then_0.mcfunction +0 -7
- package/dist/data/test/function/value_noise_2d__then_2.mcfunction +0 -7
- package/dist/data/test/function/water_drag_fx.mcfunction +0 -2
- package/dist/data/test/function/weighted2.mcfunction +0 -17
- package/dist/data/test/function/weighted2__merge_1.mcfunction +0 -6
- package/dist/data/test/function/weighted2__merge_3.mcfunction +0 -2
- package/dist/data/test/function/weighted2__then_0.mcfunction +0 -4
- package/dist/data/test/function/weighted2__then_2.mcfunction +0 -2
- package/dist/data/test/function/weighted3.mcfunction +0 -20
- package/dist/data/test/function/weighted3__merge_1.mcfunction +0 -7
- package/dist/data/test/function/weighted3__merge_3.mcfunction +0 -6
- package/dist/data/test/function/weighted3__merge_6.mcfunction +0 -2
- package/dist/data/test/function/weighted3__then_0.mcfunction +0 -4
- package/dist/data/test/function/weighted3__then_2.mcfunction +0 -2
- package/dist/data/test/function/weighted3__then_5.mcfunction +0 -2
- package/dist/data/turret/function/__load.mcfunction +0 -5
- package/dist/data/turret/function/__tick.mcfunction +0 -4
- package/dist/data/turret/function/__trigger_deploy_turret_dispatch.mcfunction +0 -4
- package/dist/data/turret/function/deploy_turret.mcfunction +0 -8
- package/dist/data/turret/function/turret_tick/at_1.mcfunction +0 -2
- package/dist/data/turret/function/turret_tick/foreach_0.mcfunction +0 -2
- package/dist/data/turret/function/turret_tick/foreach_2.mcfunction +0 -2
- package/dist/data/turret/function/turret_tick/tick_body.mcfunction +0 -3
- package/dist/data/turret/function/turret_tick/tick_skip.mcfunction +0 -1
- package/dist/data/turret/function/turret_tick.mcfunction +0 -5
- package/dist/diagnostics/index.d.ts +0 -44
- package/dist/diagnostics/index.js +0 -140
- package/dist/events/types.d.ts +0 -35
- package/dist/events/types.js +0 -59
- package/dist/formatter/index.d.ts +0 -1
- package/dist/formatter/index.js +0 -26
- package/dist/gcd2.map.json +0 -15
- package/dist/gcd3.map.json +0 -17
- package/dist/gcd_test.map.json +0 -15
- package/dist/index.d.ts +0 -62
- package/dist/ir/builder.d.ts +0 -33
- package/dist/ir/builder.js +0 -99
- package/dist/ir/types.d.ts +0 -132
- package/dist/ir/types.js +0 -15
- package/dist/isqrttest.map.json +0 -15
- package/dist/lexer/index.d.ts +0 -37
- package/dist/lexer/index.js +0 -569
- package/dist/lowering/index.d.ts +0 -188
- package/dist/lowering/index.js +0 -3405
- package/dist/mathtest.map.json +0 -6
- package/dist/mc-test/client.d.ts +0 -128
- package/dist/mc-test/client.js +0 -174
- package/dist/mc-test/runner.d.ts +0 -28
- package/dist/mc-test/runner.js +0 -150
- package/dist/mc-test/setup.d.ts +0 -11
- package/dist/mc-test/setup.js +0 -98
- package/dist/mc-validator/index.d.ts +0 -17
- package/dist/mc-validator/index.js +0 -322
- package/dist/mypack.map.json +0 -27
- package/dist/nbt/index.d.ts +0 -86
- package/dist/nbt/index.js +0 -250
- package/dist/optimizer/commands.d.ts +0 -38
- package/dist/optimizer/commands.js +0 -451
- package/dist/optimizer/dce.d.ts +0 -34
- package/dist/optimizer/dce.js +0 -639
- package/dist/optimizer/passes.d.ts +0 -34
- package/dist/optimizer/passes.js +0 -243
- package/dist/optimizer/structure.d.ts +0 -9
- package/dist/optimizer/structure.js +0 -356
- package/dist/pack.mcmeta +0 -6
- package/dist/parser/index.d.ts +0 -93
- package/dist/parser/index.js +0 -1687
- package/dist/repl.d.ts +0 -16
- package/dist/repl.js +0 -165
- package/dist/reqtest.map.json +0 -4
- package/dist/reqtest2.map.json +0 -4
- package/dist/runtime/index.d.ts +0 -107
- package/dist/runtime/index.js +0 -1409
- package/dist/runtime.map.json +0 -7
- package/dist/src/__tests__/codegen.test.d.ts +0 -1
- package/dist/src/__tests__/codegen.test.js +0 -152
- package/dist/src/__tests__/debug-compile.test.d.ts +0 -1
- package/dist/src/__tests__/debug-compile.test.js +0 -24
- package/dist/src/__tests__/debug-compile2.test.d.ts +0 -1
- package/dist/src/__tests__/debug-compile2.test.js +0 -19
- package/dist/src/__tests__/debug-compile3.test.d.ts +0 -1
- package/dist/src/__tests__/debug-compile3.test.js +0 -22
- package/dist/src/__tests__/debug-wm.test.d.ts +0 -1
- package/dist/src/__tests__/debug-wm.test.js +0 -50
- package/dist/src/__tests__/debug_gen.d.ts +0 -1
- package/dist/src/__tests__/debug_gen.js +0 -24
- package/dist/src/__tests__/debug_scoreboard.test.d.ts +0 -1
- package/dist/src/__tests__/debug_scoreboard.test.js +0 -19
- package/dist/src/__tests__/debug_scoreboard2.test.d.ts +0 -1
- package/dist/src/__tests__/debug_scoreboard2.test.js +0 -27
- package/dist/src/__tests__/debug_scoreboard3.test.d.ts +0 -1
- package/dist/src/__tests__/debug_scoreboard3.test.js +0 -37
- package/dist/src/__tests__/e2e.test.d.ts +0 -6
- package/dist/src/__tests__/e2e.test.js +0 -1789
- package/dist/src/__tests__/entity-types.test.d.ts +0 -1
- package/dist/src/__tests__/entity-types.test.js +0 -203
- package/dist/src/__tests__/lowering.test.d.ts +0 -1
- package/dist/src/__tests__/lowering.test.js +0 -1015
- package/dist/src/__tests__/macro.test.d.ts +0 -8
- package/dist/src/__tests__/macro.test.js +0 -306
- package/dist/src/__tests__/nbt.test.d.ts +0 -1
- package/dist/src/__tests__/nbt.test.js +0 -82
- package/dist/src/__tests__/optimizer-advanced.test.d.ts +0 -1
- package/dist/src/__tests__/optimizer-advanced.test.js +0 -124
- package/dist/src/__tests__/optimizer.test.d.ts +0 -1
- package/dist/src/__tests__/optimizer.test.js +0 -149
- package/dist/src/__tests__/runtime.test.d.ts +0 -1
- package/dist/src/__tests__/runtime.test.js +0 -289
- package/dist/src/__tests__/stdlib-advanced.test.d.ts +0 -4
- package/dist/src/__tests__/stdlib-advanced.test.js +0 -374
- package/dist/src/__tests__/stdlib-bigint.test.d.ts +0 -7
- package/dist/src/__tests__/stdlib-bigint.test.js +0 -426
- package/dist/src/__tests__/stdlib-math.test.d.ts +0 -7
- package/dist/src/__tests__/stdlib-math.test.js +0 -351
- package/dist/src/__tests__/stdlib-vec.test.d.ts +0 -4
- package/dist/src/__tests__/stdlib-vec.test.js +0 -263
- package/dist/src/__tests__/structure-optimizer.test.d.ts +0 -1
- package/dist/src/__tests__/structure-optimizer.test.js +0 -33
- package/dist/src/__tests__/timer-debug.test.d.ts +0 -1
- package/dist/src/__tests__/timer-debug.test.js +0 -33
- package/dist/src/__tests__/var-allocator.test.d.ts +0 -1
- package/dist/src/__tests__/var-allocator.test.js +0 -69
- package/dist/src/codegen/cmdblock/index.d.ts +0 -26
- package/dist/src/codegen/cmdblock/index.js +0 -45
- package/dist/src/codegen/mcfunction/index.d.ts +0 -40
- package/dist/src/codegen/mcfunction/index.js +0 -606
- package/dist/src/codegen/structure/index.d.ts +0 -24
- package/dist/src/codegen/structure/index.js +0 -279
- package/dist/src/codegen/var-allocator.d.ts +0 -45
- package/dist/src/codegen/var-allocator.js +0 -104
- package/dist/src/ir/builder.d.ts +0 -33
- package/dist/src/ir/builder.js +0 -99
- package/dist/src/ir/types.d.ts +0 -132
- package/dist/src/ir/types.js +0 -15
- package/dist/src/lowering/index.d.ts +0 -188
- package/dist/src/lowering/index.js +0 -3405
- package/dist/src/optimizer/commands.d.ts +0 -38
- package/dist/src/optimizer/commands.js +0 -451
- package/dist/src/optimizer/passes.d.ts +0 -34
- package/dist/src/optimizer/passes.js +0 -243
- package/dist/src/optimizer/structure.d.ts +0 -9
- package/dist/src/optimizer/structure.js +0 -356
- package/dist/src2/__tests__/e2e/basic.test.d.ts +0 -8
- package/dist/src2/__tests__/e2e/basic.test.js +0 -140
- package/dist/src2/__tests__/e2e/macros.test.d.ts +0 -9
- package/dist/src2/__tests__/e2e/macros.test.js +0 -182
- package/dist/src2/__tests__/e2e/migrate.test.d.ts +0 -13
- package/dist/src2/__tests__/e2e/migrate.test.js +0 -2739
- package/dist/src2/__tests__/hir/desugar.test.d.ts +0 -1
- package/dist/src2/__tests__/hir/desugar.test.js +0 -234
- package/dist/src2/__tests__/lir/lower.test.d.ts +0 -1
- package/dist/src2/__tests__/lir/lower.test.js +0 -559
- package/dist/src2/__tests__/lir/types.test.d.ts +0 -1
- package/dist/src2/__tests__/lir/types.test.js +0 -185
- package/dist/src2/__tests__/lir/verify.test.d.ts +0 -1
- package/dist/src2/__tests__/lir/verify.test.js +0 -221
- package/dist/src2/__tests__/mir/arithmetic.test.d.ts +0 -1
- package/dist/src2/__tests__/mir/arithmetic.test.js +0 -130
- package/dist/src2/__tests__/mir/control-flow.test.d.ts +0 -1
- package/dist/src2/__tests__/mir/control-flow.test.js +0 -205
- package/dist/src2/__tests__/mir/verify.test.d.ts +0 -1
- package/dist/src2/__tests__/mir/verify.test.js +0 -223
- package/dist/src2/__tests__/optimizer/block_merge.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/block_merge.test.js +0 -78
- package/dist/src2/__tests__/optimizer/branch_simplify.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/branch_simplify.test.js +0 -58
- package/dist/src2/__tests__/optimizer/constant_fold.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/constant_fold.test.js +0 -131
- package/dist/src2/__tests__/optimizer/copy_prop.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/copy_prop.test.js +0 -91
- package/dist/src2/__tests__/optimizer/dce.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/dce.test.js +0 -76
- package/dist/src2/__tests__/optimizer/pipeline.test.d.ts +0 -1
- package/dist/src2/__tests__/optimizer/pipeline.test.js +0 -102
- package/dist/src2/emit/compile.d.ts +0 -19
- package/dist/src2/emit/compile.js +0 -80
- package/dist/src2/emit/index.d.ts +0 -17
- package/dist/src2/emit/index.js +0 -172
- package/dist/src2/hir/lower.d.ts +0 -15
- package/dist/src2/hir/lower.js +0 -378
- package/dist/src2/hir/types.d.ts +0 -373
- package/dist/src2/hir/types.js +0 -16
- package/dist/src2/lir/lower.d.ts +0 -15
- package/dist/src2/lir/lower.js +0 -453
- package/dist/src2/lir/types.d.ts +0 -136
- package/dist/src2/lir/types.js +0 -11
- package/dist/src2/lir/verify.d.ts +0 -14
- package/dist/src2/lir/verify.js +0 -113
- package/dist/src2/mir/lower.d.ts +0 -9
- package/dist/src2/mir/lower.js +0 -1030
- package/dist/src2/mir/macro.d.ts +0 -22
- package/dist/src2/mir/macro.js +0 -168
- package/dist/src2/mir/types.d.ts +0 -183
- package/dist/src2/mir/types.js +0 -11
- package/dist/src2/mir/verify.d.ts +0 -16
- package/dist/src2/mir/verify.js +0 -216
- package/dist/src2/optimizer/block_merge.d.ts +0 -12
- package/dist/src2/optimizer/block_merge.js +0 -84
- package/dist/src2/optimizer/branch_simplify.d.ts +0 -9
- package/dist/src2/optimizer/branch_simplify.js +0 -28
- package/dist/src2/optimizer/constant_fold.d.ts +0 -10
- package/dist/src2/optimizer/constant_fold.js +0 -85
- package/dist/src2/optimizer/copy_prop.d.ts +0 -9
- package/dist/src2/optimizer/copy_prop.js +0 -113
- package/dist/src2/optimizer/dce.d.ts +0 -8
- package/dist/src2/optimizer/dce.js +0 -155
- package/dist/src2/optimizer/pipeline.d.ts +0 -10
- package/dist/src2/optimizer/pipeline.js +0 -42
- package/dist/swap_test.map.json +0 -14
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/typechecker/index.d.ts +0 -61
- package/dist/typechecker/index.js +0 -1034
- package/dist/types/entity-hierarchy.d.ts +0 -29
- package/dist/types/entity-hierarchy.js +0 -107
- /package/dist/{__tests__/cli.test.d.ts → src/__tests__/for-range.test.d.ts} +0 -0
- /package/dist/{__tests__/codegen.test.d.ts → src/__tests__/impl.test.d.ts} +0 -0
|
@@ -346,3 +346,1689 @@ describe('stdlib e2e: vec3d length & distance', () => {
|
|
|
346
346
|
expect(val).toBeLessThanOrEqual(1733)
|
|
347
347
|
})
|
|
348
348
|
})
|
|
349
|
+
|
|
350
|
+
// ===========================================================================
|
|
351
|
+
// Additional stdlib: load sources
|
|
352
|
+
// ===========================================================================
|
|
353
|
+
|
|
354
|
+
const RANDOM_SRC = fs.readFileSync(
|
|
355
|
+
path.join(__dirname, '../../stdlib/random.mcrs'),
|
|
356
|
+
'utf-8',
|
|
357
|
+
)
|
|
358
|
+
const LIST_SRC = fs.readFileSync(
|
|
359
|
+
path.join(__dirname, '../../stdlib/list.mcrs'),
|
|
360
|
+
'utf-8',
|
|
361
|
+
)
|
|
362
|
+
const BIGINT_SRC = fs.readFileSync(
|
|
363
|
+
path.join(__dirname, '../../stdlib/bigint.mcrs'),
|
|
364
|
+
'utf-8',
|
|
365
|
+
)
|
|
366
|
+
const EASING_SRC = fs.readFileSync(
|
|
367
|
+
path.join(__dirname, '../../stdlib/easing.mcrs'),
|
|
368
|
+
'utf-8',
|
|
369
|
+
)
|
|
370
|
+
const NOISE_SRC = fs.readFileSync(
|
|
371
|
+
path.join(__dirname, '../../stdlib/noise.mcrs'),
|
|
372
|
+
'utf-8',
|
|
373
|
+
)
|
|
374
|
+
const SIGNAL_SRC = fs.readFileSync(
|
|
375
|
+
path.join(__dirname, '../../stdlib/signal.mcrs'),
|
|
376
|
+
'utf-8',
|
|
377
|
+
)
|
|
378
|
+
const ADVANCED_SRC = fs.readFileSync(
|
|
379
|
+
path.join(__dirname, '../../stdlib/advanced.mcrs'),
|
|
380
|
+
'utf-8',
|
|
381
|
+
)
|
|
382
|
+
const VEC_SRC_FULL = fs.readFileSync(
|
|
383
|
+
path.join(__dirname, '../../stdlib/vec.mcrs'),
|
|
384
|
+
'utf-8',
|
|
385
|
+
)
|
|
386
|
+
const PARABOLA_SRC = fs.readFileSync(
|
|
387
|
+
path.join(__dirname, '../../stdlib/parabola.mcrs'),
|
|
388
|
+
'utf-8',
|
|
389
|
+
)
|
|
390
|
+
const QUAT_SRC = fs.readFileSync(
|
|
391
|
+
path.join(__dirname, '../../stdlib/quaternion.mcrs'),
|
|
392
|
+
'utf-8',
|
|
393
|
+
)
|
|
394
|
+
const MATH_HP_SRC = fs.readFileSync(
|
|
395
|
+
path.join(__dirname, '../../stdlib/math_hp.mcrs'),
|
|
396
|
+
'utf-8',
|
|
397
|
+
)
|
|
398
|
+
const EXPR_SRC = fs.readFileSync(
|
|
399
|
+
path.join(__dirname, '../../stdlib/expr.mcrs'),
|
|
400
|
+
'utf-8',
|
|
401
|
+
)
|
|
402
|
+
const GEOM_SRC = fs.readFileSync(
|
|
403
|
+
path.join(__dirname, '../../stdlib/geometry.mcrs'),
|
|
404
|
+
'utf-8',
|
|
405
|
+
)
|
|
406
|
+
const COLOR_SRC = fs.readFileSync(
|
|
407
|
+
path.join(__dirname, '../../stdlib/color.mcrs'),
|
|
408
|
+
'utf-8',
|
|
409
|
+
)
|
|
410
|
+
const WORLD_SRC = fs.readFileSync(
|
|
411
|
+
path.join(__dirname, '../../stdlib/world.mcrs'),
|
|
412
|
+
'utf-8',
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
// ===========================================================================
|
|
416
|
+
// math.mcrs — runtime execution (extended)
|
|
417
|
+
// ===========================================================================
|
|
418
|
+
|
|
419
|
+
describe('math.mcrs — runtime execution', () => {
|
|
420
|
+
const rt = makeRuntime(`
|
|
421
|
+
fn test_abs_neg42(): int { return abs(-42); }
|
|
422
|
+
fn test_min_3_7(): int { return min(3, 7); }
|
|
423
|
+
fn test_max_3_7(): int { return max(3, 7); }
|
|
424
|
+
fn test_clamp_15(): int { return clamp(15, 0, 10); }
|
|
425
|
+
fn test_clamp_neg5(): int { return clamp(-5, 0, 10); }
|
|
426
|
+
fn test_isqrt_144(): int { return isqrt(144); }
|
|
427
|
+
fn test_isqrt_2(): int { return isqrt(2); }
|
|
428
|
+
fn test_gcd_12_8(): int { return gcd(12, 8); }
|
|
429
|
+
fn test_lcm_4_6(): int { return lcm(4, 6); }
|
|
430
|
+
fn test_pow_2_10(): int { return pow_int(2, 10); }
|
|
431
|
+
fn test_comb_5_2(): int { return combinations(5, 2); }
|
|
432
|
+
fn test_comb_10_3(): int { return combinations(10, 3); }
|
|
433
|
+
fn test_factorial_5(): int { return factorial(5); }
|
|
434
|
+
fn test_log2_8(): int { return log2_int(8); }
|
|
435
|
+
fn test_log2_1024(): int { return log2_int(1024); }
|
|
436
|
+
fn test_sqrt_fx_40000(): int { return sqrt_fx(40000); }
|
|
437
|
+
fn test_cbrt_fx_27(): int { return cbrt_fx(27); }
|
|
438
|
+
fn test_cbrt_fx_1000(): int { return cbrt_fx(1000); }
|
|
439
|
+
fn test_approx_eq_1(): int { return approx_eq(100, 103, 5); }
|
|
440
|
+
fn test_approx_eq_0(): int { return approx_eq(100, 110, 5); }
|
|
441
|
+
`)
|
|
442
|
+
|
|
443
|
+
test('abs(-42) == 42', () => expect(callAndGetRet(rt, 'test_abs_neg42')).toBe(42))
|
|
444
|
+
test('min(3,7) == 3', () => expect(callAndGetRet(rt, 'test_min_3_7')).toBe(3))
|
|
445
|
+
test('max(3,7) == 7', () => expect(callAndGetRet(rt, 'test_max_3_7')).toBe(7))
|
|
446
|
+
test('clamp(15,0,10) == 10', () => expect(callAndGetRet(rt, 'test_clamp_15')).toBe(10))
|
|
447
|
+
test('clamp(-5,0,10) == 0', () => expect(callAndGetRet(rt, 'test_clamp_neg5')).toBe(0))
|
|
448
|
+
test('isqrt(144) == 12', () => expect(callAndGetRet(rt, 'test_isqrt_144')).toBe(12))
|
|
449
|
+
test('isqrt(2) == 1', () => expect(callAndGetRet(rt, 'test_isqrt_2')).toBe(1))
|
|
450
|
+
test('gcd(12,8) == 4', () => expect(callAndGetRet(rt, 'test_gcd_12_8')).toBe(4))
|
|
451
|
+
test('lcm(4,6) == 12', () => expect(callAndGetRet(rt, 'test_lcm_4_6')).toBe(12))
|
|
452
|
+
test('pow_int(2,10) == 1024', () => expect(callAndGetRet(rt, 'test_pow_2_10')).toBe(1024))
|
|
453
|
+
test('combinations(5,2) == 10', () => expect(callAndGetRet(rt, 'test_comb_5_2')).toBe(10))
|
|
454
|
+
test('combinations(10,3) == 120', () => expect(callAndGetRet(rt, 'test_comb_10_3')).toBe(120))
|
|
455
|
+
test('factorial(5) == 120', () => expect(callAndGetRet(rt, 'test_factorial_5')).toBe(120))
|
|
456
|
+
test('log2_int(8) == 3', () => expect(callAndGetRet(rt, 'test_log2_8')).toBe(3))
|
|
457
|
+
test('log2_int(1024) == 10', () => expect(callAndGetRet(rt, 'test_log2_1024')).toBe(10))
|
|
458
|
+
test('sqrt_fx(40000) == 20000 (√4.0 × 10000 scale, fixed)', () => {
|
|
459
|
+
// sqrt_fx(40000) = √(40000/10000) × 10000 = √4 × 10000 = 20000
|
|
460
|
+
// Implementation: isqrt(40000) * 100 = 200 * 100 = 20000
|
|
461
|
+
const val = callAndGetRet(rt, 'test_sqrt_fx_40000')
|
|
462
|
+
expect(val).toBe(20000)
|
|
463
|
+
})
|
|
464
|
+
test('cbrt_fx(27) == 3', () => expect(callAndGetRet(rt, 'test_cbrt_fx_27')).toBe(3))
|
|
465
|
+
test('cbrt_fx(1000) == 10', () => expect(callAndGetRet(rt, 'test_cbrt_fx_1000')).toBe(10))
|
|
466
|
+
test('approx_eq(100, 103, 5) == 1', () => expect(callAndGetRet(rt, 'test_approx_eq_1')).toBe(1))
|
|
467
|
+
test('approx_eq(100, 110, 5) == 0', () => expect(callAndGetRet(rt, 'test_approx_eq_0')).toBe(0))
|
|
468
|
+
})
|
|
469
|
+
|
|
470
|
+
// ===========================================================================
|
|
471
|
+
// random.mcrs — runtime
|
|
472
|
+
// ===========================================================================
|
|
473
|
+
|
|
474
|
+
describe('random.mcrs — runtime', () => {
|
|
475
|
+
const rt = makeRuntime(`
|
|
476
|
+
fn test_lcg_a(): int { return next_lcg(12345); }
|
|
477
|
+
fn test_lcg_b(): int { return next_lcg(next_lcg(12345)); }
|
|
478
|
+
fn test_rrange(): int { return random_range(next_lcg(99999), 0, 100); }
|
|
479
|
+
fn test_rbool(): int { return random_bool(next_lcg(42)); }
|
|
480
|
+
`, [MATH_SRC, RANDOM_SRC])
|
|
481
|
+
|
|
482
|
+
test('next_lcg produces different values each call', () => {
|
|
483
|
+
const a = callAndGetRet(rt, 'test_lcg_a')
|
|
484
|
+
const b = callAndGetRet(rt, 'test_lcg_b')
|
|
485
|
+
expect(a).not.toBe(b)
|
|
486
|
+
})
|
|
487
|
+
test('random_range stays in bounds [0,100)', () => {
|
|
488
|
+
const val = callAndGetRet(rt, 'test_rrange')
|
|
489
|
+
expect(val).toBeGreaterThanOrEqual(0)
|
|
490
|
+
expect(val).toBeLessThan(100)
|
|
491
|
+
})
|
|
492
|
+
test('random_bool returns 0 or 1', () => {
|
|
493
|
+
const val = callAndGetRet(rt, 'test_rbool')
|
|
494
|
+
expect([0, 1]).toContain(val)
|
|
495
|
+
})
|
|
496
|
+
})
|
|
497
|
+
|
|
498
|
+
// ===========================================================================
|
|
499
|
+
// list.mcrs — runtime
|
|
500
|
+
// ===========================================================================
|
|
501
|
+
|
|
502
|
+
describe('list.mcrs — runtime', () => {
|
|
503
|
+
const rt = makeRuntime(`
|
|
504
|
+
fn test_sort3_min(): int { return sort3(30, 10, 20, 0); }
|
|
505
|
+
fn test_sort3_max(): int { return sort3(30, 10, 20, 2); }
|
|
506
|
+
fn test_sort4_min(): int { return sort4(40, 10, 30, 20, 0); }
|
|
507
|
+
fn test_list_min3(): int { return list_min3(5, 3, 8); }
|
|
508
|
+
fn test_list_max3(): int { return list_max3(5, 3, 8); }
|
|
509
|
+
fn test_avg3(): int { return avg3(10, 20, 30); }
|
|
510
|
+
fn test_weighted2(): int { return weighted2(12345, 1, 1); }
|
|
511
|
+
`, [MATH_SRC, LIST_SRC])
|
|
512
|
+
|
|
513
|
+
test('sort3(30,10,20, 0) == 10 (min)', () => expect(callAndGetRet(rt, 'test_sort3_min')).toBe(10))
|
|
514
|
+
test('sort3(30,10,20, 2) == 30 (max)', () => expect(callAndGetRet(rt, 'test_sort3_max')).toBe(30))
|
|
515
|
+
test('sort4(40,10,30,20, 0) == 10', () => expect(callAndGetRet(rt, 'test_sort4_min')).toBe(10))
|
|
516
|
+
test('list_min3(5,3,8) == 3', () => expect(callAndGetRet(rt, 'test_list_min3')).toBe(3))
|
|
517
|
+
test('list_max3(5,3,8) == 8', () => expect(callAndGetRet(rt, 'test_list_max3')).toBe(8))
|
|
518
|
+
test('avg3(10,20,30) == 20', () => expect(callAndGetRet(rt, 'test_avg3')).toBe(20))
|
|
519
|
+
test('weighted2 returns 0 or 1', () => {
|
|
520
|
+
const val = callAndGetRet(rt, 'test_weighted2')
|
|
521
|
+
expect([0, 1]).toContain(val)
|
|
522
|
+
})
|
|
523
|
+
})
|
|
524
|
+
|
|
525
|
+
// ===========================================================================
|
|
526
|
+
// bigint.mcrs — runtime
|
|
527
|
+
// ===========================================================================
|
|
528
|
+
|
|
529
|
+
describe('bigint.mcrs — runtime', () => {
|
|
530
|
+
// bigint3_add: [0, 9999, 1] + [0, 0, 9999] = [0, 1, 0, 0] overflow mid → [1, 0, 0]
|
|
531
|
+
// Use simpler: add_lo / carry
|
|
532
|
+
const rt = makeRuntime(`
|
|
533
|
+
fn test_bigint3_add_lo(): int { return bigint3_add_lo(9999, 1); }
|
|
534
|
+
fn test_bigint3_carry_lo(): int { return bigint3_carry_lo(9999, 1); }
|
|
535
|
+
fn test_bigint3_add_mid_carry(): int {
|
|
536
|
+
let carry: int = bigint3_carry_lo(9999, 1);
|
|
537
|
+
return bigint3_add_mid(9999, 0, carry);
|
|
538
|
+
}
|
|
539
|
+
fn test_bigint3_carry_mid(): int {
|
|
540
|
+
let carry: int = bigint3_carry_lo(9999, 1);
|
|
541
|
+
return bigint3_carry_mid(9999, 0, carry);
|
|
542
|
+
}
|
|
543
|
+
fn test_bigint3_cmp_gt(): int {
|
|
544
|
+
return bigint3_cmp(1, 0, 0, 0, 9999, 9999);
|
|
545
|
+
}
|
|
546
|
+
fn test_bigint3_cmp_eq(): int {
|
|
547
|
+
return bigint3_cmp(0, 100, 5000, 0, 100, 5000);
|
|
548
|
+
}
|
|
549
|
+
fn test_int32_bigint3_lo(): int { return int32_to_bigint3_lo(1023456789); }
|
|
550
|
+
fn test_int32_bigint3_mid(): int { return int32_to_bigint3_mid(1023456789); }
|
|
551
|
+
fn test_int32_bigint3_hi(): int { return int32_to_bigint3_hi(1023456789); }
|
|
552
|
+
`, [MATH_SRC, BIGINT_SRC])
|
|
553
|
+
|
|
554
|
+
test('bigint3_add_lo(9999,1) == 0 (overflow)', () =>
|
|
555
|
+
expect(callAndGetRet(rt, 'test_bigint3_add_lo')).toBe(0))
|
|
556
|
+
test('bigint3_carry_lo(9999,1) == 1', () =>
|
|
557
|
+
expect(callAndGetRet(rt, 'test_bigint3_carry_lo')).toBe(1))
|
|
558
|
+
test('bigint3_add_mid with carry propagates: (9999+0+1)%10000 == 0', () =>
|
|
559
|
+
expect(callAndGetRet(rt, 'test_bigint3_add_mid_carry')).toBe(0))
|
|
560
|
+
test('bigint3_carry_mid(9999,0,1) == 1 (cascade carry)', () =>
|
|
561
|
+
expect(callAndGetRet(rt, 'test_bigint3_carry_mid')).toBe(1))
|
|
562
|
+
test('bigint3_cmp: [1,0,0] > [0,9999,9999] returns 1', () =>
|
|
563
|
+
expect(callAndGetRet(rt, 'test_bigint3_cmp_gt')).toBe(1))
|
|
564
|
+
test('bigint3_cmp: equal returns 0', () =>
|
|
565
|
+
expect(callAndGetRet(rt, 'test_bigint3_cmp_eq')).toBe(0))
|
|
566
|
+
// 1023456789 = 10 * 10000^2 + 2345 * 10000 + 6789
|
|
567
|
+
test('int32_to_bigint3_lo(1023456789) == 6789', () =>
|
|
568
|
+
expect(callAndGetRet(rt, 'test_int32_bigint3_lo')).toBe(6789))
|
|
569
|
+
test('int32_to_bigint3_mid(1023456789) == 2345', () =>
|
|
570
|
+
expect(callAndGetRet(rt, 'test_int32_bigint3_mid')).toBe(2345))
|
|
571
|
+
test('int32_to_bigint3_hi(1023456789) == 10', () =>
|
|
572
|
+
expect(callAndGetRet(rt, 'test_int32_bigint3_hi')).toBe(10))
|
|
573
|
+
})
|
|
574
|
+
|
|
575
|
+
// ===========================================================================
|
|
576
|
+
// noise.mcrs — runtime
|
|
577
|
+
// ===========================================================================
|
|
578
|
+
|
|
579
|
+
describe('noise.mcrs — runtime', () => {
|
|
580
|
+
const rt = makeRuntime(`
|
|
581
|
+
fn test_hash_det(): int {
|
|
582
|
+
let a: int = hash_1d(42);
|
|
583
|
+
let b: int = hash_1d(42);
|
|
584
|
+
if (a == b) { return 1; }
|
|
585
|
+
return 0;
|
|
586
|
+
}
|
|
587
|
+
fn test_hash_diff(): int {
|
|
588
|
+
let a: int = hash_1d(0);
|
|
589
|
+
let b: int = hash_1d(1);
|
|
590
|
+
if (a != b) { return 1; }
|
|
591
|
+
return 0;
|
|
592
|
+
}
|
|
593
|
+
fn test_hash_1d_pos_in_range(): int {
|
|
594
|
+
let h: int = hash_1d_pos(99);
|
|
595
|
+
if (h >= 0) {
|
|
596
|
+
if (h <= 10000) { return 1; }
|
|
597
|
+
}
|
|
598
|
+
return 0;
|
|
599
|
+
}
|
|
600
|
+
fn test_hash_2d_det(): int {
|
|
601
|
+
let a: int = hash_2d(3, 7);
|
|
602
|
+
let b: int = hash_2d(3, 7);
|
|
603
|
+
if (a == b) { return 1; }
|
|
604
|
+
return 0;
|
|
605
|
+
}
|
|
606
|
+
fn test_vn1d_in_range(): int {
|
|
607
|
+
let v: int = value_noise_1d(15000);
|
|
608
|
+
if (v >= 0) {
|
|
609
|
+
if (v <= 10000) { return 1; }
|
|
610
|
+
}
|
|
611
|
+
return 0;
|
|
612
|
+
}
|
|
613
|
+
fn test_vn1d_det(): int {
|
|
614
|
+
let a: int = value_noise_1d(25000);
|
|
615
|
+
let b: int = value_noise_1d(25000);
|
|
616
|
+
if (a == b) { return 1; }
|
|
617
|
+
return 0;
|
|
618
|
+
}
|
|
619
|
+
fn test_vn1d_at_integer(): int {
|
|
620
|
+
let vn: int = value_noise_1d(20000);
|
|
621
|
+
let h: int = hash_1d_pos(2);
|
|
622
|
+
if (vn == h) { return 1; }
|
|
623
|
+
return 0;
|
|
624
|
+
}
|
|
625
|
+
fn test_vn2d_in_range(): int {
|
|
626
|
+
let v: int = value_noise_2d(15000, 25000);
|
|
627
|
+
if (v >= 0) {
|
|
628
|
+
if (v <= 10000) { return 1; }
|
|
629
|
+
}
|
|
630
|
+
return 0;
|
|
631
|
+
}
|
|
632
|
+
fn test_fbm1d_1oct(): int {
|
|
633
|
+
let f: int = fbm_1d(20000, 1, 5000);
|
|
634
|
+
let v: int = value_noise_1d(20000);
|
|
635
|
+
if (f == v) { return 1; }
|
|
636
|
+
return 0;
|
|
637
|
+
}
|
|
638
|
+
fn test_fbm1d_in_range(): int {
|
|
639
|
+
let v: int = fbm_1d(30000, 3, 5000);
|
|
640
|
+
if (v >= 0) {
|
|
641
|
+
if (v <= 10000) { return 1; }
|
|
642
|
+
}
|
|
643
|
+
return 0;
|
|
644
|
+
}
|
|
645
|
+
fn test_fbm2d_in_range(): int {
|
|
646
|
+
let v: int = fbm_2d(10000, 20000, 2, 6000);
|
|
647
|
+
if (v >= 0) {
|
|
648
|
+
if (v <= 10000) { return 1; }
|
|
649
|
+
}
|
|
650
|
+
return 0;
|
|
651
|
+
}
|
|
652
|
+
fn test_terrain_in_range(): int {
|
|
653
|
+
let h: int = terrain_height(0, 0, 64, 20);
|
|
654
|
+
if (h >= 64) {
|
|
655
|
+
if (h <= 84) { return 1; }
|
|
656
|
+
}
|
|
657
|
+
return 0;
|
|
658
|
+
}
|
|
659
|
+
fn test_terrain_spatial(): int {
|
|
660
|
+
let a: int = terrain_height(0, 0, 64, 20);
|
|
661
|
+
let b: int = terrain_height(7, 13, 64, 20);
|
|
662
|
+
if (a != b) { return 1; }
|
|
663
|
+
return 0;
|
|
664
|
+
}
|
|
665
|
+
`, [MATH_SRC, NOISE_SRC])
|
|
666
|
+
|
|
667
|
+
test('hash_1d is deterministic', () => expect(callAndGetRet(rt, 'test_hash_det')).toBe(1))
|
|
668
|
+
test('hash_1d(0) != hash_1d(1)', () => expect(callAndGetRet(rt, 'test_hash_diff')).toBe(1))
|
|
669
|
+
test('hash_1d_pos returns [0, 10000]', () => expect(callAndGetRet(rt, 'test_hash_1d_pos_in_range')).toBe(1))
|
|
670
|
+
test('hash_2d is deterministic', () => expect(callAndGetRet(rt, 'test_hash_2d_det')).toBe(1))
|
|
671
|
+
test('value_noise_1d returns [0, 10000]', () => expect(callAndGetRet(rt, 'test_vn1d_in_range')).toBe(1))
|
|
672
|
+
test('value_noise_1d is deterministic', () => expect(callAndGetRet(rt, 'test_vn1d_det')).toBe(1))
|
|
673
|
+
test('value_noise_1d at integer boundary == hash_1d_pos', () => expect(callAndGetRet(rt, 'test_vn1d_at_integer')).toBe(1))
|
|
674
|
+
test('value_noise_2d returns [0, 10000]', () => expect(callAndGetRet(rt, 'test_vn2d_in_range')).toBe(1))
|
|
675
|
+
test('fbm_1d(x,1,p) == value_noise_1d(x) (1 octave)', () => expect(callAndGetRet(rt, 'test_fbm1d_1oct')).toBe(1))
|
|
676
|
+
test('fbm_1d returns [0, 10000]', () => expect(callAndGetRet(rt, 'test_fbm1d_in_range')).toBe(1))
|
|
677
|
+
test('fbm_2d returns [0, 10000]', () => expect(callAndGetRet(rt, 'test_fbm2d_in_range')).toBe(1))
|
|
678
|
+
test('terrain_height(0,0,64,20) in [64,84]', () => expect(callAndGetRet(rt, 'test_terrain_in_range')).toBe(1))
|
|
679
|
+
test('terrain_height varies spatially', () => expect(callAndGetRet(rt, 'test_terrain_spatial')).toBe(1))
|
|
680
|
+
})
|
|
681
|
+
|
|
682
|
+
// ===========================================================================
|
|
683
|
+
// signal.mcrs — runtime
|
|
684
|
+
// ===========================================================================
|
|
685
|
+
|
|
686
|
+
describe('signal.mcrs — runtime', () => {
|
|
687
|
+
const rt = makeRuntime(`
|
|
688
|
+
fn test_uniform_int_range(): int {
|
|
689
|
+
let v: int = uniform_int(12345, 0, 10);
|
|
690
|
+
if (v >= 0) { if (v <= 10) { return 1; } }
|
|
691
|
+
return 0;
|
|
692
|
+
}
|
|
693
|
+
fn test_uniform_int_det(): int {
|
|
694
|
+
let a: int = uniform_int(99999, 0, 100);
|
|
695
|
+
let b: int = uniform_int(99999, 0, 100);
|
|
696
|
+
if (a == b) { return 1; }
|
|
697
|
+
return 0;
|
|
698
|
+
}
|
|
699
|
+
fn test_uniform_int_single(): int {
|
|
700
|
+
return uniform_int(42, 5, 5);
|
|
701
|
+
}
|
|
702
|
+
fn test_uniform_frac_range(): int {
|
|
703
|
+
let v: int = uniform_frac(12345);
|
|
704
|
+
if (v >= 0) { if (v <= 10000) { return 1; } }
|
|
705
|
+
return 0;
|
|
706
|
+
}
|
|
707
|
+
fn test_bernoulli_range(): int {
|
|
708
|
+
let v: int = bernoulli(42, 5000);
|
|
709
|
+
if (v >= 0) { if (v <= 1) { return 1; } }
|
|
710
|
+
return 0;
|
|
711
|
+
}
|
|
712
|
+
fn test_bernoulli_always(): int { return bernoulli(42, 10000); }
|
|
713
|
+
fn test_bernoulli_never(): int { return bernoulli(42, 0); }
|
|
714
|
+
fn test_normal_range(): int {
|
|
715
|
+
let v: int = normal_approx12(42);
|
|
716
|
+
if (v >= -60000) { if (v <= 60000) { return 1; } }
|
|
717
|
+
return 0;
|
|
718
|
+
}
|
|
719
|
+
fn test_normal_det(): int {
|
|
720
|
+
let a: int = normal_approx12(100);
|
|
721
|
+
let b: int = normal_approx12(100);
|
|
722
|
+
if (a == b) { return 1; }
|
|
723
|
+
return 0;
|
|
724
|
+
}
|
|
725
|
+
fn test_weighted2_range(): int {
|
|
726
|
+
let v: int = weighted2(12345, 3, 7);
|
|
727
|
+
if (v >= 0) { if (v <= 1) { return 1; } }
|
|
728
|
+
return 0;
|
|
729
|
+
}
|
|
730
|
+
fn test_weighted2_all_on_1(): int { return weighted2(42, 0, 1); }
|
|
731
|
+
fn test_weighted2_all_on_0(): int { return weighted2(42, 1, 0); }
|
|
732
|
+
fn test_weighted3_range(): int {
|
|
733
|
+
let v: int = weighted3(99999, 2, 3, 5);
|
|
734
|
+
if (v >= 0) { if (v <= 2) { return 1; } }
|
|
735
|
+
return 0;
|
|
736
|
+
}
|
|
737
|
+
fn test_weighted3_all_on_2(): int { return weighted3(42, 0, 0, 1); }
|
|
738
|
+
fn test_weighted3_all_on_0(): int { return weighted3(42, 1, 0, 0); }
|
|
739
|
+
fn test_exp_range(): int {
|
|
740
|
+
let v: int = exp_dist_approx(42, 10000);
|
|
741
|
+
if (v >= 0) { if (v <= 100000) { return 1; } }
|
|
742
|
+
return 0;
|
|
743
|
+
}
|
|
744
|
+
fn test_exp_det(): int {
|
|
745
|
+
let a: int = exp_dist_approx(12345, 10000);
|
|
746
|
+
let b: int = exp_dist_approx(12345, 10000);
|
|
747
|
+
if (a == b) { return 1; }
|
|
748
|
+
return 0;
|
|
749
|
+
}
|
|
750
|
+
`, [MATH_SRC, RANDOM_SRC, SIGNAL_SRC])
|
|
751
|
+
|
|
752
|
+
test('uniform_int(seed,0,10) in [0,10]', () => expect(callAndGetRet(rt, 'test_uniform_int_range')).toBe(1))
|
|
753
|
+
test('uniform_int is deterministic', () => expect(callAndGetRet(rt, 'test_uniform_int_det')).toBe(1))
|
|
754
|
+
test('uniform_int(seed,5,5) == 5', () => expect(callAndGetRet(rt, 'test_uniform_int_single')).toBe(5))
|
|
755
|
+
test('uniform_frac returns [0,10000]', () => expect(callAndGetRet(rt, 'test_uniform_frac_range')).toBe(1))
|
|
756
|
+
test('bernoulli returns 0 or 1', () => expect(callAndGetRet(rt, 'test_bernoulli_range')).toBe(1))
|
|
757
|
+
test('bernoulli(seed,10000) == 1 (always)', () => expect(callAndGetRet(rt, 'test_bernoulli_always')).toBe(1))
|
|
758
|
+
test('bernoulli(seed,0) == 0 (never)', () => expect(callAndGetRet(rt, 'test_bernoulli_never')).toBe(0))
|
|
759
|
+
test('normal_approx12 in [-60000,60000]', () => expect(callAndGetRet(rt, 'test_normal_range')).toBe(1))
|
|
760
|
+
test('normal_approx12 is deterministic', () => expect(callAndGetRet(rt, 'test_normal_det')).toBe(1))
|
|
761
|
+
test('weighted2 returns 0 or 1', () => expect(callAndGetRet(rt, 'test_weighted2_range')).toBe(1))
|
|
762
|
+
test('weighted2(seed,0,1) == 1 (all weight on 1)', () => expect(callAndGetRet(rt, 'test_weighted2_all_on_1')).toBe(1))
|
|
763
|
+
test('weighted2(seed,1,0) == 0 (all weight on 0)', () => expect(callAndGetRet(rt, 'test_weighted2_all_on_0')).toBe(0))
|
|
764
|
+
test('weighted3 returns 0,1,2', () => expect(callAndGetRet(rt, 'test_weighted3_range')).toBe(1))
|
|
765
|
+
test('weighted3(seed,0,0,1) == 2 (all weight on 2)', () => expect(callAndGetRet(rt, 'test_weighted3_all_on_2')).toBe(2))
|
|
766
|
+
test('weighted3(seed,1,0,0) == 0 (all weight on 0)', () => expect(callAndGetRet(rt, 'test_weighted3_all_on_0')).toBe(0))
|
|
767
|
+
test('exp_dist_approx in [0,100000]', () => expect(callAndGetRet(rt, 'test_exp_range')).toBe(1))
|
|
768
|
+
test('exp_dist_approx is deterministic', () => expect(callAndGetRet(rt, 'test_exp_det')).toBe(1))
|
|
769
|
+
})
|
|
770
|
+
|
|
771
|
+
// ===========================================================================
|
|
772
|
+
// signal.mcrs — statistical distributions (Gamma, Poisson, NegBin)
|
|
773
|
+
// ===========================================================================
|
|
774
|
+
|
|
775
|
+
describe('signal.mcrs — statistical distributions', () => {
|
|
776
|
+
const rt = makeRuntime(`
|
|
777
|
+
fn test_gamma_pos(): int {
|
|
778
|
+
let v: int = gamma_sample(10000, 10000, 42);
|
|
779
|
+
if (v > 0) { return 1; }
|
|
780
|
+
return 0;
|
|
781
|
+
}
|
|
782
|
+
fn test_poisson_range(): int {
|
|
783
|
+
let v: int = poisson_sample(30000, 42);
|
|
784
|
+
if (v >= 0) { if (v <= 20) { return 1; } }
|
|
785
|
+
return 0;
|
|
786
|
+
}
|
|
787
|
+
fn test_negbin_nonneg(): int {
|
|
788
|
+
let v: int = negative_binomial_sample(1, 5000, 42);
|
|
789
|
+
if (v >= 0) { return 1; }
|
|
790
|
+
return 0;
|
|
791
|
+
}
|
|
792
|
+
`, [MATH_SRC, RANDOM_SRC, SIGNAL_SRC])
|
|
793
|
+
|
|
794
|
+
// Note: gamma_sample uses ln() which has nested while loops — MCRuntime may not
|
|
795
|
+
// produce accurate values. This test only verifies the function compiles and runs.
|
|
796
|
+
test('gamma_sample compiles and returns int', () => expect(typeof callAndGetRet(rt, 'test_gamma_pos')).toBe('number'))
|
|
797
|
+
test('poisson_sample(30000, 42) in [0, 20] (lambda=3)', () => expect(callAndGetRet(rt, 'test_poisson_range')).toBe(1))
|
|
798
|
+
test('negative_binomial_sample(1, 5000, 42) >= 0 (r=1, p=0.5)', () => expect(callAndGetRet(rt, 'test_negbin_nonneg')).toBe(1))
|
|
799
|
+
})
|
|
800
|
+
|
|
801
|
+
// ===========================================================================
|
|
802
|
+
// signal.mcrs — DFT (Discrete Fourier Transform)
|
|
803
|
+
// ===========================================================================
|
|
804
|
+
|
|
805
|
+
describe('signal.mcrs — DFT', () => {
|
|
806
|
+
const rt = makeRuntime(`
|
|
807
|
+
// Uniform signal [10000, 10000, 10000, 10000], n=4
|
|
808
|
+
// DC bin (k=0): real = mean = 10000, imag = 0, magnitude = 10000
|
|
809
|
+
fn test_dft_real_dc(): int {
|
|
810
|
+
return dft_real(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 0);
|
|
811
|
+
}
|
|
812
|
+
fn test_dft_imag_dc(): int {
|
|
813
|
+
return dft_imag(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 0);
|
|
814
|
+
}
|
|
815
|
+
fn test_dft_mag_dc(): int {
|
|
816
|
+
return dft_magnitude(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 0);
|
|
817
|
+
}
|
|
818
|
+
// Uniform signal, k=1: all non-DC bins should be ~0
|
|
819
|
+
fn test_dft_real_k1(): int {
|
|
820
|
+
let v: int = dft_real(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 1);
|
|
821
|
+
if (v < 0) { v = 0 - v; }
|
|
822
|
+
if (v <= 500) { return 1; }
|
|
823
|
+
return 0;
|
|
824
|
+
}
|
|
825
|
+
fn test_dft_mag_k1_near_zero(): int {
|
|
826
|
+
let v: int = dft_magnitude(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 1);
|
|
827
|
+
if (v <= 500) { return 1; }
|
|
828
|
+
return 0;
|
|
829
|
+
}
|
|
830
|
+
fn test_dft_mag_k2_near_zero(): int {
|
|
831
|
+
let v: int = dft_magnitude(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 2);
|
|
832
|
+
if (v <= 500) { return 1; }
|
|
833
|
+
return 0;
|
|
834
|
+
}
|
|
835
|
+
fn test_dft_mag_k3_near_zero(): int {
|
|
836
|
+
let v: int = dft_magnitude(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 3);
|
|
837
|
+
if (v <= 500) { return 1; }
|
|
838
|
+
return 0;
|
|
839
|
+
}
|
|
840
|
+
// n=8 uniform signal: DC = 10000, all other bins near zero
|
|
841
|
+
fn test_dft_real_dc_n8(): int {
|
|
842
|
+
return dft_real(10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 8, 0);
|
|
843
|
+
}
|
|
844
|
+
fn test_dft_mag_k1_n8(): int {
|
|
845
|
+
let v: int = dft_magnitude(10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 8, 1);
|
|
846
|
+
if (v <= 500) { return 1; }
|
|
847
|
+
return 0;
|
|
848
|
+
}
|
|
849
|
+
// _sin45 / _cos45 sanity checks
|
|
850
|
+
fn test_sin45_0(): int { return _sin45(0); }
|
|
851
|
+
fn test_sin45_2(): int { return _sin45(2); }
|
|
852
|
+
fn test_cos45_0(): int { return _cos45(0); }
|
|
853
|
+
fn test_cos45_2(): int { return _cos45(2); }
|
|
854
|
+
`, [MATH_SRC, SIGNAL_SRC])
|
|
855
|
+
|
|
856
|
+
test('_sin45(0) == 0', () => expect(callAndGetRet(rt, 'test_sin45_0')).toBe(0))
|
|
857
|
+
test('_sin45(2) == 10000', () => expect(callAndGetRet(rt, 'test_sin45_2')).toBe(10000))
|
|
858
|
+
test('_cos45(0) == 10000', () => expect(callAndGetRet(rt, 'test_cos45_0')).toBe(10000))
|
|
859
|
+
test('_cos45(2) == 0', () => expect(callAndGetRet(rt, 'test_cos45_2')).toBe(0))
|
|
860
|
+
|
|
861
|
+
test('dft_real(uniform×4, n=4, k=0) == 10000 (DC = mean)', () => expect(callAndGetRet(rt, 'test_dft_real_dc')).toBe(10000))
|
|
862
|
+
test('dft_imag(uniform×4, n=4, k=0) == 0', () => expect(callAndGetRet(rt, 'test_dft_imag_dc')).toBe(0))
|
|
863
|
+
test('dft_magnitude(uniform×4, n=4, k=0) == 10000', () => expect(callAndGetRet(rt, 'test_dft_mag_dc')).toBe(10000))
|
|
864
|
+
test('dft_real(uniform×4, n=4, k=1) ≈ 0 (±500)', () => expect(callAndGetRet(rt, 'test_dft_real_k1')).toBe(1))
|
|
865
|
+
test('dft_magnitude(uniform×4, n=4, k=1) ≤ 500', () => expect(callAndGetRet(rt, 'test_dft_mag_k1_near_zero')).toBe(1))
|
|
866
|
+
test('dft_magnitude(uniform×4, n=4, k=2) ≤ 500', () => expect(callAndGetRet(rt, 'test_dft_mag_k2_near_zero')).toBe(1))
|
|
867
|
+
test('dft_magnitude(uniform×4, n=4, k=3) ≤ 500', () => expect(callAndGetRet(rt, 'test_dft_mag_k3_near_zero')).toBe(1))
|
|
868
|
+
test('dft_real(uniform×8, n=8, k=0) == 10000 (DC = mean)', () => expect(callAndGetRet(rt, 'test_dft_real_dc_n8')).toBe(10000))
|
|
869
|
+
test('dft_magnitude(uniform×8, n=8, k=1) ≤ 500', () => expect(callAndGetRet(rt, 'test_dft_mag_k1_n8')).toBe(1))
|
|
870
|
+
})
|
|
871
|
+
|
|
872
|
+
// ===========================================================================
|
|
873
|
+
// advanced.mcrs — runtime
|
|
874
|
+
// ===========================================================================
|
|
875
|
+
|
|
876
|
+
describe('advanced.mcrs — number theory', () => {
|
|
877
|
+
const rt = makeRuntime(`
|
|
878
|
+
fn test_fib_0(): int { return fib(0); }
|
|
879
|
+
fn test_fib_1(): int { return fib(1); }
|
|
880
|
+
fn test_fib_10(): int { return fib(10); }
|
|
881
|
+
fn test_fib_20(): int { return fib(20); }
|
|
882
|
+
fn test_is_prime_2(): int { return is_prime(2); }
|
|
883
|
+
fn test_is_prime_4(): int { return is_prime(4); }
|
|
884
|
+
fn test_is_prime_97(): int { return is_prime(97); }
|
|
885
|
+
fn test_is_prime_1(): int { return is_prime(1); }
|
|
886
|
+
fn test_collatz_1(): int { return collatz_steps(1); }
|
|
887
|
+
fn test_collatz_6(): int { return collatz_steps(6); }
|
|
888
|
+
fn test_collatz_27(): int { return collatz_steps(27); }
|
|
889
|
+
fn test_digit_sum_123(): int { return digit_sum(123); }
|
|
890
|
+
fn test_digit_sum_0(): int { return digit_sum(0); }
|
|
891
|
+
fn test_count_digits_0(): int { return count_digits(0); }
|
|
892
|
+
fn test_count_digits_100(): int { return count_digits(100); }
|
|
893
|
+
fn test_reverse_12345(): int { return reverse_int(12345); }
|
|
894
|
+
fn test_reverse_neg42(): int { return reverse_int(-42); }
|
|
895
|
+
fn test_mod_pow(): int { return mod_pow(2, 10, 1000); }
|
|
896
|
+
fn test_mod_pow_base(): int { return mod_pow(3, 0, 7); }
|
|
897
|
+
fn test_digital_root_493(): int { return digital_root(493); }
|
|
898
|
+
fn test_digital_root_9(): int { return digital_root(9); }
|
|
899
|
+
fn test_digital_root_0(): int { return digital_root(0); }
|
|
900
|
+
fn test_newton_sqrt_25(): int { return newton_sqrt(25); }
|
|
901
|
+
fn test_newton_sqrt_100(): int { return newton_sqrt(100); }
|
|
902
|
+
fn test_newton_sqrt_2(): int { return newton_sqrt(2); }
|
|
903
|
+
fn test_spiral_ring_1(): int { return spiral_ring(1); }
|
|
904
|
+
fn test_spiral_ring_9(): int { return spiral_ring(9); }
|
|
905
|
+
fn test_spiral_ring_25(): int { return spiral_ring(25); }
|
|
906
|
+
`, [MATH_SRC, ADVANCED_SRC])
|
|
907
|
+
|
|
908
|
+
// fib
|
|
909
|
+
test('fib(0) == 0', () => expect(callAndGetRet(rt, 'test_fib_0')).toBe(0))
|
|
910
|
+
test('fib(1) == 1', () => expect(callAndGetRet(rt, 'test_fib_1')).toBe(1))
|
|
911
|
+
test('fib(10) == 55', () => expect(callAndGetRet(rt, 'test_fib_10')).toBe(55))
|
|
912
|
+
test('fib(20) == 6765', () => expect(callAndGetRet(rt, 'test_fib_20')).toBe(6765))
|
|
913
|
+
|
|
914
|
+
// is_prime
|
|
915
|
+
test('is_prime(2) == 1', () => expect(callAndGetRet(rt, 'test_is_prime_2')).toBe(1))
|
|
916
|
+
test('is_prime(4) == 0', () => expect(callAndGetRet(rt, 'test_is_prime_4')).toBe(0))
|
|
917
|
+
test('is_prime(97) == 1', () => expect(callAndGetRet(rt, 'test_is_prime_97')).toBe(1))
|
|
918
|
+
test('is_prime(1) == 0', () => expect(callAndGetRet(rt, 'test_is_prime_1')).toBe(0))
|
|
919
|
+
|
|
920
|
+
// collatz
|
|
921
|
+
test('collatz_steps(1) == 0', () => expect(callAndGetRet(rt, 'test_collatz_1')).toBe(0))
|
|
922
|
+
test('collatz_steps(6) == 8', () => expect(callAndGetRet(rt, 'test_collatz_6')).toBe(8))
|
|
923
|
+
test('collatz_steps(27) == 111', () => expect(callAndGetRet(rt, 'test_collatz_27')).toBe(111))
|
|
924
|
+
|
|
925
|
+
// digit_sum / count_digits
|
|
926
|
+
test('digit_sum(123) == 6', () => expect(callAndGetRet(rt, 'test_digit_sum_123')).toBe(6))
|
|
927
|
+
test('digit_sum(0) == 0', () => expect(callAndGetRet(rt, 'test_digit_sum_0')).toBe(0))
|
|
928
|
+
test('count_digits(0) == 1', () => expect(callAndGetRet(rt, 'test_count_digits_0')).toBe(1))
|
|
929
|
+
test('count_digits(100) == 3', () => expect(callAndGetRet(rt, 'test_count_digits_100')).toBe(3))
|
|
930
|
+
|
|
931
|
+
// reverse_int
|
|
932
|
+
test('reverse_int(12345) == 54321', () => expect(callAndGetRet(rt, 'test_reverse_12345')).toBe(54321))
|
|
933
|
+
test('reverse_int(-42) == -24', () => expect(callAndGetRet(rt, 'test_reverse_neg42')).toBe(-24))
|
|
934
|
+
|
|
935
|
+
// mod_pow
|
|
936
|
+
test('mod_pow(2, 10, 1000) == 24', () => expect(callAndGetRet(rt, 'test_mod_pow')).toBe(24))
|
|
937
|
+
test('mod_pow(3, 0, 7) == 1 (anything^0 = 1)', () => expect(callAndGetRet(rt, 'test_mod_pow_base')).toBe(1))
|
|
938
|
+
|
|
939
|
+
// digital_root
|
|
940
|
+
test('digital_root(493) == 7', () => expect(callAndGetRet(rt, 'test_digital_root_493')).toBe(7))
|
|
941
|
+
test('digital_root(9) == 9', () => expect(callAndGetRet(rt, 'test_digital_root_9')).toBe(9))
|
|
942
|
+
test('digital_root(0) == 0', () => expect(callAndGetRet(rt, 'test_digital_root_0')).toBe(0))
|
|
943
|
+
|
|
944
|
+
// newton_sqrt
|
|
945
|
+
test('newton_sqrt(25) == 5', () => expect(callAndGetRet(rt, 'test_newton_sqrt_25')).toBe(5))
|
|
946
|
+
test('newton_sqrt(100) == 10', () => expect(callAndGetRet(rt, 'test_newton_sqrt_100')).toBe(10))
|
|
947
|
+
test('newton_sqrt(2) == 1 (floor)', () => expect(callAndGetRet(rt, 'test_newton_sqrt_2')).toBe(1))
|
|
948
|
+
|
|
949
|
+
// spiral_ring
|
|
950
|
+
test('spiral_ring(1) == 0', () => expect(callAndGetRet(rt, 'test_spiral_ring_1')).toBe(0))
|
|
951
|
+
test('spiral_ring(9) == 1', () => expect(callAndGetRet(rt, 'test_spiral_ring_9')).toBe(1))
|
|
952
|
+
test('spiral_ring(25) == 2', () => expect(callAndGetRet(rt, 'test_spiral_ring_25')).toBe(2))
|
|
953
|
+
})
|
|
954
|
+
|
|
955
|
+
describe('advanced.mcrs — curves & fractals', () => {
|
|
956
|
+
const rt = makeRuntime(`
|
|
957
|
+
fn test_bezier_quad_start(): int { return bezier_quad(0, 500, 1000, 0); }
|
|
958
|
+
fn test_bezier_quad_end(): int { return bezier_quad(0, 500, 1000, 1000); }
|
|
959
|
+
fn test_bezier_quad_mid(): int { return bezier_quad(0, 500, 1000, 500); }
|
|
960
|
+
fn test_bezier_quad_arch(): int { return bezier_quad(0, 1000, 0, 500); }
|
|
961
|
+
fn test_bezier_cubic_start(): int { return bezier_cubic(0, 333, 667, 1000, 0); }
|
|
962
|
+
fn test_bezier_cubic_end(): int { return bezier_cubic(0, 333, 667, 1000, 1000); }
|
|
963
|
+
fn test_mandelbrot_in_set(): int { return mandelbrot_iter(-1000, 0, 100); }
|
|
964
|
+
fn test_mandelbrot_outside(): int { return mandelbrot_iter(1000, 0, 100); }
|
|
965
|
+
fn test_hash_int_det(): int {
|
|
966
|
+
let a: int = hash_int(42);
|
|
967
|
+
let b: int = hash_int(42);
|
|
968
|
+
if (a == b) { return 1; }
|
|
969
|
+
return 0;
|
|
970
|
+
}
|
|
971
|
+
fn test_hash_int_diff(): int {
|
|
972
|
+
let a: int = hash_int(0);
|
|
973
|
+
let b: int = hash_int(1);
|
|
974
|
+
if (a != b) { return 1; }
|
|
975
|
+
return 0;
|
|
976
|
+
}
|
|
977
|
+
fn test_noise1d_range(): int {
|
|
978
|
+
let v: int = noise1d(500);
|
|
979
|
+
if (v >= 0) { if (v < 1000) { return 1; } }
|
|
980
|
+
return 0;
|
|
981
|
+
}
|
|
982
|
+
`, [MATH_SRC, ADVANCED_SRC])
|
|
983
|
+
|
|
984
|
+
// bezier_quad
|
|
985
|
+
test('bezier_quad(0,500,1000, t=0) == 0 (start)', () => expect(callAndGetRet(rt, 'test_bezier_quad_start')).toBe(0))
|
|
986
|
+
test('bezier_quad(0,500,1000, t=1000) == 1000 (end)', () => expect(callAndGetRet(rt, 'test_bezier_quad_end')).toBe(1000))
|
|
987
|
+
test('bezier_quad(0,500,1000, t=500) == 500 (midpoint)', () => expect(callAndGetRet(rt, 'test_bezier_quad_mid')).toBe(500))
|
|
988
|
+
test('bezier_quad(0,1000,0, t=500) == 500 (arch)', () => expect(callAndGetRet(rt, 'test_bezier_quad_arch')).toBe(500))
|
|
989
|
+
|
|
990
|
+
// bezier_cubic
|
|
991
|
+
test('bezier_cubic(0,333,667,1000, t=0) == 0 (start)', () => expect(callAndGetRet(rt, 'test_bezier_cubic_start')).toBe(0))
|
|
992
|
+
test('bezier_cubic(0,333,667,1000, t=1000) == 1000 (end)', () => expect(callAndGetRet(rt, 'test_bezier_cubic_end')).toBe(1000))
|
|
993
|
+
|
|
994
|
+
// mandelbrot
|
|
995
|
+
test('mandelbrot_iter(-1000,0,100) == 100 (in set, c=-1+0i)', () => expect(callAndGetRet(rt, 'test_mandelbrot_in_set')).toBe(100))
|
|
996
|
+
test('mandelbrot_iter(1000,0,100) < 100 (outside, escapes quickly)', () => expect(callAndGetRet(rt, 'test_mandelbrot_outside')).toBeLessThan(100))
|
|
997
|
+
|
|
998
|
+
// hash_int
|
|
999
|
+
test('hash_int is deterministic', () => expect(callAndGetRet(rt, 'test_hash_int_det')).toBe(1))
|
|
1000
|
+
test('hash_int(0) != hash_int(1)', () => expect(callAndGetRet(rt, 'test_hash_int_diff')).toBe(1))
|
|
1001
|
+
|
|
1002
|
+
// noise1d
|
|
1003
|
+
test('noise1d(500) in [0, 1000)', () => expect(callAndGetRet(rt, 'test_noise1d_range')).toBe(1))
|
|
1004
|
+
})
|
|
1005
|
+
|
|
1006
|
+
// ===========================================================================
|
|
1007
|
+
// bigint.mcrs — full multiplication (bigint_mul / bigint_sq)
|
|
1008
|
+
// ===========================================================================
|
|
1009
|
+
|
|
1010
|
+
describe('bigint.mcrs — bigint_mul / bigint_sq', () => {
|
|
1011
|
+
const rt = makeRuntime(`
|
|
1012
|
+
// bigint_mul: [0, 0, 3] * [0, 0, 4] = [0, 0, 0, 0, 12]
|
|
1013
|
+
fn test_mul_simple_lo(): int {
|
|
1014
|
+
let a: int[] = [0, 0, 3];
|
|
1015
|
+
let b: int[] = [0, 0, 4];
|
|
1016
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1017
|
+
bigint_mul(a, b, r, 3, 3);
|
|
1018
|
+
return r[5]; // LSB: 3*4=12
|
|
1019
|
+
}
|
|
1020
|
+
fn test_mul_simple_hi(): int {
|
|
1021
|
+
let a: int[] = [0, 0, 3];
|
|
1022
|
+
let b: int[] = [0, 0, 4];
|
|
1023
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1024
|
+
bigint_mul(a, b, r, 3, 3);
|
|
1025
|
+
return r[4]; // should be 0
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
// bigint_mul: [0, 1, 0] * [0, 0, 5000] = [0, 0, 0, 5000, 0, 0]
|
|
1029
|
+
// = 10000 * 5000 = 50,000,000 = [0, 0, 5000, 0] in base 10000
|
|
1030
|
+
// With 3+3=6 chunks: [0, 0, 0, 5000, 0, 0]
|
|
1031
|
+
fn test_mul_carry_chunk(): int {
|
|
1032
|
+
let a: int[] = [0, 1, 0]; // value = 10000
|
|
1033
|
+
let b: int[] = [0, 0, 5000]; // value = 5000
|
|
1034
|
+
// product = 50,000,000 = [0,0,0,5000,0,0] in 6 chunks
|
|
1035
|
+
// a[1]*b[2] -> pos = 1+2+1 = 4, so r[4]=5000
|
|
1036
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1037
|
+
bigint_mul(a, b, r, 3, 3);
|
|
1038
|
+
return r[4]; // 5000
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// bigint_mul: 9999 * 9999 = 99,980,001
|
|
1042
|
+
// bigint3: [0, 0, 9999] * [0, 0, 9999] = 99,980,001
|
|
1043
|
+
// = [0, 0, 0, 9998, 1] in base 10000
|
|
1044
|
+
fn test_mul_max_chunk_lo(): int {
|
|
1045
|
+
let a: int[] = [0, 0, 9999];
|
|
1046
|
+
let b: int[] = [0, 0, 9999];
|
|
1047
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1048
|
+
bigint_mul(a, b, r, 3, 3);
|
|
1049
|
+
return r[5]; // 99980001 % 10000 = 1 (wait: 99980001 = 9998*10000 + 1)... = 1
|
|
1050
|
+
}
|
|
1051
|
+
fn test_mul_max_chunk_hi(): int {
|
|
1052
|
+
let a: int[] = [0, 0, 9999];
|
|
1053
|
+
let b: int[] = [0, 0, 9999];
|
|
1054
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1055
|
+
bigint_mul(a, b, r, 3, 3);
|
|
1056
|
+
return r[4]; // 9998
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
// bigint_sq: [0, 0, 3]^2 = [0, 0, 0, 0, 0, 9]
|
|
1060
|
+
fn test_sq_simple(): int {
|
|
1061
|
+
let a: int[] = [0, 0, 3];
|
|
1062
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1063
|
+
bigint_sq(a, r, 3);
|
|
1064
|
+
return r[5]; // 9
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
// bigint_sq: [0, 0, 100]^2 = [0, 0, 0, 0, 1, 0] (10000)
|
|
1068
|
+
fn test_sq_100_hi(): int {
|
|
1069
|
+
let a: int[] = [0, 0, 100];
|
|
1070
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1071
|
+
bigint_sq(a, r, 3);
|
|
1072
|
+
return r[4]; // 10000/10000 = 1
|
|
1073
|
+
}
|
|
1074
|
+
fn test_sq_100_lo(): int {
|
|
1075
|
+
let a: int[] = [0, 0, 100];
|
|
1076
|
+
let r: int[] = [0, 0, 0, 0, 0, 0];
|
|
1077
|
+
bigint_sq(a, r, 3);
|
|
1078
|
+
return r[5]; // 10000 % 10000 = 0
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
// bigint_mul_result_len
|
|
1082
|
+
fn test_result_len(): int { return bigint_mul_result_len(3, 4); }
|
|
1083
|
+
`, [MATH_SRC, BIGINT_SRC])
|
|
1084
|
+
|
|
1085
|
+
test('bigint_mul([0,0,3], [0,0,4]) lo == 12', () => expect(callAndGetRet(rt, 'test_mul_simple_lo')).toBe(12))
|
|
1086
|
+
test('bigint_mul([0,0,3], [0,0,4]) hi == 0 (no overflow)', () => expect(callAndGetRet(rt, 'test_mul_simple_hi')).toBe(0))
|
|
1087
|
+
test('bigint_mul([0,1,0], [0,0,5000]) chunk[4] == 5000 (carry)', () => expect(callAndGetRet(rt, 'test_mul_carry_chunk')).toBe(5000))
|
|
1088
|
+
test('bigint_mul(9999, 9999) lo == 1', () => expect(callAndGetRet(rt, 'test_mul_max_chunk_lo')).toBe(1))
|
|
1089
|
+
test('bigint_mul(9999, 9999) hi chunk == 9998', () => expect(callAndGetRet(rt, 'test_mul_max_chunk_hi')).toBe(9998))
|
|
1090
|
+
test('bigint_sq([0,0,3]) lo == 9', () => expect(callAndGetRet(rt, 'test_sq_simple')).toBe(9))
|
|
1091
|
+
test('bigint_sq([0,0,100]) chunk[4] == 1 (10000 carry)', () => expect(callAndGetRet(rt, 'test_sq_100_hi')).toBe(1))
|
|
1092
|
+
test('bigint_sq([0,0,100]) chunk[5] == 0', () => expect(callAndGetRet(rt, 'test_sq_100_lo')).toBe(0))
|
|
1093
|
+
test('bigint_mul_result_len(3, 4) == 7', () => expect(callAndGetRet(rt, 'test_result_len')).toBe(7))
|
|
1094
|
+
})
|
|
1095
|
+
|
|
1096
|
+
// ===========================================================================
|
|
1097
|
+
// parabola.mcrs — runtime
|
|
1098
|
+
// ===========================================================================
|
|
1099
|
+
|
|
1100
|
+
describe('parabola.mcrs — ballistic trajectory', () => {
|
|
1101
|
+
const rt = makeRuntime(`
|
|
1102
|
+
// parabola_vx(10, 20) = 10*10000/20 = 5000 (0.5 b/tick)
|
|
1103
|
+
fn test_vx(): int { return parabola_vx(10, 20); }
|
|
1104
|
+
|
|
1105
|
+
// parabola_vz(0, 20) = 0
|
|
1106
|
+
fn test_vz_zero(): int { return parabola_vz(0, 20); }
|
|
1107
|
+
|
|
1108
|
+
// parabola_vy: flat shot (dy=0, t=20) = gravity_half * t^2 / t = 400*400/20 = 8000
|
|
1109
|
+
// = (0 + 400*20*20/10000) / 20 = (0 + 1600) / 20 = 80... wait
|
|
1110
|
+
// g_term = 400 * 20 * 20 / 10000 = 160000/10000 = 16
|
|
1111
|
+
// vy = (0 + 16*10000) / 20... no:
|
|
1112
|
+
// g_term = parabola_gravity_half() * ticks * ticks / 10000 = 400*20*20/10000 = 16
|
|
1113
|
+
// vy = (dy*10000 + g_term) / ticks = (0 + 16) / 20 = 0 (integer division)
|
|
1114
|
+
// Actually: g_term = 400 * 20 * 20 / 10000 = 160000/10000 = 16
|
|
1115
|
+
// vy = (0 + 16) / 20 = 0 (floors!)
|
|
1116
|
+
// That's correct for integer: very small arc over 20 ticks
|
|
1117
|
+
fn test_vy_flat(): int { return parabola_vy(0, 20); }
|
|
1118
|
+
|
|
1119
|
+
// parabola_vy(10, 20): dy=10 blocks up in 20 ticks
|
|
1120
|
+
// g_term = 400*400/10000 = 16 (same)
|
|
1121
|
+
// vy = (10*10000 + 16) / 20 = 100016 / 20 = 5000
|
|
1122
|
+
fn test_vy_up(): int { return parabola_vy(10, 20); }
|
|
1123
|
+
|
|
1124
|
+
// parabola_x(5000, 20) = 5000*20/10000 = 10
|
|
1125
|
+
fn test_x_at_t(): int { return parabola_x(5000, 20); }
|
|
1126
|
+
|
|
1127
|
+
// parabola_y(5000, 20): vy0=5000 (0.5 b/t), at t=20
|
|
1128
|
+
// = 5000*20/10000 - 400*20*20/10000 = 10 - 16 = -6 (landed below)
|
|
1129
|
+
fn test_y_at_t(): int { return parabola_y(5000, 20); }
|
|
1130
|
+
|
|
1131
|
+
// parabola_flight_time(8000): vy0=0.8 b/t
|
|
1132
|
+
// t = 2 * 8000 / 800 = 20
|
|
1133
|
+
fn test_flight_time(): int { return parabola_flight_time(8000); }
|
|
1134
|
+
|
|
1135
|
+
// parabola_max_height(8000): apex at t=8000/800=10
|
|
1136
|
+
// y(10) = 8000*10/10000 - 400*100/10000 = 8 - 4 = 4
|
|
1137
|
+
fn test_max_height(): int { return parabola_max_height(8000); }
|
|
1138
|
+
|
|
1139
|
+
// parabola_in_range(3, 4, 5) = 1 (dist=5, range=5)
|
|
1140
|
+
fn test_in_range(): int { return parabola_in_range(3, 4, 5); }
|
|
1141
|
+
|
|
1142
|
+
// parabola_in_range(3, 4, 4) = 0 (dist=5 > 4)
|
|
1143
|
+
fn test_out_of_range(): int { return parabola_in_range(3, 4, 4); }
|
|
1144
|
+
|
|
1145
|
+
// drag step: step_vx(10000, 9900) = mulfix(10000, 9900) = 10000*9900/1000 = 99000...
|
|
1146
|
+
// mulfix is ×1000 scale: mulfix(a,b) = a*b/1000
|
|
1147
|
+
// 10000 * 9900 / 1000 = 99000
|
|
1148
|
+
fn test_drag_vx(): int { return parabola_step_vx(10000, 9900); }
|
|
1149
|
+
|
|
1150
|
+
// step_vy(10000, 9900) = mulfix(10000 - 800, 9900) = 9200 * 9900 / 1000 = 91080
|
|
1151
|
+
fn test_drag_vy(): int { return parabola_step_vy(10000, 9900); }
|
|
1152
|
+
|
|
1153
|
+
// gravity constant
|
|
1154
|
+
fn test_gravity(): int { return parabola_gravity(); }
|
|
1155
|
+
|
|
1156
|
+
// ticks_for_range(8) = 8*10000/8000 = 10
|
|
1157
|
+
fn test_ticks_range(): int { return parabola_ticks_for_range(8); }
|
|
1158
|
+
`, [MATH_SRC, PARABOLA_SRC])
|
|
1159
|
+
|
|
1160
|
+
test('parabola_gravity() == 800', () => expect(callAndGetRet(rt, 'test_gravity')).toBe(800))
|
|
1161
|
+
test('parabola_vx(10, 20) == 5000', () => expect(callAndGetRet(rt, 'test_vx')).toBe(5000))
|
|
1162
|
+
test('parabola_vz(0, 20) == 0', () => expect(callAndGetRet(rt, 'test_vz_zero')).toBe(0))
|
|
1163
|
+
test('parabola_vy(0, 20) == 0 (flat shot integer floor)', () => expect(callAndGetRet(rt, 'test_vy_flat')).toBe(0))
|
|
1164
|
+
test('parabola_vy(10, 20) == 5000 (arc up 10 blocks)', () => expect(callAndGetRet(rt, 'test_vy_up')).toBe(5000))
|
|
1165
|
+
test('parabola_x(5000, 20) == 10 (0.5 b/t × 20t)', () => expect(callAndGetRet(rt, 'test_x_at_t')).toBe(10))
|
|
1166
|
+
test('parabola_y(5000, 20) == -6 (landed below launch)', () => expect(callAndGetRet(rt, 'test_y_at_t')).toBe(-6))
|
|
1167
|
+
test('parabola_flight_time(8000) == 20 ticks', () => expect(callAndGetRet(rt, 'test_flight_time')).toBe(20))
|
|
1168
|
+
test('parabola_max_height(8000) == 4 blocks', () => expect(callAndGetRet(rt, 'test_max_height')).toBe(4))
|
|
1169
|
+
test('parabola_in_range(3,4,5) == 1 (on boundary)', () => expect(callAndGetRet(rt, 'test_in_range')).toBe(1))
|
|
1170
|
+
test('parabola_in_range(3,4,4) == 0 (out of range)', () => expect(callAndGetRet(rt, 'test_out_of_range')).toBe(0))
|
|
1171
|
+
test('parabola_step_vx(10000, 9900) == 99000 (drag)', () => expect(callAndGetRet(rt, 'test_drag_vx')).toBe(99000))
|
|
1172
|
+
test('parabola_step_vy(10000, 9900) == 91080 (gravity+drag)', () => expect(callAndGetRet(rt, 'test_drag_vy')).toBe(91080))
|
|
1173
|
+
test('parabola_ticks_for_range(8) == 10', () => expect(callAndGetRet(rt, 'test_ticks_range')).toBe(10))
|
|
1174
|
+
})
|
|
1175
|
+
|
|
1176
|
+
// ===========================================================================
|
|
1177
|
+
// quaternion.mcrs — runtime
|
|
1178
|
+
// ===========================================================================
|
|
1179
|
+
|
|
1180
|
+
describe('quaternion.mcrs — rotation math', () => {
|
|
1181
|
+
// Note: sin_fixed/cos_fixed use NBT lookup tables unavailable in MCRuntime.
|
|
1182
|
+
// Tests use pre-computed values directly instead of axis constructor functions.
|
|
1183
|
+
// quat components ×10000: identity=(0,0,0,10000), 90°Y=(0,7071,0,7071)
|
|
1184
|
+
const rt = makeRuntime(`
|
|
1185
|
+
// Identity quaternion constants
|
|
1186
|
+
fn test_identity_w(): int { return quat_identity_w(); }
|
|
1187
|
+
fn test_identity_x(): int { return quat_identity_x(); }
|
|
1188
|
+
|
|
1189
|
+
// Quaternion multiplication: identity * identity = identity
|
|
1190
|
+
fn test_mul_identity_w(): int {
|
|
1191
|
+
return quat_mul_w(0, 0, 0, 10000, 0, 0, 0, 10000);
|
|
1192
|
+
}
|
|
1193
|
+
fn test_mul_identity_x(): int {
|
|
1194
|
+
return quat_mul_x(0, 0, 0, 10000, 0, 0, 0, 10000);
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
// q * q_inv = identity: q=(0,7071,0,7071), conj=(0,-7071,0,7071)
|
|
1198
|
+
fn test_mul_q_conj_w(): int {
|
|
1199
|
+
return quat_mul_w(0, 7071, 0, 7071, 0, -7071, 0, 7071);
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
// Conjugate
|
|
1203
|
+
fn test_conj_w(): int { return quat_conj_w(0, 0, 0, 10000); }
|
|
1204
|
+
fn test_conj_x(): int { return quat_conj_x(7071, 0, 0, 7071); }
|
|
1205
|
+
|
|
1206
|
+
// Magnitude squared of identity: mulfix(10000,10000) = 10000*10000/1000 = 100000
|
|
1207
|
+
fn test_mag_sq_identity(): int { return quat_mag_sq(0, 0, 0, 10000); }
|
|
1208
|
+
|
|
1209
|
+
// Magnitude squared of precomputed 90°Y: (0, 7071, 0, 7071)
|
|
1210
|
+
// mulfix(7071,7071)*2 = 7071*7071/1000 * 2 = 49998 * 2 = 99996
|
|
1211
|
+
fn test_mag_sq_rot(): int { return quat_mag_sq(0, 7071, 0, 7071); }
|
|
1212
|
+
|
|
1213
|
+
// Dot product of identity with itself: mulfix(10000,10000) = 100000
|
|
1214
|
+
fn test_dot_identity(): int {
|
|
1215
|
+
return quat_dot(0, 0, 0, 10000, 0, 0, 0, 10000);
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
// Dot of two identical 90°Y quats
|
|
1219
|
+
fn test_dot_same(): int {
|
|
1220
|
+
return quat_dot(0, 7071, 0, 7071, 0, 7071, 0, 7071);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
// SLERP: lerp between identity and 90°Y at t=0 → identity
|
|
1224
|
+
fn test_slerp_t0_w(): int {
|
|
1225
|
+
return quat_slerp_w(0, 0, 0, 10000, 0, 7071, 0, 7071, 0);
|
|
1226
|
+
}
|
|
1227
|
+
fn test_slerp_t0_y(): int {
|
|
1228
|
+
return quat_slerp_y(0, 0, 0, 10000, 0, 7071, 0, 7071, 0);
|
|
1229
|
+
}
|
|
1230
|
+
// SLERP at t=1000 → second quat (normalized)
|
|
1231
|
+
fn test_slerp_t1000_y(): int {
|
|
1232
|
+
return quat_slerp_y(0, 0, 0, 10000, 0, 7071, 0, 7071, 1000);
|
|
1233
|
+
}
|
|
1234
|
+
fn test_slerp_t1000_w(): int {
|
|
1235
|
+
return quat_slerp_w(0, 0, 0, 10000, 0, 7071, 0, 7071, 1000);
|
|
1236
|
+
}
|
|
1237
|
+
// SLERP midpoint t=500: lerp(identity, 90°Y) → normalize([0, 3535, 0, 13535])
|
|
1238
|
+
fn test_slerp_t500_y(): int {
|
|
1239
|
+
return quat_slerp_y(0, 0, 0, 10000, 0, 7071, 0, 7071, 500);
|
|
1240
|
+
}
|
|
1241
|
+
`, [MATH_SRC, QUAT_SRC])
|
|
1242
|
+
|
|
1243
|
+
test('quat_identity_w() == 10000', () => expect(callAndGetRet(rt, 'test_identity_w')).toBe(10000))
|
|
1244
|
+
test('quat_identity_x() == 0', () => expect(callAndGetRet(rt, 'test_identity_x')).toBe(0))
|
|
1245
|
+
test('quat_mul(identity, identity).w == 100000 (×10000 scale)', () => expect(callAndGetRet(rt, 'test_mul_identity_w')).toBe(100000))
|
|
1246
|
+
test('quat_mul(identity, identity).x == 0', () => expect(callAndGetRet(rt, 'test_mul_identity_x')).toBe(0))
|
|
1247
|
+
test('quat_mul(q, conj(q)).w ≈ 100000 (≈ identity)', () => {
|
|
1248
|
+
const v = callAndGetRet(rt, 'test_mul_q_conj_w')
|
|
1249
|
+
expect(Math.abs(v - 100000)).toBeLessThanOrEqual(200)
|
|
1250
|
+
})
|
|
1251
|
+
test('quat_conj(identity).w == 10000', () => expect(callAndGetRet(rt, 'test_conj_w')).toBe(10000))
|
|
1252
|
+
test('quat_conj([7071,0,0,7071]).x == -7071', () => expect(callAndGetRet(rt, 'test_conj_x')).toBe(-7071))
|
|
1253
|
+
test('quat_mag_sq(identity) == 100000 (mulfix scale)', () => expect(callAndGetRet(rt, 'test_mag_sq_identity')).toBe(100000))
|
|
1254
|
+
test('quat_mag_sq([0,7071,0,7071]) ≈ 99996 (near unit)', () => {
|
|
1255
|
+
const v = callAndGetRet(rt, 'test_mag_sq_rot')
|
|
1256
|
+
expect(Math.abs(v - 100000)).toBeLessThanOrEqual(10)
|
|
1257
|
+
})
|
|
1258
|
+
test('quat_dot(identity, identity) == 100000', () => expect(callAndGetRet(rt, 'test_dot_identity')).toBe(100000))
|
|
1259
|
+
test('quat_dot(q, q) ≈ 99996 (near unit)', () => {
|
|
1260
|
+
const v = callAndGetRet(rt, 'test_dot_same')
|
|
1261
|
+
expect(Math.abs(v - 100000)).toBeLessThanOrEqual(10)
|
|
1262
|
+
})
|
|
1263
|
+
test('quat_slerp(a,b,0).w == 10000 (= a)', () => expect(callAndGetRet(rt, 'test_slerp_t0_w')).toBe(10000))
|
|
1264
|
+
test('quat_slerp(a,b,0).y == 0 (= a)', () => expect(callAndGetRet(rt, 'test_slerp_t0_y')).toBe(0))
|
|
1265
|
+
test('quat_slerp(a,b,1000).y ≈ 7071 (= b normalized)', () => {
|
|
1266
|
+
const v = callAndGetRet(rt, 'test_slerp_t1000_y')
|
|
1267
|
+
expect(Math.abs(v - 7071)).toBeLessThanOrEqual(20)
|
|
1268
|
+
})
|
|
1269
|
+
test('quat_slerp(a,b,1000).w ≈ 7071 (= b normalized)', () => {
|
|
1270
|
+
const v = callAndGetRet(rt, 'test_slerp_t1000_w')
|
|
1271
|
+
expect(Math.abs(v - 7071)).toBeLessThanOrEqual(20)
|
|
1272
|
+
})
|
|
1273
|
+
test('quat_slerp(a,b,500).y > 0 (moving toward b)', () => {
|
|
1274
|
+
const v = callAndGetRet(rt, 'test_slerp_t500_y')
|
|
1275
|
+
expect(v).toBeGreaterThan(0)
|
|
1276
|
+
expect(v).toBeLessThan(7071)
|
|
1277
|
+
})
|
|
1278
|
+
})
|
|
1279
|
+
|
|
1280
|
+
// bezier_quartic and bezier_n — N-order Bezier curves
|
|
1281
|
+
describe('advanced.mcrs — bezier_quartic & bezier_n', () => {
|
|
1282
|
+
const rt = makeRuntime(`
|
|
1283
|
+
fn test_quartic_start(): int { return bezier_quartic(0, 250, 500, 750, 1000, 0); }
|
|
1284
|
+
fn test_quartic_end(): int { return bezier_quartic(0, 250, 500, 750, 1000, 1000); }
|
|
1285
|
+
fn test_quartic_mid(): int { return bezier_quartic(0, 250, 500, 750, 1000, 500); }
|
|
1286
|
+
|
|
1287
|
+
fn test_bezier_n_start(): int {
|
|
1288
|
+
let pts: int[] = [0, 333, 667, 1000];
|
|
1289
|
+
return bezier_n(pts, 4, 0);
|
|
1290
|
+
}
|
|
1291
|
+
fn test_bezier_n_end(): int {
|
|
1292
|
+
let pts: int[] = [0, 333, 667, 1000];
|
|
1293
|
+
return bezier_n(pts, 4, 1000);
|
|
1294
|
+
}
|
|
1295
|
+
`, [MATH_SRC, ADVANCED_SRC, BIGINT_SRC])
|
|
1296
|
+
|
|
1297
|
+
// bezier_quartic
|
|
1298
|
+
test('bezier_quartic(0,250,500,750,1000, t=0) == 0 (start)', () => expect(callAndGetRet(rt, 'test_quartic_start')).toBe(0))
|
|
1299
|
+
test('bezier_quartic(0,250,500,750,1000, t=1000) == 1000 (end)', () => expect(callAndGetRet(rt, 'test_quartic_end')).toBe(1000))
|
|
1300
|
+
test('bezier_quartic(0,250,500,750,1000, t=500) == 500 (uniform midpoint)', () => expect(callAndGetRet(rt, 'test_quartic_mid')).toBe(500))
|
|
1301
|
+
|
|
1302
|
+
// bezier_n
|
|
1303
|
+
test('bezier_n([0,333,667,1000], 4, t=0) == 0 (start = pts[0])', () => expect(callAndGetRet(rt, 'test_bezier_n_start')).toBe(0))
|
|
1304
|
+
test('bezier_n([0,333,667,1000], 4, t=1000) == 1000 (end = pts[n-1])', () => expect(callAndGetRet(rt, 'test_bezier_n_end')).toBe(1000))
|
|
1305
|
+
})
|
|
1306
|
+
|
|
1307
|
+
// ===========================================================================
|
|
1308
|
+
// math_hp.mcrs — ln_hp (Newton-refined high-precision natural log)
|
|
1309
|
+
// ===========================================================================
|
|
1310
|
+
|
|
1311
|
+
describe('math_hp.mcrs — ln_hp', () => {
|
|
1312
|
+
const rt = makeRuntime(`
|
|
1313
|
+
fn test_ln_hp_one(): int { return ln_hp(10000); }
|
|
1314
|
+
fn test_ln_hp_e(): int { return ln_hp(27183); }
|
|
1315
|
+
fn test_ln_hp_2(): int { return ln_hp(20000); }
|
|
1316
|
+
fn test_ln_hp_10(): int { return ln_hp(100000); }
|
|
1317
|
+
fn test_ln_hp_vs_ln_e(): int {
|
|
1318
|
+
// Compare ln_hp(e) and ln(e): ln_hp should be closer to 10000
|
|
1319
|
+
let a: int = ln_hp(27183);
|
|
1320
|
+
let b: int = ln(27183);
|
|
1321
|
+
let da: int = a - 10000;
|
|
1322
|
+
if (da < 0) { da = 0 - da; }
|
|
1323
|
+
let db: int = b - 10000;
|
|
1324
|
+
if (db < 0) { db = 0 - db; }
|
|
1325
|
+
// Return 1 if ln_hp is at least as precise as ln, 0 otherwise
|
|
1326
|
+
if (da <= db) { return 1; }
|
|
1327
|
+
return 0;
|
|
1328
|
+
}
|
|
1329
|
+
`, [MATH_SRC, MATH_HP_SRC])
|
|
1330
|
+
|
|
1331
|
+
test('ln_hp(10000) == 0 (ln(1.0) = 0)', () => expect(callAndGetRet(rt, 'test_ln_hp_one')).toBe(0))
|
|
1332
|
+
test('ln_hp(27183) ≈ 10000 (ln(e) ≈ 1.0)', () => {
|
|
1333
|
+
const v = callAndGetRet(rt, 'test_ln_hp_e')
|
|
1334
|
+
expect(Math.abs(v - 10000)).toBeLessThanOrEqual(5)
|
|
1335
|
+
})
|
|
1336
|
+
test('ln_hp(20000) ≈ 6931 (ln(2) ≈ 0.6931)', () => {
|
|
1337
|
+
const v = callAndGetRet(rt, 'test_ln_hp_2')
|
|
1338
|
+
expect(Math.abs(v - 6931)).toBeLessThanOrEqual(5)
|
|
1339
|
+
})
|
|
1340
|
+
test('ln_hp(100000) ≈ 23026 (ln(10) ≈ 2.3026)', () => {
|
|
1341
|
+
const v = callAndGetRet(rt, 'test_ln_hp_10')
|
|
1342
|
+
expect(Math.abs(v - 23026)).toBeLessThanOrEqual(10)
|
|
1343
|
+
})
|
|
1344
|
+
test('ln_hp is at least as precise as ln for ln(e)', () => {
|
|
1345
|
+
expect(callAndGetRet(rt, 'test_ln_hp_vs_ln_e')).toBe(1)
|
|
1346
|
+
})
|
|
1347
|
+
})
|
|
1348
|
+
|
|
1349
|
+
// ===========================================================================
|
|
1350
|
+
// expr.mcrs — RPN expression evaluator
|
|
1351
|
+
// ===========================================================================
|
|
1352
|
+
|
|
1353
|
+
describe('expr.mcrs — expr_eval', () => {
|
|
1354
|
+
const rt = makeRuntime(`
|
|
1355
|
+
// constant 1.0: tokens = [10000], n=1, x=0
|
|
1356
|
+
fn test_expr_constant(): int {
|
|
1357
|
+
let toks: int[] = [10000];
|
|
1358
|
+
return expr_eval(toks, 1, 0);
|
|
1359
|
+
}
|
|
1360
|
+
// identity f(x)=x: tokens = [-10000], n=1, x=20000
|
|
1361
|
+
fn test_expr_identity(): int {
|
|
1362
|
+
let toks: int[] = [0 - 10000];
|
|
1363
|
+
return expr_eval(toks, 1, 20000);
|
|
1364
|
+
}
|
|
1365
|
+
// 2*x + 1 at x=1.5: tokens = [20000, -10000, -3, 10000, -1], n=5, x=15000
|
|
1366
|
+
// Expected: 20000*15000/10000 + 10000 = 30000 + 10000 = 40000
|
|
1367
|
+
// Use element-by-element assignment to avoid compiler bug with mixed-sign arrays
|
|
1368
|
+
fn test_expr_linear(): int {
|
|
1369
|
+
let toks: int[] = [0, 0, 0, 0, 0];
|
|
1370
|
+
toks[0] = 20000;
|
|
1371
|
+
toks[1] = 0 - 10000;
|
|
1372
|
+
toks[2] = 0 - 3;
|
|
1373
|
+
toks[3] = 10000;
|
|
1374
|
+
toks[4] = 0 - 1;
|
|
1375
|
+
return expr_eval(toks, 5, 15000);
|
|
1376
|
+
}
|
|
1377
|
+
// subtraction: 3.0 - 1.0 = 2.0: tokens = [30000, 10000, -2], n=3, x=0
|
|
1378
|
+
fn test_expr_sub(): int {
|
|
1379
|
+
let toks: int[] = [0, 0, 0];
|
|
1380
|
+
toks[0] = 30000;
|
|
1381
|
+
toks[1] = 10000;
|
|
1382
|
+
toks[2] = 0 - 2;
|
|
1383
|
+
return expr_eval(toks, 3, 0);
|
|
1384
|
+
}
|
|
1385
|
+
// division: 10.0 / 4.0 = 2.5: tokens = [100000, 40000, -4], n=3, x=0
|
|
1386
|
+
fn test_expr_div(): int {
|
|
1387
|
+
let toks: int[] = [0, 0, 0];
|
|
1388
|
+
toks[0] = 100000;
|
|
1389
|
+
toks[1] = 40000;
|
|
1390
|
+
toks[2] = 0 - 4;
|
|
1391
|
+
return expr_eval(toks, 3, 0);
|
|
1392
|
+
}
|
|
1393
|
+
// abs(-3.0) = 3.0: tokens = [-30000, -8], n=2, x=0
|
|
1394
|
+
// -30000 is not a recognized opcode so it falls through to the literal branch
|
|
1395
|
+
fn test_expr_abs(): int {
|
|
1396
|
+
let toks: int[] = [0, 0];
|
|
1397
|
+
toks[0] = 0 - 30000;
|
|
1398
|
+
toks[1] = 0 - 8;
|
|
1399
|
+
return expr_eval(toks, 2, 0);
|
|
1400
|
+
}
|
|
1401
|
+
// sqrt(4.0) = 2.0: tokens = [40000, -7], n=2, x=0
|
|
1402
|
+
fn test_expr_sqrt(): int {
|
|
1403
|
+
let toks: int[] = [0, 0];
|
|
1404
|
+
toks[0] = 40000;
|
|
1405
|
+
toks[1] = 0 - 7;
|
|
1406
|
+
return expr_eval(toks, 2, 0);
|
|
1407
|
+
}
|
|
1408
|
+
`, [MATH_SRC, EXPR_SRC])
|
|
1409
|
+
|
|
1410
|
+
test('expr_eval([10000], 1, 0) == 10000 (constant 1.0)', () => {
|
|
1411
|
+
expect(callAndGetRet(rt, 'test_expr_constant')).toBe(10000)
|
|
1412
|
+
})
|
|
1413
|
+
test('expr_eval([-10000], 1, 20000) == 20000 (identity f(x)=x at x=2.0)', () => {
|
|
1414
|
+
expect(callAndGetRet(rt, 'test_expr_identity')).toBe(20000)
|
|
1415
|
+
})
|
|
1416
|
+
test('expr_eval([20000,-10000,-3,10000,-1], 5, 15000) == 40000 (2*x+1 at x=1.5)', () => {
|
|
1417
|
+
expect(callAndGetRet(rt, 'test_expr_linear')).toBe(40000)
|
|
1418
|
+
})
|
|
1419
|
+
test('expr_eval([30000,10000,-2], 3, 0) == 20000 (3.0 - 1.0 = 2.0)', () => {
|
|
1420
|
+
expect(callAndGetRet(rt, 'test_expr_sub')).toBe(20000)
|
|
1421
|
+
})
|
|
1422
|
+
test('expr_eval([100000,40000,-4], 3, 0) == 25000 (10.0 / 4.0 = 2.5)', () => {
|
|
1423
|
+
expect(callAndGetRet(rt, 'test_expr_div')).toBe(25000)
|
|
1424
|
+
})
|
|
1425
|
+
test('expr_eval([-30000,-8], 2, 0) == 30000 (abs(-3.0) = 3.0)', () => {
|
|
1426
|
+
expect(callAndGetRet(rt, 'test_expr_abs')).toBe(30000)
|
|
1427
|
+
})
|
|
1428
|
+
test('expr_eval([40000,-7], 2, 0) == 20000 (sqrt(4.0) = 2.0)', () => {
|
|
1429
|
+
expect(callAndGetRet(rt, 'test_expr_sqrt')).toBe(20000)
|
|
1430
|
+
})
|
|
1431
|
+
})
|
|
1432
|
+
|
|
1433
|
+
// ===========================================================================
|
|
1434
|
+
// geometry.mcrs — selector helpers (cylinder / cone / sector_2d)
|
|
1435
|
+
// ===========================================================================
|
|
1436
|
+
|
|
1437
|
+
describe('geometry.mcrs — in_cylinder', () => {
|
|
1438
|
+
const rt = makeRuntime(`
|
|
1439
|
+
fn test_cyl_inside(): int {
|
|
1440
|
+
return in_cylinder(0, 0, 0, 0, 0, 20000, 0, 10000);
|
|
1441
|
+
}
|
|
1442
|
+
fn test_cyl_outside_r(): int {
|
|
1443
|
+
return in_cylinder(30000, 0, 0, 0, 0, 20000, 0, 10000);
|
|
1444
|
+
}
|
|
1445
|
+
fn test_cyl_outside_y(): int {
|
|
1446
|
+
return in_cylinder(0, 20000, 0, 0, 0, 20000, 0, 10000);
|
|
1447
|
+
}
|
|
1448
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1449
|
+
|
|
1450
|
+
test('in_cylinder(0,0,0, 0,0, 20000, 0,10000) == 1 (inside)', () =>
|
|
1451
|
+
expect(callAndGetRet(rt, 'test_cyl_inside')).toBe(1))
|
|
1452
|
+
|
|
1453
|
+
test('in_cylinder(30000,0,0, 0,0, 20000, 0,10000) == 0 (outside radius)', () =>
|
|
1454
|
+
expect(callAndGetRet(rt, 'test_cyl_outside_r')).toBe(0))
|
|
1455
|
+
|
|
1456
|
+
test('in_cylinder(0,20000,0, 0,0, 20000, 0,10000) == 0 (outside y range)', () =>
|
|
1457
|
+
expect(callAndGetRet(rt, 'test_cyl_outside_y')).toBe(0))
|
|
1458
|
+
})
|
|
1459
|
+
|
|
1460
|
+
describe('geometry.mcrs — in_cone', () => {
|
|
1461
|
+
// dir_y=1 → upward cone; half_angle_tan=10000 (tan 45°=1.0); height=20000
|
|
1462
|
+
// test point directly above apex: dy=10000, horiz=0 → inside
|
|
1463
|
+
const rt = makeRuntime(`
|
|
1464
|
+
fn test_cone_above(): int {
|
|
1465
|
+
return in_cone(0, 10000, 0, 0, 0, 0, 1, 10000, 20000);
|
|
1466
|
+
}
|
|
1467
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1468
|
+
|
|
1469
|
+
test('in_cone(0,10000,0, 0,0,0, 1, 10000, 20000) == 1 (directly above apex)', () =>
|
|
1470
|
+
expect(callAndGetRet(rt, 'test_cone_above')).toBe(1))
|
|
1471
|
+
})
|
|
1472
|
+
|
|
1473
|
+
describe('geometry.mcrs — in_sector_2d', () => {
|
|
1474
|
+
// dir_angle=0 (+X axis), half_angle≈π/4 (157079), radius=20000
|
|
1475
|
+
// point (10000,0) is at angle 0 → inside
|
|
1476
|
+
// point (-10000,0) is at angle π → outside
|
|
1477
|
+
const rt = makeRuntime(`
|
|
1478
|
+
fn test_sector_front(): int {
|
|
1479
|
+
return in_sector_2d(10000, 0, 0, 0, 0, 157079, 20000);
|
|
1480
|
+
}
|
|
1481
|
+
fn test_sector_behind(): int {
|
|
1482
|
+
return in_sector_2d(-10000, 0, 0, 0, 0, 157079, 20000);
|
|
1483
|
+
}
|
|
1484
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1485
|
+
|
|
1486
|
+
test('in_sector_2d(10000,0, 0,0, 0, 157079, 20000) == 1 (in front, half_angle=π/4)', () =>
|
|
1487
|
+
expect(callAndGetRet(rt, 'test_sector_front')).toBe(1))
|
|
1488
|
+
|
|
1489
|
+
test('in_sector_2d(-10000,0, 0,0, 0, 157079, 20000) == 0 (behind)', () =>
|
|
1490
|
+
expect(callAndGetRet(rt, 'test_sector_behind')).toBe(0))
|
|
1491
|
+
})
|
|
1492
|
+
|
|
1493
|
+
// ===========================================================================
|
|
1494
|
+
// color.mcrs — RGB↔HSL conversion
|
|
1495
|
+
// ===========================================================================
|
|
1496
|
+
|
|
1497
|
+
describe('color.mcrs — rgb_to_l', () => {
|
|
1498
|
+
const rt = makeRuntime(`
|
|
1499
|
+
fn test_l_white(): int { return rgb_to_l(2550000, 2550000, 2550000); }
|
|
1500
|
+
fn test_l_black(): int { return rgb_to_l(0, 0, 0); }
|
|
1501
|
+
`, [COLOR_SRC])
|
|
1502
|
+
|
|
1503
|
+
test('rgb_to_l(2550000, 2550000, 2550000) == 10000 (white L=1.0)', () =>
|
|
1504
|
+
expect(callAndGetRet(rt, 'test_l_white')).toBe(10000))
|
|
1505
|
+
|
|
1506
|
+
test('rgb_to_l(0, 0, 0) == 0 (black L=0)', () =>
|
|
1507
|
+
expect(callAndGetRet(rt, 'test_l_black')).toBe(0))
|
|
1508
|
+
})
|
|
1509
|
+
|
|
1510
|
+
describe('color.mcrs — rgb_to_s', () => {
|
|
1511
|
+
const rt = makeRuntime(`
|
|
1512
|
+
fn test_s_red(): int { return rgb_to_s(2550000, 0, 0); }
|
|
1513
|
+
`, [COLOR_SRC])
|
|
1514
|
+
|
|
1515
|
+
test('rgb_to_s(2550000, 0, 0) > 0 (pure red S > 0)', () =>
|
|
1516
|
+
expect(callAndGetRet(rt, 'test_s_red')).toBeGreaterThan(0))
|
|
1517
|
+
})
|
|
1518
|
+
|
|
1519
|
+
describe('color.mcrs — hsl_to_r', () => {
|
|
1520
|
+
const rt = makeRuntime(`
|
|
1521
|
+
fn test_hsl_r_red(): int { return hsl_to_r(0, 10000, 5000); }
|
|
1522
|
+
`, [COLOR_SRC])
|
|
1523
|
+
|
|
1524
|
+
test('hsl_to_r(0, 10000, 5000) close to 2550000 (red hue)', () =>
|
|
1525
|
+
expect(callAndGetRet(rt, 'test_hsl_r_red')).toBeGreaterThan(2500000))
|
|
1526
|
+
})
|
|
1527
|
+
|
|
1528
|
+
// ===========================================================================
|
|
1529
|
+
// world.mcrs — sun angle helpers
|
|
1530
|
+
// ===========================================================================
|
|
1531
|
+
|
|
1532
|
+
describe('world.mcrs — sun_altitude', () => {
|
|
1533
|
+
// sun_altitude uses sin_fixed which requires storage_get_int — not available
|
|
1534
|
+
// in MCRuntime, so we test sun_azimuth only (pure arithmetic).
|
|
1535
|
+
const rt = makeRuntime(`
|
|
1536
|
+
fn test_azimuth_0(): int { return sun_azimuth(0); }
|
|
1537
|
+
fn test_azimuth_noon(): int { return sun_azimuth(6000); }
|
|
1538
|
+
`, [WORLD_SRC, MATH_SRC])
|
|
1539
|
+
|
|
1540
|
+
test('sun_azimuth(0) == 0', () =>
|
|
1541
|
+
expect(callAndGetRet(rt, 'test_azimuth_0')).toBe(0))
|
|
1542
|
+
|
|
1543
|
+
test('sun_azimuth(6000) == 900000 (quarter day = 90°)', () =>
|
|
1544
|
+
expect(callAndGetRet(rt, 'test_azimuth_noon')).toBe(900000))
|
|
1545
|
+
})
|
|
1546
|
+
|
|
1547
|
+
// ===========================================================================
|
|
1548
|
+
// ADDITIONAL COMPREHENSIVE TESTS — geometry / expr / DFT / color / world
|
|
1549
|
+
// ===========================================================================
|
|
1550
|
+
|
|
1551
|
+
// ---------------------------------------------------------------------------
|
|
1552
|
+
// geometry.mcrs — in_cylinder (extended)
|
|
1553
|
+
// ---------------------------------------------------------------------------
|
|
1554
|
+
|
|
1555
|
+
describe('geometry.mcrs — in_cylinder (extended)', () => {
|
|
1556
|
+
const rt = makeRuntime(`
|
|
1557
|
+
// Point exactly on boundary radius (dx=radius → dx²+dz²=r² → inside)
|
|
1558
|
+
fn test_cyl_boundary(): int {
|
|
1559
|
+
return in_cylinder(20000, 5000, 0, 0, 0, 20000, 0, 10000);
|
|
1560
|
+
}
|
|
1561
|
+
// Point at centre (0,0,0) with y in range → definitely inside
|
|
1562
|
+
fn test_cyl_center(): int {
|
|
1563
|
+
return in_cylinder(0, 5000, 0, 0, 0, 10000, 0, 10000);
|
|
1564
|
+
}
|
|
1565
|
+
// Negative coordinates — point at (-5000, 5000, -5000), centre at (-5000, 0, -5000), r=1000
|
|
1566
|
+
fn test_cyl_neg_coords(): int {
|
|
1567
|
+
return in_cylinder(0 - 5000, 5000, 0 - 5000, 0 - 5000, 0 - 5000, 1000, 0, 10000);
|
|
1568
|
+
}
|
|
1569
|
+
// y exactly at lower boundary y_lo → inside (boundary inclusive)
|
|
1570
|
+
fn test_cyl_y_at_lo(): int {
|
|
1571
|
+
return in_cylinder(0, 0, 0, 0, 0, 10000, 0, 10000);
|
|
1572
|
+
}
|
|
1573
|
+
// y exactly at upper boundary y_hi → inside (boundary inclusive)
|
|
1574
|
+
fn test_cyl_y_at_hi(): int {
|
|
1575
|
+
return in_cylinder(0, 10000, 0, 0, 0, 10000, 0, 10000);
|
|
1576
|
+
}
|
|
1577
|
+
// y just below lower boundary → outside
|
|
1578
|
+
fn test_cyl_y_below_lo(): int {
|
|
1579
|
+
return in_cylinder(0, 0 - 1, 0, 0, 0, 10000, 0, 10000);
|
|
1580
|
+
}
|
|
1581
|
+
// Point offset from non-zero centre
|
|
1582
|
+
fn test_cyl_offset_centre(): int {
|
|
1583
|
+
return in_cylinder(15000, 5000, 15000, 10000, 10000, 10000, 0, 10000);
|
|
1584
|
+
}
|
|
1585
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1586
|
+
|
|
1587
|
+
test('in_cylinder: point on exact radius boundary == 1', () =>
|
|
1588
|
+
expect(callAndGetRet(rt, 'test_cyl_boundary')).toBe(1))
|
|
1589
|
+
|
|
1590
|
+
test('in_cylinder: point at centre == 1', () =>
|
|
1591
|
+
expect(callAndGetRet(rt, 'test_cyl_center')).toBe(1))
|
|
1592
|
+
|
|
1593
|
+
test('in_cylinder: negative coordinates, point at centre == 1', () =>
|
|
1594
|
+
expect(callAndGetRet(rt, 'test_cyl_neg_coords')).toBe(1))
|
|
1595
|
+
|
|
1596
|
+
test('in_cylinder: y at lower boundary == 1 (inclusive)', () =>
|
|
1597
|
+
expect(callAndGetRet(rt, 'test_cyl_y_at_lo')).toBe(1))
|
|
1598
|
+
|
|
1599
|
+
test('in_cylinder: y at upper boundary == 1 (inclusive)', () =>
|
|
1600
|
+
expect(callAndGetRet(rt, 'test_cyl_y_at_hi')).toBe(1))
|
|
1601
|
+
|
|
1602
|
+
test('in_cylinder: y just below lower boundary == 0', () =>
|
|
1603
|
+
expect(callAndGetRet(rt, 'test_cyl_y_below_lo')).toBe(0))
|
|
1604
|
+
|
|
1605
|
+
test('in_cylinder: point inside shifted cylinder == 1', () =>
|
|
1606
|
+
expect(callAndGetRet(rt, 'test_cyl_offset_centre')).toBe(1))
|
|
1607
|
+
})
|
|
1608
|
+
|
|
1609
|
+
// ---------------------------------------------------------------------------
|
|
1610
|
+
// geometry.mcrs — in_cone (extended)
|
|
1611
|
+
// ---------------------------------------------------------------------------
|
|
1612
|
+
|
|
1613
|
+
describe('geometry.mcrs — in_cone (extended)', () => {
|
|
1614
|
+
const rt = makeRuntime(`
|
|
1615
|
+
// Point at apex itself: dy=0 → lhs=0, rhs=0 → 0<=0 → inside
|
|
1616
|
+
fn test_cone_apex(): int {
|
|
1617
|
+
return in_cone(0, 0, 0, 0, 0, 0, 1, 10000, 20000);
|
|
1618
|
+
}
|
|
1619
|
+
// Point outside height (dy > height) → outside
|
|
1620
|
+
fn test_cone_above_height(): int {
|
|
1621
|
+
return in_cone(0, 30000, 0, 0, 0, 0, 1, 10000, 20000);
|
|
1622
|
+
}
|
|
1623
|
+
// Point at exactly height on axis → inside (dy=height, horiz=0)
|
|
1624
|
+
fn test_cone_at_height(): int {
|
|
1625
|
+
return in_cone(0, 20000, 0, 0, 0, 0, 1, 10000, 20000);
|
|
1626
|
+
}
|
|
1627
|
+
// Wide angle (tan=20000 → 63°), point at (10000,10000,0): lhs=100000000, rhs=dy*20000/10000=20000 → rhs²=400000000 ≥ lhs → inside
|
|
1628
|
+
fn test_cone_wide_angle(): int {
|
|
1629
|
+
return in_cone(10000, 10000, 0, 0, 0, 0, 1, 20000, 20000);
|
|
1630
|
+
}
|
|
1631
|
+
// Downward cone (dir_y=-1): point below apex
|
|
1632
|
+
fn test_cone_downward(): int {
|
|
1633
|
+
return in_cone(0, 0 - 5000, 0, 0, 0, 0, 0 - 1, 10000, 20000);
|
|
1634
|
+
}
|
|
1635
|
+
// Narrow angle (tan=5000 → 27°), point just outside: dx=10000,dy=10000 → lhs=100000000, rhs=5000 → rhs²=25000000 < lhs → outside
|
|
1636
|
+
fn test_cone_narrow_outside(): int {
|
|
1637
|
+
return in_cone(10000, 10000, 0, 0, 0, 0, 1, 5000, 20000);
|
|
1638
|
+
}
|
|
1639
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1640
|
+
|
|
1641
|
+
test('in_cone: point at apex == 1', () =>
|
|
1642
|
+
expect(callAndGetRet(rt, 'test_cone_apex')).toBe(1))
|
|
1643
|
+
|
|
1644
|
+
test('in_cone: point above height == 0', () =>
|
|
1645
|
+
expect(callAndGetRet(rt, 'test_cone_above_height')).toBe(0))
|
|
1646
|
+
|
|
1647
|
+
test('in_cone: point at exactly height on axis == 1', () =>
|
|
1648
|
+
expect(callAndGetRet(rt, 'test_cone_at_height')).toBe(1))
|
|
1649
|
+
|
|
1650
|
+
test('in_cone: wide angle (45°), point inside == 1', () =>
|
|
1651
|
+
expect(callAndGetRet(rt, 'test_cone_wide_angle')).toBe(1))
|
|
1652
|
+
|
|
1653
|
+
test('in_cone: downward cone, point below apex == 1', () =>
|
|
1654
|
+
expect(callAndGetRet(rt, 'test_cone_downward')).toBe(1))
|
|
1655
|
+
|
|
1656
|
+
test('in_cone: narrow angle, point outside == 0', () =>
|
|
1657
|
+
expect(callAndGetRet(rt, 'test_cone_narrow_outside')).toBe(0))
|
|
1658
|
+
})
|
|
1659
|
+
|
|
1660
|
+
// ---------------------------------------------------------------------------
|
|
1661
|
+
// geometry.mcrs — in_sector_2d (extended)
|
|
1662
|
+
// ---------------------------------------------------------------------------
|
|
1663
|
+
|
|
1664
|
+
describe('geometry.mcrs — in_sector_2d (extended)', () => {
|
|
1665
|
+
const rt = makeRuntime(`
|
|
1666
|
+
// Point at origin (cx,cz) → should be inside (zero distance)
|
|
1667
|
+
fn test_sector_at_origin(): int {
|
|
1668
|
+
return in_sector_2d(0, 0, 0, 0, 0, 157079, 20000);
|
|
1669
|
+
}
|
|
1670
|
+
// Point at exact radius boundary (still inside, <=)
|
|
1671
|
+
fn test_sector_radius_boundary(): int {
|
|
1672
|
+
return in_sector_2d(20000, 0, 0, 0, 0, 157079, 20000);
|
|
1673
|
+
}
|
|
1674
|
+
// Point just outside radius → outside
|
|
1675
|
+
fn test_sector_outside_radius(): int {
|
|
1676
|
+
return in_sector_2d(21000, 0, 0, 0, 0, 157079, 20000);
|
|
1677
|
+
}
|
|
1678
|
+
// dir_angle = π/2 (157079), point at (0, 10000): angle=90° → inside
|
|
1679
|
+
fn test_sector_dir_90(): int {
|
|
1680
|
+
return in_sector_2d(0, 10000, 0, 0, 157079, 78540, 20000);
|
|
1681
|
+
}
|
|
1682
|
+
// dir_angle = 0, half_angle = full circle (314159≈π): point at (-10000,0) should be inside
|
|
1683
|
+
fn test_sector_full_half(): int {
|
|
1684
|
+
return in_sector_2d(0 - 10000, 0, 0, 0, 0, 314159, 20000);
|
|
1685
|
+
}
|
|
1686
|
+
// Point at 45° angle, dir at 0°, half_angle = π/6 (~52360) — 45° outside half_angle
|
|
1687
|
+
fn test_sector_45_narrow(): int {
|
|
1688
|
+
return in_sector_2d(10000, 10000, 0, 0, 0, 52360, 20000);
|
|
1689
|
+
}
|
|
1690
|
+
`, [MATH_SRC, VEC_SRC, GEOM_SRC])
|
|
1691
|
+
|
|
1692
|
+
test('in_sector_2d: point at origin == 1 (always inside)', () =>
|
|
1693
|
+
expect(callAndGetRet(rt, 'test_sector_at_origin')).toBe(1))
|
|
1694
|
+
|
|
1695
|
+
test('in_sector_2d: point at exact radius == 1 (boundary inclusive)', () =>
|
|
1696
|
+
expect(callAndGetRet(rt, 'test_sector_radius_boundary')).toBe(1))
|
|
1697
|
+
|
|
1698
|
+
test('in_sector_2d: point just beyond radius == 0', () =>
|
|
1699
|
+
expect(callAndGetRet(rt, 'test_sector_outside_radius')).toBe(0))
|
|
1700
|
+
|
|
1701
|
+
test('in_sector_2d: dir=π/2, point at 90° == 1', () =>
|
|
1702
|
+
expect(callAndGetRet(rt, 'test_sector_dir_90')).toBe(1))
|
|
1703
|
+
|
|
1704
|
+
test('in_sector_2d: half_angle=π (semicircle), point behind == 1', () =>
|
|
1705
|
+
expect(callAndGetRet(rt, 'test_sector_full_half')).toBe(1))
|
|
1706
|
+
|
|
1707
|
+
test('in_sector_2d: 45° point, narrow half_angle=30° == 0', () =>
|
|
1708
|
+
expect(callAndGetRet(rt, 'test_sector_45_narrow')).toBe(0))
|
|
1709
|
+
})
|
|
1710
|
+
|
|
1711
|
+
// ---------------------------------------------------------------------------
|
|
1712
|
+
// expr.mcrs — expr_eval (extended)
|
|
1713
|
+
// ---------------------------------------------------------------------------
|
|
1714
|
+
|
|
1715
|
+
describe('expr.mcrs — expr_eval (extended)', () => {
|
|
1716
|
+
const rt = makeRuntime(`
|
|
1717
|
+
// 2*x+1 at x=0 → 0+10000=10000
|
|
1718
|
+
fn test_expr_linear_x0(): int {
|
|
1719
|
+
let toks: int[] = [0, 0, 0, 0, 0];
|
|
1720
|
+
toks[0] = 20000;
|
|
1721
|
+
toks[1] = 0 - 10000;
|
|
1722
|
+
toks[2] = 0 - 3;
|
|
1723
|
+
toks[3] = 10000;
|
|
1724
|
+
toks[4] = 0 - 1;
|
|
1725
|
+
return expr_eval(toks, 5, 0);
|
|
1726
|
+
}
|
|
1727
|
+
// 2*x+1 at x=10000 (1.0) → 20000+10000=30000
|
|
1728
|
+
fn test_expr_linear_x1(): int {
|
|
1729
|
+
let toks: int[] = [0, 0, 0, 0, 0];
|
|
1730
|
+
toks[0] = 20000;
|
|
1731
|
+
toks[1] = 0 - 10000;
|
|
1732
|
+
toks[2] = 0 - 3;
|
|
1733
|
+
toks[3] = 10000;
|
|
1734
|
+
toks[4] = 0 - 1;
|
|
1735
|
+
return expr_eval(toks, 5, 10000);
|
|
1736
|
+
}
|
|
1737
|
+
// 2*x+1 at x=20000 (2.0) → 40000+10000=50000
|
|
1738
|
+
fn test_expr_linear_x2(): int {
|
|
1739
|
+
let toks: int[] = [0, 0, 0, 0, 0];
|
|
1740
|
+
toks[0] = 20000;
|
|
1741
|
+
toks[1] = 0 - 10000;
|
|
1742
|
+
toks[2] = 0 - 3;
|
|
1743
|
+
toks[3] = 10000;
|
|
1744
|
+
toks[4] = 0 - 1;
|
|
1745
|
+
return expr_eval(toks, 5, 20000);
|
|
1746
|
+
}
|
|
1747
|
+
// (x+1)*x at x=20000 (2.0): RPN = [x, 10000, +, x, *] → (2+1)*2=6.0=60000
|
|
1748
|
+
fn test_expr_chain(): int {
|
|
1749
|
+
let toks: int[] = [0, 0, 0, 0, 0];
|
|
1750
|
+
toks[0] = 0 - 10000;
|
|
1751
|
+
toks[1] = 10000;
|
|
1752
|
+
toks[2] = 0 - 1;
|
|
1753
|
+
toks[3] = 0 - 10000;
|
|
1754
|
+
toks[4] = 0 - 3;
|
|
1755
|
+
return expr_eval(toks, 5, 20000);
|
|
1756
|
+
}
|
|
1757
|
+
// n=0: return 0 (empty stack)
|
|
1758
|
+
fn test_expr_n0(): int {
|
|
1759
|
+
let toks: int[] = [10000];
|
|
1760
|
+
return expr_eval(toks, 0, 0);
|
|
1761
|
+
}
|
|
1762
|
+
// Single literal: 42.0 = 420000
|
|
1763
|
+
fn test_expr_literal42(): int {
|
|
1764
|
+
let toks: int[] = [420000];
|
|
1765
|
+
return expr_eval(toks, 1, 0);
|
|
1766
|
+
}
|
|
1767
|
+
// x passthrough: tokens=[-10000], n=1, x=30000 → 30000
|
|
1768
|
+
fn test_expr_x_passthrough(): int {
|
|
1769
|
+
let toks: int[] = [0 - 10000];
|
|
1770
|
+
return expr_eval(toks, 1, 30000);
|
|
1771
|
+
}
|
|
1772
|
+
`, [MATH_SRC, EXPR_SRC])
|
|
1773
|
+
|
|
1774
|
+
test('expr_eval: 2*x+1 at x=0 == 10000', () =>
|
|
1775
|
+
expect(callAndGetRet(rt, 'test_expr_linear_x0')).toBe(10000))
|
|
1776
|
+
|
|
1777
|
+
test('expr_eval: 2*x+1 at x=10000 (1.0) == 30000', () =>
|
|
1778
|
+
expect(callAndGetRet(rt, 'test_expr_linear_x1')).toBe(30000))
|
|
1779
|
+
|
|
1780
|
+
test('expr_eval: 2*x+1 at x=20000 (2.0) == 50000', () =>
|
|
1781
|
+
expect(callAndGetRet(rt, 'test_expr_linear_x2')).toBe(50000))
|
|
1782
|
+
|
|
1783
|
+
test('expr_eval: (x+1)*x at x=2.0 == 60000 (chained ops)', () =>
|
|
1784
|
+
expect(callAndGetRet(rt, 'test_expr_chain')).toBe(60000))
|
|
1785
|
+
|
|
1786
|
+
test('expr_eval: n=0 → 0 (empty stack)', () =>
|
|
1787
|
+
expect(callAndGetRet(rt, 'test_expr_n0')).toBe(0))
|
|
1788
|
+
|
|
1789
|
+
test('expr_eval: single literal 420000 → 420000', () =>
|
|
1790
|
+
expect(callAndGetRet(rt, 'test_expr_literal42')).toBe(420000))
|
|
1791
|
+
|
|
1792
|
+
test('expr_eval: x passthrough at x=30000 → 30000', () =>
|
|
1793
|
+
expect(callAndGetRet(rt, 'test_expr_x_passthrough')).toBe(30000))
|
|
1794
|
+
})
|
|
1795
|
+
|
|
1796
|
+
// ---------------------------------------------------------------------------
|
|
1797
|
+
// signal.mcrs — DFT (extended)
|
|
1798
|
+
// ---------------------------------------------------------------------------
|
|
1799
|
+
|
|
1800
|
+
describe('signal.mcrs — DFT (extended)', () => {
|
|
1801
|
+
const rt = makeRuntime(`
|
|
1802
|
+
// Alternating signal [10000, -10000, 10000, -10000]: DC should be 0
|
|
1803
|
+
fn test_dft_alt_dc(): int {
|
|
1804
|
+
return dft_real(10000, 0 - 10000, 10000, 0 - 10000, 0, 0, 0, 0, 4, 0);
|
|
1805
|
+
}
|
|
1806
|
+
// Alternating signal k=2: should have large real component (signal frequency)
|
|
1807
|
+
fn test_dft_alt_k2(): int {
|
|
1808
|
+
let v: int = dft_real(10000, 0 - 10000, 10000, 0 - 10000, 0, 0, 0, 0, 4, 2);
|
|
1809
|
+
if (v < 0) { v = 0 - v; }
|
|
1810
|
+
if (v >= 5000) { return 1; }
|
|
1811
|
+
return 0;
|
|
1812
|
+
}
|
|
1813
|
+
// dft_imag of alternating signal at k=0 should be 0
|
|
1814
|
+
fn test_dft_alt_imag_dc(): int {
|
|
1815
|
+
return dft_imag(10000, 0 - 10000, 10000, 0 - 10000, 0, 0, 0, 0, 4, 0);
|
|
1816
|
+
}
|
|
1817
|
+
// dft_magnitude of alternating [10000,-10000,10000,-10000] at k=2 should be large
|
|
1818
|
+
fn test_dft_alt_mag_k2(): int {
|
|
1819
|
+
let v: int = dft_magnitude(10000, 0 - 10000, 10000, 0 - 10000, 0, 0, 0, 0, 4, 2);
|
|
1820
|
+
if (v >= 5000) { return 1; }
|
|
1821
|
+
return 0;
|
|
1822
|
+
}
|
|
1823
|
+
// Uniform n=4 k=0: dft_real == mean=10000 (already tested, but verify magnitude==real when imag=0)
|
|
1824
|
+
fn test_dft_uniform_mag_equals_real(): int {
|
|
1825
|
+
let re: int = dft_real(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 0);
|
|
1826
|
+
let mg: int = dft_magnitude(10000, 10000, 10000, 10000, 0, 0, 0, 0, 4, 0);
|
|
1827
|
+
if (re == mg) { return 1; }
|
|
1828
|
+
return 0;
|
|
1829
|
+
}
|
|
1830
|
+
// n=2 signal [20000, 0]: DC = mean = 10000
|
|
1831
|
+
fn test_dft_n2_dc(): int {
|
|
1832
|
+
return dft_real(20000, 0, 0, 0, 0, 0, 0, 0, 2, 0);
|
|
1833
|
+
}
|
|
1834
|
+
// n=2 signal [20000, 0]: k=1 real = (20000 - 0)/2 = 10000
|
|
1835
|
+
fn test_dft_n2_k1(): int {
|
|
1836
|
+
return dft_real(20000, 0, 0, 0, 0, 0, 0, 0, 2, 1);
|
|
1837
|
+
}
|
|
1838
|
+
// Constant signal with n=8, k=4 (Nyquist): real alternates → should be 0 for uniform
|
|
1839
|
+
fn test_dft_n8_k4_uniform(): int {
|
|
1840
|
+
let v: int = dft_real(10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 8, 4);
|
|
1841
|
+
if (v < 0) { v = 0 - v; }
|
|
1842
|
+
if (v <= 500) { return 1; }
|
|
1843
|
+
return 0;
|
|
1844
|
+
}
|
|
1845
|
+
`, [MATH_SRC, SIGNAL_SRC])
|
|
1846
|
+
|
|
1847
|
+
test('dft_real(alternating, n=4, k=0) == 0 (DC of alternating = 0)', () =>
|
|
1848
|
+
expect(callAndGetRet(rt, 'test_dft_alt_dc')).toBe(0))
|
|
1849
|
+
|
|
1850
|
+
test('dft_real(alternating, n=4, k=2): large component >= 5000', () =>
|
|
1851
|
+
expect(callAndGetRet(rt, 'test_dft_alt_k2')).toBe(1))
|
|
1852
|
+
|
|
1853
|
+
test('dft_imag(alternating, n=4, k=0) == 0', () =>
|
|
1854
|
+
expect(callAndGetRet(rt, 'test_dft_alt_imag_dc')).toBe(0))
|
|
1855
|
+
|
|
1856
|
+
test('dft_magnitude(alternating, n=4, k=2) >= 5000 (large frequency bin)', () =>
|
|
1857
|
+
expect(callAndGetRet(rt, 'test_dft_alt_mag_k2')).toBe(1))
|
|
1858
|
+
|
|
1859
|
+
test('dft_magnitude == dft_real for uniform DC bin (imag=0)', () =>
|
|
1860
|
+
expect(callAndGetRet(rt, 'test_dft_uniform_mag_equals_real')).toBe(1))
|
|
1861
|
+
|
|
1862
|
+
test('dft_real(n=2, [20000,0], k=0) == 10000 (DC = mean)', () =>
|
|
1863
|
+
expect(callAndGetRet(rt, 'test_dft_n2_dc')).toBe(10000))
|
|
1864
|
+
|
|
1865
|
+
test('dft_real(n=2, [20000,0], k=1) == 10000 (first harmonic)', () =>
|
|
1866
|
+
expect(callAndGetRet(rt, 'test_dft_n2_k1')).toBe(10000))
|
|
1867
|
+
|
|
1868
|
+
test('dft_real(uniform×8, n=8, k=4) ≈ 0 (Nyquist bin near zero)', () =>
|
|
1869
|
+
expect(callAndGetRet(rt, 'test_dft_n8_k4_uniform')).toBe(1))
|
|
1870
|
+
})
|
|
1871
|
+
|
|
1872
|
+
// ---------------------------------------------------------------------------
|
|
1873
|
+
// color.mcrs — RGB↔HSL (extended)
|
|
1874
|
+
// ---------------------------------------------------------------------------
|
|
1875
|
+
|
|
1876
|
+
describe('color.mcrs — rgb_to_l (extended)', () => {
|
|
1877
|
+
const rt = makeRuntime(`
|
|
1878
|
+
// Gray: R=G=B=1275000 (half of 2550000) → L = (max+min)/510 = (1275000+1275000)/510 = 5000
|
|
1879
|
+
fn test_l_gray(): int { return rgb_to_l(1275000, 1275000, 1275000); }
|
|
1880
|
+
// Red-only: max=2550000, min=0 → L=(2550000+0)/510=5000
|
|
1881
|
+
fn test_l_red(): int { return rgb_to_l(2550000, 0, 0); }
|
|
1882
|
+
// Blue-only: same as red → L=5000
|
|
1883
|
+
fn test_l_blue(): int { return rgb_to_l(0, 0, 2550000); }
|
|
1884
|
+
`, [COLOR_SRC])
|
|
1885
|
+
|
|
1886
|
+
test('rgb_to_l(gray) == 5000 (L = 0.5)', () =>
|
|
1887
|
+
expect(callAndGetRet(rt, 'test_l_gray')).toBe(5000))
|
|
1888
|
+
|
|
1889
|
+
test('rgb_to_l(pure red) == 5000 (L = 0.5)', () =>
|
|
1890
|
+
expect(callAndGetRet(rt, 'test_l_red')).toBe(5000))
|
|
1891
|
+
|
|
1892
|
+
test('rgb_to_l(pure blue) == 5000 (L = 0.5)', () =>
|
|
1893
|
+
expect(callAndGetRet(rt, 'test_l_blue')).toBe(5000))
|
|
1894
|
+
})
|
|
1895
|
+
|
|
1896
|
+
describe('color.mcrs — rgb_to_s (extended)', () => {
|
|
1897
|
+
const rt = makeRuntime(`
|
|
1898
|
+
// Gray → S = 0
|
|
1899
|
+
fn test_s_gray(): int { return rgb_to_s(1275000, 1275000, 1275000); }
|
|
1900
|
+
// Black → S = 0
|
|
1901
|
+
fn test_s_black(): int { return rgb_to_s(0, 0, 0); }
|
|
1902
|
+
// Pure green → S = 10000
|
|
1903
|
+
fn test_s_green(): int { return rgb_to_s(0, 2550000, 0); }
|
|
1904
|
+
// Pure blue → S > 0
|
|
1905
|
+
fn test_s_blue(): int { return rgb_to_s(0, 0, 2550000); }
|
|
1906
|
+
`, [COLOR_SRC])
|
|
1907
|
+
|
|
1908
|
+
test('rgb_to_s(gray) == 0 (gray has no saturation)', () =>
|
|
1909
|
+
expect(callAndGetRet(rt, 'test_s_gray')).toBe(0))
|
|
1910
|
+
|
|
1911
|
+
test('rgb_to_s(black) == 0', () =>
|
|
1912
|
+
expect(callAndGetRet(rt, 'test_s_black')).toBe(0))
|
|
1913
|
+
|
|
1914
|
+
test('rgb_to_s(pure green) == 10000 (max saturation)', () =>
|
|
1915
|
+
expect(callAndGetRet(rt, 'test_s_green')).toBe(10000))
|
|
1916
|
+
|
|
1917
|
+
test('rgb_to_s(pure blue) > 0', () =>
|
|
1918
|
+
expect(callAndGetRet(rt, 'test_s_blue')).toBeGreaterThan(0))
|
|
1919
|
+
})
|
|
1920
|
+
|
|
1921
|
+
describe('color.mcrs — rgb_to_h (extended)', () => {
|
|
1922
|
+
const rt = makeRuntime(`
|
|
1923
|
+
// Pure red (max=R): h = 600000*(g-b)/d = 0
|
|
1924
|
+
fn test_h_red(): int { return rgb_to_h(2550000, 0, 0); }
|
|
1925
|
+
// Pure green (max=G): h = 1200000 + 600000*(b-r)/d = 1200000
|
|
1926
|
+
fn test_h_green(): int { return rgb_to_h(0, 2550000, 0); }
|
|
1927
|
+
// Pure blue (max=B): h = 2400000 + 600000*(r-g)/d = 2400000
|
|
1928
|
+
fn test_h_blue(): int { return rgb_to_h(0, 0, 2550000); }
|
|
1929
|
+
// Gray → h = 0 (achromatic, d=0)
|
|
1930
|
+
fn test_h_gray(): int { return rgb_to_h(1275000, 1275000, 1275000); }
|
|
1931
|
+
// Black → h = 0
|
|
1932
|
+
fn test_h_black(): int { return rgb_to_h(0, 0, 0); }
|
|
1933
|
+
`, [COLOR_SRC])
|
|
1934
|
+
|
|
1935
|
+
test('rgb_to_h(pure red) == 0', () =>
|
|
1936
|
+
expect(callAndGetRet(rt, 'test_h_red')).toBe(0))
|
|
1937
|
+
|
|
1938
|
+
test('rgb_to_h(pure green) == 1200000 (120° × 10000)', () =>
|
|
1939
|
+
expect(callAndGetRet(rt, 'test_h_green')).toBe(1200000))
|
|
1940
|
+
|
|
1941
|
+
test('rgb_to_h(pure blue) == 2400000 (240° × 10000)', () =>
|
|
1942
|
+
expect(callAndGetRet(rt, 'test_h_blue')).toBe(2400000))
|
|
1943
|
+
|
|
1944
|
+
test('rgb_to_h(gray) == 0 (achromatic)', () =>
|
|
1945
|
+
expect(callAndGetRet(rt, 'test_h_gray')).toBe(0))
|
|
1946
|
+
|
|
1947
|
+
test('rgb_to_h(black) == 0', () =>
|
|
1948
|
+
expect(callAndGetRet(rt, 'test_h_black')).toBe(0))
|
|
1949
|
+
})
|
|
1950
|
+
|
|
1951
|
+
describe('color.mcrs — hsl_to_r/g/b (extended)', () => {
|
|
1952
|
+
const rt = makeRuntime(`
|
|
1953
|
+
// hsl_to_r(0, 10000, 5000): red hue, full sat, mid lightness → R≈2550000
|
|
1954
|
+
fn test_hsl_r_red(): int { return hsl_to_r(0, 10000, 5000); }
|
|
1955
|
+
// hsl_to_g(0, 10000, 5000): red hue → G≈0
|
|
1956
|
+
fn test_hsl_g_from_red_hue(): int { return hsl_to_g(0, 10000, 5000); }
|
|
1957
|
+
// hsl_to_b(0, 10000, 5000): red hue → B≈0
|
|
1958
|
+
fn test_hsl_b_from_red_hue(): int { return hsl_to_b(0, 10000, 5000); }
|
|
1959
|
+
// hsl_to_g(1200000, 10000, 5000): green hue → G≈2550000
|
|
1960
|
+
fn test_hsl_g_green(): int { return hsl_to_g(1200000, 10000, 5000); }
|
|
1961
|
+
// hsl_to_r(1200000, 10000, 5000): green hue → R≈0
|
|
1962
|
+
fn test_hsl_r_from_green_hue(): int { return hsl_to_r(1200000, 10000, 5000); }
|
|
1963
|
+
// hsl_to_b(2400000, 10000, 5000): blue hue → B≈2550000
|
|
1964
|
+
fn test_hsl_b_blue(): int { return hsl_to_b(2400000, 10000, 5000); }
|
|
1965
|
+
// Gray: h=0, s=0, l=5000 → R=G=B = m*255 = 5000*255 = 1275000
|
|
1966
|
+
fn test_hsl_r_gray(): int { return hsl_to_r(0, 0, 5000); }
|
|
1967
|
+
fn test_hsl_g_gray(): int { return hsl_to_g(0, 0, 5000); }
|
|
1968
|
+
fn test_hsl_b_gray(): int { return hsl_to_b(0, 0, 5000); }
|
|
1969
|
+
`, [COLOR_SRC])
|
|
1970
|
+
|
|
1971
|
+
test('hsl_to_r(0, 10000, 5000) ≈ 2550000 (red)', () => {
|
|
1972
|
+
const v = callAndGetRet(rt, 'test_hsl_r_red')
|
|
1973
|
+
expect(Math.abs(v - 2550000)).toBeLessThanOrEqual(1000)
|
|
1974
|
+
})
|
|
1975
|
+
|
|
1976
|
+
test('hsl_to_g(0, 10000, 5000) ≈ 0 (red hue → no green)', () => {
|
|
1977
|
+
const v = callAndGetRet(rt, 'test_hsl_g_from_red_hue')
|
|
1978
|
+
expect(v).toBeLessThanOrEqual(1000)
|
|
1979
|
+
})
|
|
1980
|
+
|
|
1981
|
+
test('hsl_to_b(0, 10000, 5000) ≈ 0 (red hue → no blue)', () => {
|
|
1982
|
+
const v = callAndGetRet(rt, 'test_hsl_b_from_red_hue')
|
|
1983
|
+
expect(v).toBeLessThanOrEqual(1000)
|
|
1984
|
+
})
|
|
1985
|
+
|
|
1986
|
+
test('hsl_to_g(1200000, 10000, 5000) ≈ 2550000 (green hue → max green)', () => {
|
|
1987
|
+
const v = callAndGetRet(rt, 'test_hsl_g_green')
|
|
1988
|
+
expect(Math.abs(v - 2550000)).toBeLessThanOrEqual(1000)
|
|
1989
|
+
})
|
|
1990
|
+
|
|
1991
|
+
test('hsl_to_r(1200000, 10000, 5000) ≈ 0 (green hue → no red)', () => {
|
|
1992
|
+
const v = callAndGetRet(rt, 'test_hsl_r_from_green_hue')
|
|
1993
|
+
expect(v).toBeLessThanOrEqual(1000)
|
|
1994
|
+
})
|
|
1995
|
+
|
|
1996
|
+
test('hsl_to_b(2400000, 10000, 5000) ≈ 2550000 (blue hue → max blue)', () => {
|
|
1997
|
+
const v = callAndGetRet(rt, 'test_hsl_b_blue')
|
|
1998
|
+
expect(Math.abs(v - 2550000)).toBeLessThanOrEqual(1000)
|
|
1999
|
+
})
|
|
2000
|
+
|
|
2001
|
+
test('hsl_to_r(gray) == hsl_to_g(gray) == hsl_to_b(gray) == 1275000', () => {
|
|
2002
|
+
const r = callAndGetRet(rt, 'test_hsl_r_gray')
|
|
2003
|
+
const g = callAndGetRet(rt, 'test_hsl_g_gray')
|
|
2004
|
+
const b = callAndGetRet(rt, 'test_hsl_b_gray')
|
|
2005
|
+
expect(r).toBe(1275000)
|
|
2006
|
+
expect(g).toBe(1275000)
|
|
2007
|
+
expect(b).toBe(1275000)
|
|
2008
|
+
})
|
|
2009
|
+
})
|
|
2010
|
+
|
|
2011
|
+
// ---------------------------------------------------------------------------
|
|
2012
|
+
// world.mcrs — sun_azimuth (extended)
|
|
2013
|
+
// ---------------------------------------------------------------------------
|
|
2014
|
+
|
|
2015
|
+
describe('world.mcrs — sun_azimuth (extended)', () => {
|
|
2016
|
+
const rt = makeRuntime(`
|
|
2017
|
+
fn test_azimuth_half_day(): int { return sun_azimuth(12000); }
|
|
2018
|
+
fn test_azimuth_full_day(): int { return sun_azimuth(24000); }
|
|
2019
|
+
fn test_azimuth_three_quarter(): int { return sun_azimuth(18000); }
|
|
2020
|
+
fn test_azimuth_quarter_plus(): int { return sun_azimuth(8000); }
|
|
2021
|
+
`, [WORLD_SRC, MATH_SRC])
|
|
2022
|
+
|
|
2023
|
+
test('sun_azimuth(12000) == 1800000 (half day = 180°)', () =>
|
|
2024
|
+
expect(callAndGetRet(rt, 'test_azimuth_half_day')).toBe(1800000))
|
|
2025
|
+
|
|
2026
|
+
test('sun_azimuth(24000) == 0 (full day wraps to 0)', () =>
|
|
2027
|
+
expect(callAndGetRet(rt, 'test_azimuth_full_day')).toBe(0))
|
|
2028
|
+
|
|
2029
|
+
test('sun_azimuth(18000) == 2700000 (three-quarter day = 270°)', () =>
|
|
2030
|
+
expect(callAndGetRet(rt, 'test_azimuth_three_quarter')).toBe(2700000))
|
|
2031
|
+
|
|
2032
|
+
test('sun_azimuth(8000) == 1200000 (8000/24000 × 360° × 10000)', () =>
|
|
2033
|
+
expect(callAndGetRet(rt, 'test_azimuth_quarter_plus')).toBe(1200000))
|
|
2034
|
+
})
|