I've provided OPENSSL bindings including miller-rabin on large numbers. https://github.com/Pascal-J/BN-openssl-bindings-for-J
openssl is/was included in windows J distributions. And available as near default on linux/mac afaik. The case for libgmp may be better for "overall math" but since both are open source, if it were better at primality testing, openssl will copy it. Libgmp may also form the heart of the CPU backend to arrayfire. And a gpu backend (even universal opencl) to primality testing is the more likely successor to supplanting a openssl limited performance metric based replacement. On Wednesday, March 9, 2022, 02:21:56 p.m. EST, Raul Miller <[email protected]> wrote: On Tue, Jan 25, 2022 at 8:38 PM Julian Fondren <[email protected]> wrote: > I'll get it done. How is this proceeding? (I have been tempted to tackle this integration myself, but between laptop failures and some other issues, I have not gotten around to it, yet.) I will say this: Because of how J is typically installed, I think that the right approach here would be to statically link against libgmp. Dynamic links are appropriate in a variety of cases, but not this one, not for the initial port. (Once libgmp is supported, it would be possible to build J against a dynamically linked libgmp, but while that might be right for some people, most people are not going to want to deal with the consequences of that approach.) Anyways, ... I might yet get around to tackling this by myself, but if you're making good progress, I should probably either just wait or try to pitch in on issues which are eating too much of your time. Thanks, -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
