16 lines
542 B
Ruby
16 lines
542 B
Ruby
inf = 1.0 / 0.0 # or Float::INFINITY
|
|
nan = 0.0 / 0.0 # or Float::NAN
|
|
|
|
expression = [
|
|
"1.0 / 0.0", "-1.0 / 0.0", "0.0 / 0.0", "- 0.0",
|
|
"inf + 1", "5 - inf", "inf * 5", "inf / 5", "inf * 0",
|
|
"1.0 / inf", "-1.0 / inf", "inf + inf", "inf - inf",
|
|
"inf * inf", "inf / inf", "inf * 0.0", " 0 < inf", "inf == inf",
|
|
"nan + 1", "nan * 5", "nan - nan", "nan * inf", "- nan",
|
|
"nan == nan", "nan > 0", "nan < 0", "nan == 0", "nan <=> 0.0", "0.0 == -0.0",
|
|
]
|
|
|
|
expression.each do |exp|
|
|
puts "%15s => %p" % [exp, eval(exp)]
|
|
end
|