[section:threads Thread Safety] The library is fully thread safe and re-entrant provided the function and class templates in the library are instantiated with built-in floating point types: i.e. the types `float`, `double` and `long double`. However, the library [*is not thread safe] when used with user-defined (i.e. class type) numeric types. The reason for the latter limitation is the need to initialise symbolic constants using constructs such as: static const T coefficient_array = { ... list of values ... }; Which is always thread safe when T is a built-in floating point type, but not when T is a user defined type: as in this case there is a need for T's constructors to be run, leading to potential race conditions. This limitation may be addressed in a future release. [endsect] [/section:threads Thread Safety] [/ Copyright 2006 John Maddock and Paul A. Bristow. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ]