Учитывая, что (x! = x) не всегда гарантируется для NaN (например, если используется опция -ffast-math), я использовал:
#define IS_NAN(x) (((x) < 0) == ((x) >= 0))
Номера не могут быть как & lt; 0 и> = 0, так что эта проверка проверяется только тогда, если число не меньше или равно нулю или равно нулю. Это вообще не номер или NaN.
Вы также можете использовать это, если хотите:
#define IS_NAN(x) (!((x)<0) && !((x)>=0)
Я не уверен, как это влияет на -ffast- математика, хотя, поэтому ваш пробег может измениться.
Поиск в Google? : -)
Вам нужно установить путь к библиотеке Java, чтобы он указывал на or-tools / lib.
https://examples.javacodegeeks.com/java-basics/java-library-path-what-is-it-and-how-to-use/