@YuHao уже указал, что означает +/- 1. # INF (+ -inf) и -1. # IND (nan), поэтому я просто добавлю, как с этим бороться (что мне просто нужно было) в Lua:
- "инф" (+/- 1. # INF), тем выше число значений, что (Луа/с) может представлять и язык предусматривает, что константа для вас: "math.huge". Таким образом, вы можете протестировать число внутри Lua для + -INF; функция «isINF()» ниже показывает, как ее использовать.
- «nan» (- 1. # IND) - это то, что нельзя обрабатывать численно: оно должно быть числом, его нет, и все, что вы делаете с ним, - это что угодно, кроме числа. имея в виду, что ни один NaN не равен другим NaN; проверьте для NaN, как функция «isNAN()» ниже.
local function isINF(value)
return value == math.huge or value == -math.huge
end
local function isNAN(value)
return value ~= value
end
'1/0',' -1/0 'и' 0/0 ' –
Ваш Lua сборки необходимо использовать тип с плавающей точкой для 'типа number' Lua в , (Строка Lua по умолчанию использует тип C 'double'.) См. [Что каждый компьютерный ученый должен знать о арифметике с плавающей точкой] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg .html) Дэвида Голдберга. –