summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-07-29 16:54:13 +0200
committerThomas Guillermo Albers Raviola <thomas@thomaslabs.org>2026-07-29 16:54:13 +0200
commit7951b981dba39c5f3a7cab91af3c9a3d5edafbfb (patch)
tree01dea70b086750a241d5800b64d4b23b4abc3eff
parentb764fb1b1dd84a285f370b81b3307f6af59f1e87 (diff)
Refactor expand_term
-rw-r--r--series.mac13
1 files changed, 6 insertions, 7 deletions
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 (