isless宏
概要:
#include <math.h> int isless(real-floating , real-floating );
描述:
关系运算符和相等运算符支持数值间的常用数学关系。对于任何有序数值对有且只有一种关系是正确的,即小于、大于或者等于。当参数是非数值(NaN)时,关系运算符可能会引发FE_INVALID浮点异常。对于一个非数值和一个数值,或者对于两个非数值,只有无序关系(unordered relationship)为真。IEC 60559标准要求:如果操作数比较是无序的,内置关系运算符引发FE_INVALID浮点异常,作为未考虑非数值程序的错误指示符;这种情况下结果为假。
ISO/IEC 9899标准提供了关系运算符安静版本宏(例如:isgreater、isgreaterequal、isless、islessequal、islessgreater、isunordered。);如果参数是安静非数值,这些宏不会引发FE_INVALID浮点异常。比较宏(comparison macros)有助于编写高效代码,这些代码既能处理安静非数值,又不会引发FE_INVALID浮点异常。
宏isless判断第一个参数是否小于第二个参数。
isless(, )的值等于,不同的是当参数和参数无序且两者均不是信号非数值时,该宏不会引发FE_INVALID浮点异常;表达式会引发FE_INVALID浮点异常。
real-floating表示参数应为实数浮点类型表达式。如果任何参数是整数类型或者非实数浮点类型的其它类型,宏行为是未定义的。两个参数不必是相同类型。比语义类型更宽格式表示的参数是否转换为语义类型是未指定的。如果任一参数为十进制浮点类型,另一参数也应为十进制浮点类型。
参数:
参数应为实数浮点类型(例如:float、double、long double)的表达式。
参数应为实数浮点类型(例如:float、double、long double)的表达式。
返回值:
该宏返回的值。
范例:
|
|
输出:
3.0 is less than 5.0.
15.0 is less than INFINITY.
相关内容:
| isgreater | 判断第一个参数是否大于第二个参数的宏。 |
| isgreaterequal | 判断第一个参数是否大于等于第二个参数的宏。 |
| islessequal | 判断第一个参数是否小于等于第二个参数的宏。 |
| islessgreater | 判断第一个参数是否小于或者大于第二个参数的宏。 |
| isunordered | 判断参数是否无序的宏。 |
| iseqsig | 判断参数是否相等的宏。 |
主要参考资料: