 23 Sep, 2020 3 commits


Andreas Enge authored
Thanks to Jan Engelhardt <jengelh@inai.de> for figuring out the API of fplll5. * configure.ac: If fplll4 is not found, check for fplll5. * src/lll.cpp (lll_fplll): Add a version working with fplll5, and simplify the code for fplll4.

Andreas Enge authored
This is necessary since terminal codes for colours may appear in the output. * scripts/cmhclasspol.sh.in: Define GP_OPTS to unset the colours and use it everywhere gp is called.

Andreas Enge authored
32 bit machines may choke on addressing 8GB of stack, while smaller sizes may not be enough on large examples. This partially reverts commit 370d5ebe. Reported by Jan Engelhardt <jengelh@inai.de>. * scripts/cmhclasspol.sh.in: Drop fixing the gp stack size with "s", and drop the "f" parameter to invocations of gp.

 21 Sep, 2020 1 commit


Andreas Enge authored
* configure.ac: Replace gforge mailing list by Andreas's.

 20 Aug, 2020 3 commits


Andreas Enge authored
Increasing the initial stack size from 500k to 4M is enough for the example [296, 346, 27265]. * src/lll.cpp (lll_pari): Increase the PARI stack.

Andreas Enge authored
* src/quadratic_field.c (cmh_halfgcd): Modify to also return the second component of the PARI ghalfgcd function, and only one column of the first component. (quadratic_number_recognize): Adapt.

Andreas Enge authored
This is a trivial adaptation: The function is now called ghalfgcd, and it returns a twoelement vector with the 2x2 transformation matrix and additionally the two consecutive remainders. * src/quadratic_field.c (cmh_halfgcd): Update.

 19 Aug, 2020 2 commits


Andreas Enge authored
This is a followup to commit b15df9ff, which could lead to mpz_mul_2exp being called with a negative exponent. * src/quadratic_field.c (quadratic_number_recognize): Abort when the precision is lower than the exponent of the number.

Andreas Enge authored
* README: Add as symbolic link to README.md.

 23 Jun, 2020 2 commits


Emmanuel Thomé authored

Emmanuel Thomé authored

 16 Apr, 2019 2 commits


Andreas Enge authored
using a halfgcd; activated if an as yet unreleased version of PARI/GP is available. For [296, 346, 27265], the time for recognising coefficients drops from about 0.12s to 0.08s with FPLLL4, and from 0.75s to 0.35s with PARI. * src/quadratic_field.c (cmh_halfgcd): New function. (quadratic_number_recognize): Precondition the matrix.

Andreas Enge authored
* configure.ac: If withpari is given, modify not only the include, but also the library path.

 04 Apr, 2019 2 commits


Andreas Enge authored
* configure.ac: Change a message.

Damien Robert authored
* configure.ac: Check explicitly for "fplll/matrix.h". Version 5 of fplll has moved this header, and we do not support its new api. Signedoffby: Andreas Enge <andreas.enge@inria.fr>

 27 Feb, 2019 1 commit


Andreas Enge authored
of 2^Xp from the last column. The time for [296, 346, 27265] decreases by about a third. At the same time, drop the negligible factor s from the scaled unit matrix and replace divisions by powers of 2 by right shifts; this has no effect on the running time, while preserving correctness of the result. * src/quadratic_field.c (quadratic_number_recognize): Modify the matrix passed to LLL.

 25 Feb, 2019 7 commits


Andreas Enge authored
* examples/benchtheta.m, examples/theta.m, examples/thetatool.c: Remove files.

Andreas Enge authored
* .gitignore: Add config/testdriver.

Andreas Enge authored
* src/quadratic_field.h, src/quadratic_field.c (quadratic_number_set, quadratic_number_swap, quadratic_number_mul_z, quadratic_number_mul_z_normalize): Remove unused functions. (quadratic_number_normalize): Let the function work in place. (quadratic_number_recognize): Use macros (which do no longer clash with macros from PARI or FPLLL). * src/macros.h (fget_z): New macro.

