From 7951b981dba39c5f3a7cab91af3c9a3d5edafbfb Mon Sep 17 00:00:00 2001 From: Thomas Guillermo Albers Raviola Date: Wed, 29 Jul 2026 16:54:13 +0200 Subject: Refactor expand_term --- series.mac | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'series.mac') diff --git a/series.mac b/series.mac index e2bc241..b1b490d 100644 --- a/series.mac +++ b/series.mac @@ -250,19 +250,18 @@ coefficients and finally multiply only upto expansion_order. expand_term(expr, coeffs) := block( [tmp], /* TODO: Recursive call instead of error */ - if op(expr)="+" then ( + if op(expr) = "+" then ( error("Term is itself a sum!")) /* For single negation just call recursively */ - elseif op(expr)="-" then ( + elseif op(expr) = "-" then ( if length(args(expr)) # 1 then ( error("Unexpected '-' operator with more than 1 argument")), expand(- expand_term(part(expr, 1), coeffs))) - elseif op(expr)="*" then ( + elseif op(expr) = "*" then ( expand(__expand_term_prod(expr, coeffs))) - elseif op(expr)="/" then block( - [n, d, expansion_order:expansion_order - lopow(d, r)], - n : part(expr, 1), - d : part(expr, 2), + elseif op(expr) = "/" then block( + [n : part(expr, 1), d : part(expr, 2), expansion_order : expansion_order], + expansion_order : expansion_order - lopow(d, r), expand(expand_term(n, coeffs) / d)) /* TODO: better handle exponents */ else ( -- cgit v1.3