-
-
Notifications
You must be signed in to change notification settings - Fork 652
Description
The zn_poly SPKG is used by sage in only one place. In hypellfrob.cpp's interval_products_wrapper()
, there is a case...
if (!force_ntl && modulus <= (1UL << (ULONG_BITS - 1)) - 1)
{
// Small modulus; let's try using zn_poly if we're allowed.
...
But sometimes that fails, and the fallback is to use NTL anyway. The zn_poly project was abandoned upstream in 2008:
https://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/index.html
We've forked it to keep it building on modern systems,
https://gitlab.com/sagemath/zn_poly
but the build system is still a mess. Erik started an autotools branch (https://gitlab.com/sagemath/zn_poly/-/tree/autotooling), but it never got finished, because the source layout is a bit weird for autotools and it should most likely be redone from scratch.
And zn_poly is not packaged in Gentoo because of how many hacks it still requires to build on a distro with stronger user experience expectations:
https://github.com/cschwan/sage-on-gentoo/blob/master/sci-libs/zn_poly/zn_poly-0.9.2.ebuild
In short, we're not getting a lot of benefit out of zn_poly these days, and nothing breaks if we remove it, because the one function that uses it falls back to the more-reliable NTL anyway.
In this ticket we remove the zn_poly SPKG, to avoid having to rewrite its build system some day.
CC: @alexjbest
Component: packages: standard
Author: Michael Orlitzky
Branch/Commit: a5ac5fc
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/32841