You are welcome. I envy your ability to even spot the error, let alone your 
success diagnosing and fixing it. 
Indeed, thank you!


On Jun 24, 2012, at 1:55 PM, bill lam <[email protected]> wrote:

> Thank Jim!
> 
> After hours of debug, I finally tracked down there was a regression
> in the following commit made by Marshall Lochbaum. The change of
> behavior in complex residue breaks +. and *. 
> 
> I suggest authors should run the test suite before commiting patches
> into repos.
> 
> 
> commit 223dbeab4e80ff8576f4044f9bfa6ffee84cc032
> Author: Marshall Lochbaum <[email protected]>
> Date:   Fri Feb 3 15:05:37 2012 -0500
> 
>    changed behavior of complex dyad | to be consistent with real |
> 
> diff --git a/vz.c b/vz.c
> index a5e38c8..74b6b97 100644
> --- a/vz.c
> +++ b/vz.c
> @@ -87,14 +87,17 @@ ZF2(jtzrem){D a,b,d;Z q;
>  }
>  ZASSERT(!ZINF(u),EVNONCE);
>  d=u.re*u.re+u.im*u.im;
> - a=u.re*v.re+u.im*v.im; q.re=tfloor(0.5+a/d); 
> - b=u.re*v.im-u.im*v.re; q.im=tfloor(0.5+b/d);
> + a=u.re*v.re+u.im*v.im; q.re=tfloor(a/d); 
> + b=u.re*v.im-u.im*v.re; q.im=tfloor(b/d);
>  R zminus(v,ztymes(u,q));
> }
> 
> ZF2(jtzgcd){D a,b;Z t,z;
>  ZASSERT(!(ZINF(u)||ZINF(v)),EVNAN);
> - while(ZNZ(u)){t=zrem(u,v); v.re=u.re; v.im=u.im; u.re=t.re; u.im=t.im;}
> + while(ZNZ(u)){
> +  t=zrem(u,v); if(t.re>v.re/2)t.re-=v.re; if(t.im>v.im/2)t.im-=v.im;
> +  v.re=u.re; v.im=u.im; u.re=t.re; u.im=t.im;
> + }
>  z.re=a=v.re; z.im=b=v.im;
>  switch(2*(0>a)+(0>b)){
>   case 0: if(!a){z.re= b; z.im=0;}                        break;
> 
> 
> Вск, 24 Июн 2012, Jim Russell писал(а):
>> On iPhone:
>>  5j11 +. 3j7 
>> 1j1
>>   3j7|5j11
>> _1j_3
>> 
>> 
>> 
>> 
>> On Jun 24, 2012, at 5:45 AM, bill lam <[email protected]> wrote:
>> 
>>> I compiled jconsole for android and there were some test failed, in
>>> particular the complex number gcd and residue ,
>>> 
>>> 5j11 +. 3j7 
>>> 
>>> linux   1j1 (correct)
>>> android 5j11
>>> 
>>> 
>>> 3j7|5j11
>>> 
>>> linux    _1j_3 (somewhat correc, should be 2j4 according doj)
>>> android  _5j7
>>> 
>>> It would be helpful if someone can also test it on iOS or android.  Thanks.
>>> 
>>> -- 
>>> regards,
>>> ====================================================
>>> GPG key 1024D/4434BAB3 2008-08-24
>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> -- 
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to