mirror of
https://github.com/boostorg/math.git
synced 2026-01-31 08:22:09 +00:00
24 lines
840 B
Plaintext
24 lines
840 B
Plaintext
[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]
|