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