游戏王残局简化版

Annotation For 残局文料/lua_lib/算机_程语_月_基类_数.lua
Login

Annotation For 残局文料/lua_lib/算机_程语_月_基类_数.lua

Origin for each line in 残局文料/lua_lib/算机_程语_月_基类_数.lua from check-in 89f423ff38:

47e0a87646 2024-02-10    1: local 字集库 = require("u8_to_a")
47e0a87646 2024-02-10    2: local 基算库 = require(字集库.u8_to_a("算机_程语_月_基类_数_基算"))
47e0a87646 2024-02-10    3: local math = math
62e417ee6c 2024-02-10    4: local string = string
5b9fb5e09f 2024-02-13    5: local s = {}
47e0a87646 2024-02-10    6: -- 指数
82138b1e52 2024-02-06    7: --~ 左加数
82138b1e52 2024-02-06    8: --~ 右加数
4c19907139 2024-02-13    9: function s.指数(u1, u2, u3)
89f423ff38 2024-02-13   10:   local h1
4c19907139 2024-02-13   11:   if u3 then
62e417ee6c 2024-02-10   12:     --~ 指数次
89f423ff38 2024-02-13   13:     h1 = 基算库.除法(u2, u3)
89f423ff38 2024-02-13   14:     return u1 ^ h1
62e417ee6c 2024-02-10   15:   else
a4c0b3bd26 2024-02-13   16:     return u1 ^ u2
62e417ee6c 2024-02-10   17:     end
62e417ee6c 2024-02-10   18:   end
62e417ee6c 2024-02-10   19: -- 指数次
62e417ee6c 2024-02-10   20: --~ 数
62e417ee6c 2024-02-10   21: --~ 指数底
a4c0b3bd26 2024-02-13   22: function s.指数次(u1, u2)
89f423ff38 2024-02-13   23:   local h1
a4c0b3bd26 2024-02-13   24:   --~ 指数次
89f423ff38 2024-02-13   25:   h1 = math.log(u1) / math.log(u2)
89f423ff38 2024-02-13   26:   return h1
a4c0b3bd26 2024-02-13   27:   end
a4c0b3bd26 2024-02-13   28: --~ 数
a4c0b3bd26 2024-02-13   29: function s.二底指数次(u1)
89f423ff38 2024-02-13   30:   local h1
a4c0b3bd26 2024-02-13   31:   --~ 指数次
89f423ff38 2024-02-13   32:   _, h1 = math.frexp(u1)
89f423ff38 2024-02-13   33:   return h1
5b9fb5e09f 2024-02-13   34:   end
5b9fb5e09f 2024-02-13   35: -- 向大取整和向小取整
5b9fb5e09f 2024-02-13   36: --~ 数
a4c0b3bd26 2024-02-13   37: function s.向小取整(u1)
a4c0b3bd26 2024-02-13   38:   return math.floor(u1)
5b9fb5e09f 2024-02-13   39:   end
5b9fb5e09f 2024-02-13   40: -- 几位整数和几位小数
5b9fb5e09f 2024-02-13   41: --~ 数
5b9fb5e09f 2024-02-13   42: --~ 几位整数
a4c0b3bd26 2024-02-13   43: function s.几位整数(u1, u2)
a4c0b3bd26 2024-02-13   44:   return string.format("%0" .. u2 .. "d", u1)
5b9fb5e09f 2024-02-13   45:   end
5b9fb5e09f 2024-02-13   46: --~ 数
5b9fb5e09f 2024-02-13   47: --~ 几位小数
a4c0b3bd26 2024-02-13   48: function s.几位小数(u1, u2)
a4c0b3bd26 2024-02-13   49:   return string.format("%." .. u2 .. "f", u1)
5b9fb5e09f 2024-02-13   50:   end
5b9fb5e09f 2024-02-13   51: -- 正数与负数
5b9fb5e09f 2024-02-13   52: --~ 数
a4c0b3bd26 2024-02-13   53: function s.正数(u1)
a4c0b3bd26 2024-02-13   54:   if u1 >= 0 then
a4c0b3bd26 2024-02-13   55:     return u1
5b9fb5e09f 2024-02-13   56:   else
a4c0b3bd26 2024-02-13   57:     return -u1
5b9fb5e09f 2024-02-13   58:     end
5b9fb5e09f 2024-02-13   59:   end
5b9fb5e09f 2024-02-13   60: --~ 数
a4c0b3bd26 2024-02-13   61: function s.负数(u1)
a4c0b3bd26 2024-02-13   62:   if u1 >= 0 then
a4c0b3bd26 2024-02-13   63:     return -u1
5b9fb5e09f 2024-02-13   64:   else
a4c0b3bd26 2024-02-13   65:     return u1
5b9fb5e09f 2024-02-13   66:     end
5b9fb5e09f 2024-02-13   67:   end
5b9fb5e09f 2024-02-13   68: -- 递加
5b9fb5e09f 2024-02-13   69: do
0a84ce44ba 2024-02-13   70:   local h1_0
5b9fb5e09f 2024-02-13   71:   --~ 数表
0a84ce44ba 2024-02-13   72:   h1_0 = {}
a4c0b3bd26 2024-02-13   73:   function s.递加(u1)
0a84ce44ba 2024-02-13   74:     if h1_0[u1] then
5b9fb5e09f 2024-02-13   75:     else
0a84ce44ba 2024-02-13   76:       h1_0[u1] = 0
5b9fb5e09f 2024-02-13   77:       end
0a84ce44ba 2024-02-13   78:     h1_0[u1] = h1_0[u1] + 1
0a84ce44ba 2024-02-13   79:     return h1_0[u1]
5b9fb5e09f 2024-02-13   80:     end
5b9fb5e09f 2024-02-13   81:   end
5b9fb5e09f 2024-02-13   82: -- 最值
5b9fb5e09f 2024-02-13   83: function s.最大值()
5b9fb5e09f 2024-02-13   84:   return math.huge
5b9fb5e09f 2024-02-13   85:   end
5b9fb5e09f 2024-02-13   86: function s.最小值()
89f423ff38 2024-02-13   87:   local h1
5b9fb5e09f 2024-02-13   88:   --~ 最大值
89f423ff38 2024-02-13   89:   h1 = s.最大值()
89f423ff38 2024-02-13   90:   return s.负数(h1)
5b9fb5e09f 2024-02-13   91:   end
5b9fb5e09f 2024-02-13   92: --~ 数
a4c0b3bd26 2024-02-13   93: function s.是否最值(u1)
a4c0b3bd26 2024-02-13   94:   if u1 == s.最大值()
a4c0b3bd26 2024-02-13   95:   or u1 == s.最小值() then
5b9fb5e09f 2024-02-13   96:     return true
5b9fb5e09f 2024-02-13   97:   else
5b9fb5e09f 2024-02-13   98:     end
5b9fb5e09f 2024-02-13   99:   end
5b9fb5e09f 2024-02-13  100: --~ 数
a4c0b3bd26 2024-02-13  101: function s.是否无效值(u1)
a4c0b3bd26 2024-02-13  102:   if u1 == u1 then
5b9fb5e09f 2024-02-13  103:   else
5b9fb5e09f 2024-02-13  104:     return true
5b9fb5e09f 2024-02-13  105:     end
5b9fb5e09f 2024-02-13  106:   end
5b9fb5e09f 2024-02-13  107: --~ 数
a4c0b3bd26 2024-02-13  108: function s.是否错值(u1)
89f423ff38 2024-02-13  109:   local h1, h2
5b9fb5e09f 2024-02-13  110:   --~ 是否最值
89f423ff38 2024-02-13  111:   h1 = s.是否最值(u1)
5b9fb5e09f 2024-02-13  112:   --~ 是否无效值
89f423ff38 2024-02-13  113:   h2 = s.是否无效值(u1)
89f423ff38 2024-02-13  114:   return h1 or h2
5b9fb5e09f 2024-02-13  115:   end
5b9fb5e09f 2024-02-13  116: return s