[GiNaC-devel] Erasing-inserting exhashmap
Vladimir V. Kisil
kisilv at maths.leeds.ac.uk
Thu Sep 19 17:06:19 CEST 2019
Dear All,
I have an issue with exhashmap, namely repeated
erasing-insertion of elements eventually become trapped in an infinite
loop in lines 487-491 of hash_map.h. Here is a sample code:
#include <ginac/ginac.h>
using namespace GiNaC;
int main()
{
exhashmap<ex> M;
M[realsymbol("x")] =1;
int N= 30;
for (int i =0; i < N; ++i ) {
realsymbol a("a");
M[a]=numeric(i);
M.erase(a);
}
return 0;
}
With this value of N the infinite loop appears on my computer with a
probability around 40%. With larger values of N an infinite loop is
almost certain.
Did I miss something?
Best wishes,
Vladimir
PS Also just to check that my patch for archiving empty lists from Sep
10 is not lost.
--
Vladimir V. Kisil http://www.maths.leeds.ac.uk/~kisilv/
Book: Geometry of Mobius Transformations http://goo.gl/EaG2Vu
Software: Geometry of cycles http://moebinv.sourceforge.net/
Jupyter (Colab): https://github.com/vvkisil/MoebInv-notebooks
Jupyter (CodeOcean): http://doi.org/10.24433/CO.9934595.v3
More information about the GiNaC-devel
mailing list