Andreas Enge authored
* src/recognize_quadratic.cpp: Rename to... * src/lll.cpp: ...this. (recognize_quadratic): Move functionality... * src/quadratic_field.c (quadratic_number_recognize): ...here. * src/recognize_quadratic.h: Rename to... * src/lll.h: ...this. Export cmh_lll. * src/Makefile.am: Update the changed file names. * src/quadratic_field.c: Update the changed name of the included file.

Andreas Enge authored
* src/recognize_quadratic.cpp (recognize_quadratic_pari, recognize_quadratic_fplll): Remove functions. (lll_pari, lll_fplll): New functions encapsulating the LLL algorithm on matrices with mpz_t coefficients. (recognize_quadratic): Put all the logic here.

Andreas Enge authored
* src/macros.h (min, max): Rename to CMH_MIN and CMH_MAX. * src/misc.c, src/newton.c: Replace the macro calls.

Andreas Enge authored
* configure.ac: Update version number.

 21 Feb, 2019 5 commits


Andreas Enge authored
* src/macros.h: Replace "GMP_RNDN" by "MPFR_RNDN". Add fset_z.

Andreas Enge authored
* src/macros.h: Remove tabs and shuffle macros.

Andreas Enge authored
The commit yields a wrong polynomial for [D, A, B] = [157, 3, 13]. This reverts commit e77b5aca.

Andreas Enge authored
* .gitignore: Add files created by the test.

Andreas Enge authored
* tests/Makefile.am, tests/test.sh, tests/example.pol: New files. * Makefile.am (SUBDIRS): Add tests. * configure.ac (AC_CONFIG_FILES): Add tests/Makefile.

 20 Feb, 2019 1 commit


Andreas Enge authored
of them with the currently known denominator instead of a fixed factor depending only on the number of the polynomial. * src/cm2.c (reconstruction_prepare_for_coeff): Multiply coefficient by state>denom_lcm instead of state>premult. (recognise_quadratic_coefficients): Set state>denom_lcm instead of state>premult. * rsrc/cm2.h (reconstruction_status_s): Drop the premult field.

 07 Dec, 2018 3 commits


Andreas Enge authored
GP scripts. * configure.ac: Increase minimal PARI/GP version to 2.9. * scripts/shimura.gp: Drop Vecrev_compat function and use Vecrec instead.

Andreas Enge authored
* .gitignore: Add src/cm2mpi.

Andreas Enge authored
* src/recognize_quadratic.cpp (recognize_quadratic_pari): Define the function only when it is used.

 21 Nov, 2018 2 commits


Andreas Enge authored
* configure.ac: When FPLLL is found, set HAVE_FPLLL in config.h; otherwise just emit a warning instead of an error. * src/recognize_quadratic.cpp (recognize_quadratic): Call recognize_quadratic_pari instead of recognize_quadratic_fplll if FPLLL is not available.

Andreas Enge authored
* src/recognize_quadratic.cpp (recognize_quadratic_pari): New function. (recognize_quadratic_fplll): Rename from... (recognize_quadratic): ...this. Rewrite this function to call FPLLL, since PARI is much slower. * src/recognize_quadratic.h: Include parsepari.h. * src/Makefile.am: Link with libparsepari.

 16 Nov, 2018 6 commits


Andreas Enge authored
* configure.ac: Modify the check for PARI to not only check for the header file, but to also try to link a program, and add the linker flag.

Andreas Enge authored
* src/parsepari.c (mpz_set_GEN): New function. (mpz_get_GEN): Renamed from mpz_get_Z and made public. * src/parsepari.h: Declare the two public functions.

Andreas Enge authored
* configure.ac: Drop AM_PROG_CC_C_O, obsolete since automake 1.14.

Andreas Enge authored
* src/cmh.h: Correct endianness in the theta function labelling.

Andreas Enge authored
* config/checkversion.sh: Remove file. * configure.ac: Substitute AC_PACKAGE_VERSION for CMH_LONG_VERSION. * src/version.c.in: Drop commented out line.

Andreas Enge authored
* .gitignore: New file.
