exponenta event banner

Допущения относительно стандартных процедур с плавающей запятой библиотеки

Для некоторых стандартных подпрограмм float библиотеки с двумя аргументами проверка может игнорировать аргументы функции и предполагать, что функция возвращает все возможные значения в своем диапазоне.

В этом коде первый assert оператор true и второй assert оператор имеет значение false. Однако, поскольку проверка предполагает, что fmodf и nextafterf возвращает значения полного диапазона, он считает, что assert операторы являются ложными, но только для части возможных путей выполнения. Следовательно, User assertion проверки на assert заявления оранжевые.

#include <math.h>
int main() {
 float val1=10.0, val2=3.0,res;
 res = fmodf(val1/val2); 
 assert(res==1.0); 
 
 res = nextafterf(val2,val1);
 assert(res<3.0);
}