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
-~----------~----~----~----~------~----~------~--~---

Reply via email to