是每个线程或每个进程的C99 fesetround()/ fegetround()状态?

idu*_*ree 3 c floating-point c99 thread-safety c11

我在网上找到的C和POSIX引用没有指定C99的fesetround()的线程安全性.甚至GNU文档也没有[1].状态是每线程还是每个进程?

[1] https://www.gnu.org/software/hello/manual/libc.html#Rounding

idu*_*ree 8

C11,定义了线程和fesetround(),回答它是每个线程.(这是唯一合理的答案,但必须说明.)

草案N1570 [1]节7.6.2:"浮点环境线程存储时限为线程的浮点环境的初始状态是螺纹的浮点环境在该时间创建它的当前状态.创造."

[1] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf