Yes it is base 10000, sorry.  

The big decisions on the changes are:

32 or 64bit base?
change the 3!:1 storage format?
rationals are just a pair of large integers?
openssl is good enough?

I did create an interface to openssl big integer library  
https://github.com/Pascal-J/BN-openssl-bindings-for-J

I just noticed that in j901, this library is no longer in the bin folder for J

But anyway, I can answer these questions if openssl is used:  The storage 
format is taken care of by the DLL used.  Openssl will provide a decimal,hex 
(string) or vector format when asked to, and so the old 3!:1 format can be 
kept/managed, even if perhaps a new 3!:0 type is added.





On Wednesday, February 3, 2021, 03:22:25 p.m. EST, Henry Rich 
<[email protected]> wrote: 





The multiplication algorithm is brute-force. FFT methods are orders of 
magnitude faster for large numbers.

Numbers are actually stored in base 10000 IIRC.

Extended arithmetic is not a mainstream use, but if we support it we 
might as well do it as well as we can.

Henry Rich

On 2/3/2021 3:05 PM, 'Pascal Jasmin' via Programming wrote:
> The core performance bottleneck with extended precision numbers in J is that 
> they are stored in base 10.  That decision does come with a performance 
> advantage of its own:  input and display.  I'd favour the move to 32/64 bit 
> storage even if it "broke" the 3!:1 format (although 3!:1 could convert to 
> old storage style).  J is already shipping with openssl that has large 
> integer operations.  Is there that big a case to add GMP as a dependency?
>
>
>
>
>
>
> On Wednesday, February 3, 2021, 09:47:51 a.m. EST, Henry Rich 
> <[email protected]> wrote:
>
>
>
>
>
> IF you want to get yourself in shape to make JE changes, I have a
> starter project for you: replace the extended-integer and rational
> support with GMP (or some other equally-good library).  The current code
> is serviceable but sized for 32-bit machines, and lacks fast multiplication.
>
> The code resides in vx.c and vq.c, which would be replaced with new
> versions.  There are also bits in k.c (conversions) and d.c (display).
>
> I will help as needed.
>
> Henry Rich
>
> On 2/1/2021 11:25 PM, ethiejiesa via Programming wrote:
>> Raul Miller <[email protected]> wrote:
>>> https://github.com/jsoftware/jsource/commits/master might interest you...
>> Indeed, I have the repo cloned locally!
>>
>> However, when digging through old bug reports, I find it quite challenging to
>> match up the "fixed" notices with the corresponding code commits. In cases 
>> with
>> a clear test case demonstrating the bug, we can use git-bisect to sleuth out
>> the commit that eliminates the failure. However, cases without this almost
>> invariably defeat my investigative skills.
>>
>> For posterity's sake, and if it's not too much of a hassle, I thought it 
>> might
>> be helpful to have some commits/diffs/comments attached to those "fixed"
>> messages.
>>
>> I will admit to a bit of an ulterior motive here, though.
>>
>> Bill, Eric, and Henry have deep domain knowledge about JE. I am personally
>> hoping that sharing the diffs would also spark discussion and give a natural
>> avenue to share and spread such expertise.
>>
>> The gory details are exceptionally interesting!
>>
>>
>> Permit me to query a broader point, though.
>>
>> It strikes me that the git-shortlog on the repo is very short:
>>
>>        $ git shortlog --summary
>>        6    Chris Burke
>>        231    Eric Iverson
>>        1430    HenryHRich
>>        1    bill
>>        597    bill lam
>>        3    cdb
>>        3    kbi
>>
>> For the most part, we only have 3 devs, with all of them part of the old 
>> guard,
>> per se. Better yet, Henry has authored over 62% of all commits! Granted, this
>> only reflects the history from 2016 onward, but my question is this: Do we 
>> have
>> up and coming JE hackers that can pick up the torch when the time comes?
>>
>>
>> Anyway, maybe JSoftware has a vision for the future that I've failed to pick 
>> up
>> on. The ulterior motive behind my "share a bit about the fix" is to perhaps
>> open a channel with the community that sucks in potential JE devs like 
>> myself!
>> I was just trying to be sneaky about things by suggesting something very 
>> simple
>> and, hopefully, hassle-free.
>>
>>
>> 2!:55
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>


-- 
This email has been checked for viruses by AVG.
https://www.avg.com

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