I have found the archiving procedure to behave strangely and was wondering if anyone has also seen this or if they know the solution. I am using GiNaC-1.2.1 with cln-1.1.7. This is all compiled with cygwin. What happens is the following. I have a database that I wish to store both the index and the referenced expression in the archive. For small archives the numerical factors on my expressions remain rational and the sqrt's remain un-evalf()'d. Unfortunately, it seems that when my archive gets large the rational expressions and the sqrt()'s evaluate to real numbers. I have done the following to confirm all of this. My software is using the same algorithm with no code changed but using two different models. The models dictate the size of the database. When I save and load with the smaller model, all the rational and sqrts are returned properly. When I do so with the larger model, they all return as real numbers. I have used a viewgar-like program to confirm that they have indeed been saved as real values, rather than the rationals/sqrts for the larger model, but the expressions I give to archive_ex have not been evalf'd. Can anyone explain why this may happen or if this is intentional in the design (speed of archiving for example)? It seems to occur between creating the archive and saving it to a file. It isn't vital to my software, just an aesthetic thing that would be useful for users. Just as an idea (since I don't really know how to 'reproduce' this behaviour) the gar file for two models that work properly are 25KB and 205KB but for the one that doesn't work right it is 1.1 MB. Thanks for any help!
participants (1)
-
Phil Stephens