检查变量是否为无穷大
Check if variable is infinity
我正在编写程序,其中存在添加变量,可能是无穷大。在某些地方 neg_infinity + infinity
应该是 neg_infinity
或 infinity
,所以我试图让 'if' 来保证正确的结果。但我不知道如何检查变量是否为无穷大。
简单的if variable = infinity
是错误的,导致infinity = infinity
和infinity != infinity
。 Example。片段:
let p = 42. /. 0.;;
if p = infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
if p != infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
打印双倍 "YES"。甚至 p <= infinity
和 p >= infinity
.
我的想法是检查,如果 p >= infinity
(我相信,只有无穷大可以满足不等式。),但我不知道它是否总是正确的。
还检查了 ==
,但没有按预期工作。
我不知道,OCaml 中如何正确解析它,那么它应该如何实现?
不要使用 !=
表示不等式,使用 <>
.
# let p = 42. /. 0.;;
val p : float = infinity
# p = infinity;;
- : bool = true
# p <> infinity;;
- : bool = false
#
通用相等性是 =
。
通用不等式是 <>
.
特殊目的(奇怪和不愉快)平等是 ==
。
特殊目的(奇怪且不愉快)的不等式是 !=
。
(我在开玩笑,但不是开玩笑。)
我正在编写程序,其中存在添加变量,可能是无穷大。在某些地方 neg_infinity + infinity
应该是 neg_infinity
或 infinity
,所以我试图让 'if' 来保证正确的结果。但我不知道如何检查变量是否为无穷大。
简单的if variable = infinity
是错误的,导致infinity = infinity
和infinity != infinity
。 Example。片段:
let p = 42. /. 0.;;
if p = infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
if p != infinity then
print_string "Yes!\n"
else
print_string "NO!\n";;
打印双倍 "YES"。甚至 p <= infinity
和 p >= infinity
.
我的想法是检查,如果 p >= infinity
(我相信,只有无穷大可以满足不等式。),但我不知道它是否总是正确的。
还检查了 ==
,但没有按预期工作。
我不知道,OCaml 中如何正确解析它,那么它应该如何实现?
不要使用 !=
表示不等式,使用 <>
.
# let p = 42. /. 0.;;
val p : float = infinity
# p = infinity;;
- : bool = true
# p <> infinity;;
- : bool = false
#
通用相等性是 =
。
通用不等式是 <>
.
特殊目的(奇怪和不愉快)平等是 ==
。
特殊目的(奇怪且不愉快)的不等式是 !=
。
(我在开玩笑,但不是开玩笑。)