英特尔TBB中的原子双打/浮点数

drs*_*lee 8 c++ atomic tbb

根据文档,原子支持T是整数类型,枚举类型或指针类型.英特尔TBB是否正式支持浮动/双打?我已经看到了一些补丁在这里和拉夫Schietekat 这里,这可能/可能不会被纳入最新的4.0版本.从我读过的补丁中,我注意到的唯一主要区别是将整数类型的reinterpret_cast添加到float/double.如果有人能澄清这一点,我将不胜感激.谢谢!

小智 1

您可以轻松添加对基于 64 位和 32 位原子整数构建的浮点数的支持。原子加载/存储/交换可以使用reinterpret_cast作为直接包装器来实现,原子算术操作可以使用具有原子比较交换的循环来实现。