std::nexttoward
関数コールで次のコードが同じ番号を返すのはなぜですか?すべてのstd :: nexttoward関数呼び出しで同じ結果が得られる理由
#include <cmath>
#include <iostream>
#include <limits>
int main()
{
std::cout.precision(std::numeric_limits<double>::max_digits10);
std::cout.setf(std::ios::fixed);
auto foo = 0.00000000000011134;
std::cout << foo << std::endl;
for (int i = 0; i < 100; ++i)
{
foo = std::nexttoward(foo, 1.0);
std::cout << foo << std::endl;
}
}
http://coliru.stacked-crooked.com/a/551b6e2b867b2f3b
フラグのいずれもhere(FE_OVERFLOW、FE_UNDERFLOWиFE_INEXACT)が設定されて述べられていません。