From a7c1acf5a13e5c97fca36160bfe4d9ca454e3d34 Mon Sep 17 00:00:00 2001 From: Kai Schmidt Date: Wed, 29 Jan 2025 19:19:31 -0800 Subject: [PATCH] fix a crash in >dyadic each --- src/algorithm/zip.rs | 2 +- tests/loops.ua | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/algorithm/zip.rs b/src/algorithm/zip.rs index 6ec1ad0de..eeb51fc07 100644 --- a/src/algorithm/zip.rs +++ b/src/algorithm/zip.rs @@ -519,7 +519,7 @@ fn eachn(f: SigNode, mut args: Vec, env: &mut Uiua) -> UiuaResult { let mut arg_elems: Vec<_> = args .into_iter() .map(|val| { - let repetitions = elem_count / val.element_count(); + let repetitions = elem_count / val.element_count().max(1); val.into_elements() .flat_map(move |elem| repeat(elem).take(repetitions)) }) diff --git a/tests/loops.ua b/tests/loops.ua index ad3d656e4..46096b078 100644 --- a/tests/loops.ua +++ b/tests/loops.ua @@ -176,6 +176,8 @@ A ← ↯2_3_4⇡24 ⍤⤙≍ ⬚0∵(++) [1] [2 3 4] [5 6] ⬚0(++) [1] [2 3 4] [5 6] ⍤⤙≍ [[1_2_8 1_3_8 1_4_8] [1_5_9 1_6_9 1_7_9]] ∵[⊙⊙∘] 1 [2_3_4 5_6_7] 8_9 ⍤⤙≍ [[1_3 1_4] [2_3 2_4]] ∵⊂ [1 2] [[3 4]] +⍤⤙≍ [] ∵⋅⋅⋅1 [] [] [] +⍤⤙≍ °△0_2 ∵⋅⋅⋅1 [] [] °△0_2 # Rows pervasive on scalars ⍤⤙≍ ¯5 ≡¯ 5