aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/limitps.spad.pamphlet
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/limitps.spad.pamphlet')
-rw-r--r--src/algebra/limitps.spad.pamphlet17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/algebra/limitps.spad.pamphlet b/src/algebra/limitps.spad.pamphlet
index 280960db..5837ffa9 100644
--- a/src/algebra/limitps.spad.pamphlet
+++ b/src/algebra/limitps.spad.pamphlet
@@ -661,14 +661,15 @@ ElementaryFunctionSign(R,F): Exports == Implementation where
(ua := retractIfCan(a)@Union(RF,"failed")) case RF =>
sign(uf::RF, x, ua::RF, st)
eq : Equation F := equation(x :: F,a)
- (u := limit(f,eq,st)) case "failed" => "failed"
- u case OFE =>
- (n := whatInfinity(u::OFE)) ~= 0 => convert(n)@Z
- (v := retract(u::OFE)@F) = 0 =>
- (s := psign(differentiate(f,x),x,a,st,m + 1)) case "failed"=>
- "failed"
- direction(st) * s::Z
- sign v
+ u := limit(f,eq,st)
+ u case "failed" => "failed"
+ (n := whatInfinity(u@OFE)) ~= 0 => convert(n)@Z
+ v := retract(u@OFE)@F
+ v = 0 =>
+ s := psign(differentiate(f,x),x,a,st,m + 1)
+ s case "failed"=> "failed"
+ direction(st) * s@Z
+ sign v
smpsign p ==
(r := retractIfCan(p)@Union(R,"failed")) case R => sign(r::R)