Skip to content

Commit ff843bb

Browse files
fix: handle non-concrete polynomials in polynomial_merge!
1 parent 0e6fbb0 commit ff843bb

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/operators.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ function polynomial_merge!(
9191
combine::F6,
9292
keep::F7,
9393
resize::F8,
94-
) where {F1,F2,F3,F4,F5,F6,F7,F8}
94+
::Type{term_type} = n1 > 0 ? typeof(get1(1)) :
95+
n2 > 0 ? typeof(get2(1)) : Nothing,
96+
) where {F1,F2,F3,F4,F5,F6,F7,F8,term_type}
9597
buffer = nothing
9698
i = j = k = 1
9799
# Invariant:
@@ -109,7 +111,8 @@ function polynomial_merge!(
109111
if k == i
110112
t0 = get1(i)
111113
if buffer === nothing
112-
buffer = DataStructures.Queue{typeof(t0)}()
114+
buffer =
115+
DataStructures.Queue{term_type}()
113116
end
114117
push!(buffer, t0)
115118
i += 1

0 commit comments

Comments
 (0)