That jmpn_com doesn't do two's complement, it does one's complement.  That might have canceled out Raul's error of interpretation.

Re: q:509247139646491621x.  Yes, it usually works, but sometimes it doesn't.  That's a feature of probabilistic factoring methods.

hhr

On 12/4/2023 10:36 AM, bill lam wrote:
After the patch
   q:509247139646491621x
270869761 1880044261

This is taken from the gmp source
+void jmpn_com (mp_ptr rp, mp_srcptr up, mp_size_t n)

+{

+  mp_limb_t ul;

+  do {

+      ul = *up++;

+      *rp++ = ~ul & GMP_NUMB_MASK;

+  } while (--n != 0);

+}

@Henry The j32 still failed in gj but probably unrelated to XNUM. Please
check.



On Mon, Dec 4, 2023 at 11:13 PM Raul Miller <rauldmil...@gmail.com> wrote:

No, not only a private branch. I took your message
https://www.jsoftware.com/pipermail/source/2023-December/001628.html
as an indication that I should push what I had working to the main branch.

That said, I see what happened. Though I'm baffled how it did not fail
on my machine.

mpn_com is supposed to implement a bitwise negation of a span of gmp
limbs. It's mpn_neg which is supposed to implement the two's
complement of that span.

I misremembered these details and implemented in my jmpn_com the logic
of mpn_neg. That should never have worked in any examples of negating
an extended integer I can think of.

And yet it repeatedly passed tests on my machine.  I don't understand
how that was possible. I guess I'm going to spend some time looking at
intermediate results before I go any further with this project.

Thanks,

--
Raul

On Mon, Dec 4, 2023 at 9:54 AM Henry Rich <henryhr...@gmail.com> wrote:
I can't get this to fail.  Even

   q: 1000 $ 509247139646491621x

works.  The problem is that q: is nondeterministic for large numbers.
It usually works, but sometimes not.  I will replace the q: with q: ::
q: and hope that doesn't fail.

@Raul: you have pushed your changes only to your private branch, right?

hhr

On 12/3/2023 8:02 PM, Bill Heagy wrote:
JVERSION
Engine: j9.5.0-beta8/j64avx2/linux
Build: GPL3/2023-12-03T19:45:50/clang-16-0-6/SLEEF=1
Library: 9.5.5
Platform: Linux 64
Installer: unknown
InstallPath: /home/wheagy/git/jsource/jlibrary
Contact: unknown



.....
    'domain error' -: 2 ?. etx 2 3;4 5
1
    'domain error' -: 2 ?.~etx 2 3;4 5
1

    'domain error' -: ?.~@(*/) etx 'abc'
1

    'length error' -: 2 3 ?. etx 4 5 6
1

    270869761 1880044261 -: q: 509247139646491621x
|nonce error in ex02, executing monad q:
|this computation is not yet supported
|   270869761 1880044261-:    q:509247139646491621x
|[-66] /home/wheagy/git/jsource/test/g641.ijs

On 12/3/23 19:11, Raul Miller wrote:
Ok, changes pushed. I believe I've a working update for jtxplus, and I
believe it's portable to all supported architectures.

I'll keep an eye out for issues. If all goes well, I intend to start
working through some of the other X primitives (and, eventually, the
RAT primitives). If I have to hold off at some point for release
management purposes, I think that that should be fine - this effort
can be completed in J9.6 or whenever.

Thanks,

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
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