Skip to content

put minieigen sources back into Yade

Janek Kozicki requested to merge useMinieigen into finalizeHighPrecisionReal

Dependency on minieigen

We could drop dependency on python3-minieigen package, by extra 18-25 seconds compilation time in the double case. Or in the opposite direction if we managed to create packages python3-minieigen-long-double python3-minieigen-float128 etc., the compilation could be faster in these cases ;) But I suppose that in such case @gladk and @bchareyre you would have to comment here that we decided to maintain minieigen.

Currently It works now in a following way:

  • when double is used, the python3-minieigen package is used; no extra compilation time.
  • when non-double is used, then extra 18 to 25 seconds are spent on (parallel) compiling minieigen (after splitting .cpp files the compilation time got reduced from original 33 seconds). The define _HIGH_PRECISION_SUPPORT is the "toggle" whether to use internal copy of minieigen.

Back to vanilla docker build images:

I should update .gitlab-ci.yml to use vanilla build images. But the dependencies are different between the variants:

  • when double is used, required packages: python3-minieigen
  • when non-double is used, required packages: python-mpmath
  • when MPFR is used, required packages: python-mpmath libmpfr-dev libmpfrc++-dev

So, should we have just one bullseye build image with 3 additional pacakges: python-mpmath libmpfr-dev libmpfrc++-dev ? Or should we have more build images, to eventually detect if MPFR is used by something else? (note: for example CGAL has capability to use MPFR for exact predicates).

I think that one image could be enough. But @gladk, if you think that we better avoid cross-contamination of build dependencies, then we could have 2 or 3 build images.

Edited by Janek Kozicki

Merge request reports