diff --git a/buglist b/buglist index c9f9c40..a1e3692 100644 --- a/buglist +++ b/buglist @@ -1,6 +1,6 @@ ========================================================================= -bug 7252: +bug 7253: todo 336: wish 1011: meh 5: @@ -12,6 +12,70 @@ dup 50006: nonextend 60077: ========================================================================= +bug 7252: argument(-%i) + + > AXIOM -> complexForm(log(%i) - log(-%i)) + > + > 0 + +could you please file this as a bug on issuetracker? The problem is in the +operation "argument": + +(8) -> argument(%i) + + %pi + (8) --- + 2 + Type: Expression Integer +(9) -> argument(-%i) + + %pi + (9) --- + 2 + Type: Expression Integer + +the latter should be -pi/2, of course. The problem is in gaussian.spad, +COMPCAT: + + if R has TranscendentalFunctionCategory then + half := recip(2::R)::R + + if R has RealNumberSystem then + atan2loc(y: R, x: R): R == + pi1 := pi()$R + pi2 := pi1 * half + x = 0 => if y >= 0 then pi2 else -pi2 + + -- Atan in (-pi/2,pi/2] + theta := atan(y * recip(x)::R) + while theta <= -pi2 repeat theta := theta + pi1 + while theta > pi2 repeat theta := theta - pi1 + + x >= 0 => theta -- I or IV + + if y >= 0 then + theta + pi1 -- II + else + theta - pi1 -- III + + argument x == atan2loc(imag x, real x) + + else + -- Not ordered so dictate two quadrants + argument x == + zero? real x => pi()$R * half + atan(imag(x) * recip(real x)::R) + +so the problem occurs if R does not have "RealNumberSystem": + +(15) -> argument(-%i*1.0) + + (15) - 1.5707963267 948966192 + +since Float does have RNS, but INT does not. I'm not quite sure what the +condition should be. OrderedSet? + +========================================================================= bug 7251: integrate(1/(1+z^4), z=0..1) :: Complex Float integrate(1/(1+z^4), z=0..1) :: Complex Float diff --git a/changelog b/changelog index cbdc3d6..bd2388c 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20140614 tpd src/axiom-website/patches.html 20140614.01.tpd.patch +20140614 tpd buglist bug 7252: argument(-%i) 20140613 tpd src/axiom-website/patches.html 20140613.13.tpd.patch 20140613 tpd buglist bug 7249: radicalSolve(z^7=1, z) update 20140613 tpd src/axiom-website/patches.html 20140613.12.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 03c5f10..9899ea6 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4446,6 +4446,8 @@ buglist bug 7250: print(typeOf(1)::OutputForm) Value Stack Overflow buglist bug 7251: integrate(1/(1+z^4), z=0..1) :: Complex Float 20140613.13.tpd.patch buglist bug 7249: radicalSolve(z^7=1, z) update +20140614.01.tpd.patch +buglist bug 7252: argument(-%i)