Нет. double_t
равно как минимум в ширину как двойная; то есть это может быть то же самое, что и double. Сноска 190 в стандарте C99 проясняет намерение:
Типы float_t и double_t:
предназначен для реализации
наиболее эффективные типы, по крайней мере, такие же широкие
как float и double соответственно.
Как заметил Майкл Барр, вы не можете установить FLT_EVAL_METHOD
.
Если вам нужен самый широкий тип с плавающей запятой в любой системе, доступной только на C99, используйте long double
. Просто помните, что на некоторых платформах это будет то же самое, что и double
(и даже может быть таким же, как float
).
Кроме того, если вы «работаете с числовыми методами», вы должны знать, что для многих (наиболее четных) численных методов погрешность аппроксимации метода значительно больше, чем ошибка округления двойной точности, поэтому зачастую нет никакой выгоды использовать более широкие типы. Исключения существуют, конечно. Какой тип численных методов вы работаете, в частности?
Редактировать: серьезно, либо (а) просто используйте long double
и назовите его день, либо (б) потратьте несколько недель, чтобы узнать о том, как на самом деле реализована плавающая точка на платформах, которые вы Вы нацеливаетесь, и каковы фактические требования к точности для алгоритмов, которые вы реализуете.