aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/algfunc.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-10-14 02:42:22 +0000
committerdos-reis <gdr@axiomatics.org>2008-10-14 02:42:22 +0000
commit88f88f9394c6611118f20517b8a29b735c79dcfe (patch)
tree2e8a319212d303b77c4e655b6b36bd6eb69fe995 /src/algebra/algfunc.spad.pamphlet
parentcefbf3117dd07b3c2a129a5b092abe4d84c636b8 (diff)
downloadopen-axiom-88f88f9394c6611118f20517b8a29b735c79dcfe.tar.gz
Fix AW/23
* algebra/fspace.spad.pamphlet (isExpt): Tidy. * algebra/algfunc.spad.pamphlet (inroot): Likewise.
Diffstat (limited to 'src/algebra/algfunc.spad.pamphlet')
-rw-r--r--src/algebra/algfunc.spad.pamphlet10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/algebra/algfunc.spad.pamphlet b/src/algebra/algfunc.spad.pamphlet
index 3bd69cdc..7925927f 100644
--- a/src/algebra/algfunc.spad.pamphlet
+++ b/src/algebra/algfunc.spad.pamphlet
@@ -446,11 +446,13 @@ AlgebraicFunction(R, F): Exports == Implementation where
-- one?(x := first l) or one? n => x
((x := first l) = 1) or (n = 1) => x
(r := retractIfCan(x)@Union(R,"failed")) case R => iroot(r::R,n)
- (u := isExpt(x, oproot)) case Record(var:K, exponent:Z) =>
+ (u := isExpt(x)) case Record(var:K, exponent:Z) =>
pr := u::Record(var:K, exponent:Z)
- (first argument(pr.var)) **
- (pr.exponent /$Fraction(Z)
- (n * retract(second argument(pr.var))@Z))
+ is?(pr.var,oproot) and #argument(pr.var) = 2 =>
+ (first argument(pr.var)) **
+ (pr.exponent /$Fraction(Z)
+ (n * retract(second argument(pr.var))@Z))
+ inroot0(x, n, false, false)
inroot0(x, n, false, false)
-- removes powers of positive integers from numer and denom