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)
  if o1 >= 0 then
    return o1
  else
    return -o1
    end
  end
--~ 数
function d.负数(o1)
  if o1 >= 0 then
    return -o1
  else
    return 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
