https://github.com/rdm/jsource/tree/j+gmp

I've an implementation of the J engine with libgmp support for the
XNUM and RAT types which passes a slightly modified test suite (RUN
ddall under test/tsu.ijs). Note that there's a few issues in the test
suite which need attention which I believe are not related to this
porting effort.

I'm going to continue to work on it, but it's in good enough shape
that I think I am prepared to accept bug reports, if anyone wants to
try building with these changes.

(That said, in its current state it would be wise to keep these
changes on a secondary branch or in a secondary copy of the jsource
repository.)

Oddly, I don't see my commit notice when I view the commit on github.
So I'm copying it here as the remainder of this message:

----------------------------------------------------------

    libgmp integration -- initial draft

    This has been tested ONLY on a single 64 bit linux system. Also,
libgmp must be installed in either a standard library location or in
the same directory as jconsole.

    There are going to be issues.

    Also, beware that this patch includes changes to the make2/ build
system and changes to the test/ directory.

    Do not incorporate these changes blindly.

    Changes in jsrc/ are the focus here.  It might be best to first
test the libgmp changes against an untouched copy of the test
directory, to review issues which prompted changes:

    (1) Previously, x: _ was an extended integer (type 64), this is no
longer the case. Now x: _ is a rational (type 128).

    (2) I have "de-optimized" hexdump for simplicity. This means it
takes a bit more space to execute than it used to.

    Also note that although this build is "complete" in the sense that
it passes the (modified) test suite, there are other issues which need
to be addressed.

    Planned, but not yet implemented is 3!:2 support for XNUM/RAT
values exported via 3!:1 or 3!:3 under older versions of J.

    Planned, but not yet implemented is some sort of WS FULL support
under low memory circumstances. (Here, malloc() would fail and memory
would be allocated from a reserved chunk of memory and all subsequent
libgmp calls would fail with WS FULL until the reserved memory has
been restored.)

    And, of course, this is an EARLY RELEASE and may be unstable.

----------------------------------------------------------

FYI,

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

Reply via email to