游戏王残局简化版

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

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

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

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
8dd55b61b6 2024-02-06    5: local d = {}
47e0a87646 2024-02-10    6: -- 指数
82138b1e52 2024-02-06    7: --~ 左加数
82138b1e52 2024-02-06    8: --~ 右加数
47e0a87646 2024-02-10    9: function d.指数(o1, o2, o3)
47e0a87646 2024-02-10   10:   local k1
47e0a87646 2024-02-10   11:   if o3 then
47e0a87646 2024-02-10   12:     --~ 指数次
47e0a87646 2024-02-10   13:     k1 = 基算库.除法(o2, o3)
47e0a87646 2024-02-10   14:     return o1 ^ k1
47e0a87646 2024-02-10   15:   else
47e0a87646 2024-02-10   16:     return o1 ^ o2
47e0a87646 2024-02-10   17:     end
47e0a87646 2024-02-10   18:   end
62e417ee6c 2024-02-10   19: -- 指数次
62e417ee6c 2024-02-10   20: --~ 数
62e417ee6c 2024-02-10   21: --~ 指数底
62e417ee6c 2024-02-10   22: function d.指数次(o1, o2)
62e417ee6c 2024-02-10   23:   local k1
62e417ee6c 2024-02-10   24:   --~ 指数次
62e417ee6c 2024-02-10   25:   k1 = math.log(o1) / math.log(o2)
62e417ee6c 2024-02-10   26:   return k1
62e417ee6c 2024-02-10   27:   end
95b5664d69 2024-02-10   28: --~ 数
95b5664d69 2024-02-10   29: function d.二底指数次(o1)
95b5664d69 2024-02-10   30:   local k1
95b5664d69 2024-02-10   31:   --~ 指数次
95b5664d69 2024-02-10   32:   _, k1 = math.frexp(o1)
95b5664d69 2024-02-10   33:   return k1
95b5664d69 2024-02-10   34:   end
47e0a87646 2024-02-10   35: -- 向上取整和向下取整
47e0a87646 2024-02-10   36: --~ 数
47e0a87646 2024-02-10   37: function d.向下取整(o1)
47e0a87646 2024-02-10   38:   return math.floor(o1)
62e417ee6c 2024-02-10   39:   end
95b5664d69 2024-02-10   40: -- 几位整数和几位小数
62e417ee6c 2024-02-10   41: --~ 数
62e417ee6c 2024-02-10   42: --~ 几位整数
62e417ee6c 2024-02-10   43: function d.几位整数(o1, o2)
62e417ee6c 2024-02-10   44:   return string.format("%0" .. o2 .. "d", o1)
95b5664d69 2024-02-10   45:   end
95b5664d69 2024-02-10   46: --~ 数
95b5664d69 2024-02-10   47: --~ 几位小数
95b5664d69 2024-02-10   48: function d.几位小数(o1, o2)
95b5664d69 2024-02-10   49:   return string.format("%." .. o2 .. "f", o1)
47e0a87646 2024-02-10   50:   end
47e0a87646 2024-02-10   51: --~ 数
47e0a87646 2024-02-10   52: function d.负数(o1)
47e0a87646 2024-02-10   53:   return -o1
47e0a87646 2024-02-10   54:   end
47e0a87646 2024-02-10   55: -- 绝对值
47e0a87646 2024-02-10   56: function d.绝对值(o1)
47e0a87646 2024-02-10   57:   if o1 > 0 then
47e0a87646 2024-02-10   58:     return o1
47e0a87646 2024-02-10   59:   else
47e0a87646 2024-02-10   60:     return d.负数(o1)
bd61a4ccbd 2024-02-12   61:     end
bd61a4ccbd 2024-02-12   62:   end
bd61a4ccbd 2024-02-12   63: -- 正数与负数
bd61a4ccbd 2024-02-12   64: function d.正数(o1)
bd61a4ccbd 2024-02-12   65:   if o1 >= 0 then
bd61a4ccbd 2024-02-12   66:     return o1
bd61a4ccbd 2024-02-12   67:   else
bd61a4ccbd 2024-02-12   68:     return -o1
ed6d06d03d 2024-02-12   69:     end
ed6d06d03d 2024-02-12   70:   end
c3565d121c 2024-02-10   71: -- 递加
c3565d121c 2024-02-10   72: do
c3565d121c 2024-02-10   73:   local k1_0
c3565d121c 2024-02-10   74:   --~ 数表
c3565d121c 2024-02-10   75:   k1_0 = {}
c3565d121c 2024-02-10   76:   function d.递加(o1)
c3565d121c 2024-02-10   77:     if k1_0[o1] then
c3565d121c 2024-02-10   78:     else
c3565d121c 2024-02-10   79:       k1_0[o1] = 0
c3565d121c 2024-02-10   80:       end
c3565d121c 2024-02-10   81:     k1_0[o1] = k1_0[o1] + 1
c3565d121c 2024-02-10   82:     return k1_0[o1]
c3565d121c 2024-02-10   83:     end
95b5664d69 2024-02-10   84:   end
95b5664d69 2024-02-10   85: -- 最值
95b5664d69 2024-02-10   86: function d.最大值()
95b5664d69 2024-02-10   87:   return math.huge
95b5664d69 2024-02-10   88:   end
95b5664d69 2024-02-10   89: function d.最小值()
95b5664d69 2024-02-10   90:   local k1
95b5664d69 2024-02-10   91:   --~ 最大值
95b5664d69 2024-02-10   92:   k1 = d.最大值()
95b5664d69 2024-02-10   93:   return d.负数(k1)
95b5664d69 2024-02-10   94:   end
95b5664d69 2024-02-10   95: --~ 数
95b5664d69 2024-02-10   96: function d.是否最值(o1)
95b5664d69 2024-02-10   97:   if o1 == d.最大值()
95b5664d69 2024-02-10   98:   or o1 == d.最小值() then
95b5664d69 2024-02-10   99:     return true
95b5664d69 2024-02-10  100:   else
95b5664d69 2024-02-10  101:     end
ed6d06d03d 2024-02-12  102:   end
ed6d06d03d 2024-02-12  103: --~ 数
ed6d06d03d 2024-02-12  104: function d.是否无效值(o1)
ed6d06d03d 2024-02-12  105:   if o1 == o1 then
ed6d06d03d 2024-02-12  106:   else
ed6d06d03d 2024-02-12  107:     return true
ed6d06d03d 2024-02-12  108:     end
ed6d06d03d 2024-02-12  109:   end
ed6d06d03d 2024-02-12  110: --~ 数
ed6d06d03d 2024-02-12  111: function d.是否错值(o1)
ed6d06d03d 2024-02-12  112:   local k1, k2
ed6d06d03d 2024-02-12  113:   --~ 是否最值
ed6d06d03d 2024-02-12  114:   k1 = d.是否最值(o1)
ed6d06d03d 2024-02-12  115:   --~ 是否无效值
ed6d06d03d 2024-02-12  116:   k2 = d.是否无效值(o1)
ed6d06d03d 2024-02-12  117:   return k1 or k2
420d28e057 2024-02-06  118:   end
8dd55b61b6 2024-02-06  119: return d