In general there aren't global variables, with a couple of important exceptions. One is the memory manager, particularly the stack based manager, is not currently threadsafe. But as releasing memory back to the stack is actually done by calling a function rather than some macro, this can definitely be done on a per thread basis. So it's not all that difficult to fix.
There is also a function fmpz_poly_mul_modular, which is currently not threadsafe but will be soon. Also, some of the random functions are not threadsafe. They might return garbage if you try and call them from multiple threads. ;-o Those problems should be fixed eventually. I don't know precisely when, it's just a matter of finding the time. Soon I hope. At any rate there are not the sorts of problems with making FLINT threadsafe that NTL has. The library has been designed from the start with this in mind. Bill. On 26 Jan, 14:27, parisse <bernard.pari...@ujf-grenoble.fr> wrote: > > Well, FLINT ought to be faster at plain univariate GCD than NTL, > > whether over Z or Z/pZ. You probably need to use the functions in the > > NTL-interface module to convert between NTL format polynomials and > > FLINT polynomials. > > Moreover, I guess your library does not have global variables, hence > can be called from concurrent threads, right? --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---