local 字集库 = require("u8_to_a")
local 基算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_基算"))
local math = math
local string = string
local d = {}
-- 指数
--~ 左加数
--~ 右加数
function d.指数(o1, o2, o3)
local k1
if o3 then
--~ 指数次
k1 = 基算库.除法(o2, o3)
return o1 ^ k1
else
return o1 ^ o2
end
end
-- 指数次
--~ 数
--~ 指数底
function d.指数次(o1, o2)
local k1
--~ 指数次
k1 = math.log(o1) / math.log(o2)
return k1
end
--~ 数
function d.二底指数次(o1)
local k1
--~ 指数次
_, k1 = math.frexp(o1)
return k1
end
-- 向上取整和向下取整
--~ 数
function d.向下取整(o1)
return math.floor(o1)
end
-- 几位整数和几位小数
--~ 数
--~ 几位整数
function d.几位整数(o1, o2)
return string.format("%0" .. o2 .. "d", o1)
end
--~ 数
--~ 几位小数
function d.几位小数(o1, o2)
return string.format("%." .. o2 .. "f", o1)
end
--~ 数
function d.负数(o1)
return -o1
end
-- 绝对值
function d.绝对值(o1)
if o1 > 0 then
return o1
else
return d.负数(o1)
end
end
-- 递加
do
local k1_0
--~ 数表
k1_0 = {}
function d.递加(o1)
if k1_0[o1] then
else
k1_0[o1] = 0
end
k1_0[o1] = k1_0[o1] + 1
return k1_0[o1]
end
end
-- 最值
function d.最大值()
return math.huge
end
function d.最小值()
local k1
--~ 最大值
k1 = d.最大值()
return d.负数(k1)
end
--~ 数
function d.是否最值(o1)
if o1 == d.最大值()
or o1 == d.最小值() then
return true
else
end
end
--~ 数
function d.是否无效值(o1)
if o1 == o1 then
else
return true
end
end
--~ 数
function d.是否错值(o1)
local k1, k2
--~ 是否最值
k1 = d.是否最值(o1)
--~ 是否无效值
k2 = d.是否无效值(o1)
return k1 or k2
end
return d