summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--locale/zh-CN/meta.lni48
-rw-r--r--meta/template/math.lua68
-rw-r--r--meta/template/os.lua25
3 files changed, 137 insertions, 4 deletions
diff --git a/locale/zh-CN/meta.lni b/locale/zh-CN/meta.lni
index 61e48393..5d69d88b 100644
--- a/locale/zh-CN/meta.lni
+++ b/locale/zh-CN/meta.lni
@@ -251,3 +251,51 @@ end
"filetype.file" = 是一个打开的文件句柄。
"filetype.closed file" = 是一个关闭的文件句柄。
"filetype.nil" = 不是文件句柄。
+
+math = ''
+"math.abs" = 返回 `x` 的绝对值。
+"math.acos" = 返回 `x` 的反余弦值(用弧度表示)。
+"math.asin" = 返回 `x` 的反正弦值(用弧度表示)。
+"math.atan<5.2" = 返回 `x` 的反正切值(用弧度表示)。
+"math.atan>5.3" = 返回 `y/x` 的反正切值(用弧度表示)。
+"math.atan2" = 返回 `y/x` 的反正切值(用弧度表示)。
+"math.ceil" = 返回不小于 `x` 的最小整数值。
+"math.cos" = 返回 `x` 的余弦(假定参数是弧度)。
+"math.cosh" = 返回 `x` 的双曲余弦(假定参数是弧度)。
+"math.deg" = 将角 `x` 从弧度转换为角度。
+"math.exp" = 返回 `e^x` 的值 (e 为自然对数的底)。
+"math.floor" = 返回不大于 `x` 的最大整数值。
+"math.fmod" = 返回 `x` 除以 `y`,将商向零圆整后的余数。
+"math.frexp" = 将 `x` 分解为尾数与指数,返回值符合 `x = m * (2 ^ e)` 。`e` 是一个整数,`m` 是 [0.5, 1) 之间的规格化小数 (`x` 为0时 `m` 为0)。
+"math.huge" = 一个比任何数字值都大的浮点数。
+"math.ldexp" = 返回 `m * (2 ^ e)` 。
+"math.log<5.1" = 返回 `x` 的自然对数。
+"math.log>5.2" = 回以指定底的 `x` 的对数。
+"math.log10" = 返回 `x` 的以10为底的对数。
+"math.max" = 返回参数中最大的值, 大小由 Lua 操作 `<` 决定。
+"math.maxinteger" = 最大值的整数。
+"math.min" = 返回参数中最小的值, 大小由 Lua 操作 `<` 决定。
+"math.mininteger" = 最小值的整数。
+"math.modf" = 返回 `x` 的整数部分和小数部分。
+"math.pi" = *π* 的值。
+"math.pow" = 返回 `x ^ y` 。
+"math.rad" = 将角 `x` 从角度转换为弧度。
+"math.random" = [[
+* `math.random()`: 返回 [0,1) 区间内一致分布的浮点伪随机数。
+* `math.random(n)`: 返回 [1, n] 区间内一致分布的整数伪随机数。
+* `math.random(m, n)`: 返回 [m, n] 区间内一致分布的整数伪随机数。
+]]
+"math.randomseed<5.3" = 把 `x` 设为伪随机数发生器的“种子”: 相同的种子产生相同的随机数列。
+"math.randomseed>5.4" = [[
+* `math.randomseed(x, y)`: 将 `x` 与 `y` 连接为128位的种子来重新初始化伪随机生成器。
+* `math.randomseed(x)`: 等同于 `math.randomseed(x, 0)` 。
+* `math.randomseed()`: Generates a seed with a weak attempt for randomness.(不会翻)
+]]
+"math.sin" = 返回 `x` 的正弦值(假定参数是弧度)。
+"math.sinh" = 返回 `x` 的双曲正弦值(假定参数是弧度)。
+"math.sqrt" = 返回 `x` 的平方根。
+"math.tan" = 返回 `x` 的正切值(假定参数是弧度)。
+"math.tanh" = 返回 `x` 的双曲正切值(假定参数是弧度)。
+"math.tointeger" = 如果 `x` 可以转换为一个整数, 返回该整数。
+"math.type" = 如果 `x` 是整数,返回 `"integer"`, 如果它是浮点数,返回 `"float"`, 如果 `x` 不是数字,返回 `nil`。
+"math.ult" = 如果整数 `m` 和 `n` 以无符号整数形式比较, `m` 在 `n` 之下,返回布尔真否则返回假。
diff --git a/meta/template/math.lua b/meta/template/math.lua
index 11dc6e9a..a825d905 100644
--- a/meta/template/math.lua
+++ b/meta/template/math.lua
@@ -1,108 +1,150 @@
---@meta
+---@DES 'math'
---@class math*
---@field huge number
+---#if VERSION >= 5.3 then
---@field maxinteger integer
---@field mininteger integer
+---#end
---@field pi number
math = {}
+---@DES 'math.abs'
---@param x number
---@return number
function math.abs(x) end
+---@DES 'math.acos'
---@param x number
---@return number
function math.acos(x) end
+---@DES 'math.asin'
---@param x number
---@return number
function math.asin(x) end
+---#if VERSION <= 5.2 then
+---@DES 'math.atan<5.2'
---@param y number
----@param x number
+---@return number
+function math.atan(y) end
+---#else
+---@DES 'math.atan>5.3'
+---@param y number
+---@param x? number
---@return number
function math.atan(y, x) end
+---#end
+---@version <5.2
+---@DES 'math.atan2'
---@param y number
---@param x number
---@return number
-
----@param y any
----@param x any
function math.atan2(y, x) end
+---@DES 'math.ceil'
---@param x number
---@return integer
function math.ceil(x) end
+---@DES 'math.cos'
---@param x number
function math.cos(x) end
+---@version <5.2
+---@DES 'math.cosh'
---@param x number
---@return number
function math.cosh(x) end
+---@DES 'math.deg'
---@param x number
---@return number
function math.deg(x) end
+---@DES 'math.exp'
---@param x number
---@return number
function math.exp(x) end
+---@DES 'math.floor'
---@param x number
---@return number
function math.floor(x) end
+---@DES 'math.fmod'
---@param x number
---@param y number
---@return number
function math.fmod(x, y) end
+---@version <5.2
+---@DES 'math.frexp'
---@param x number
---@return number m
---@return number e
function math.frexp(x) end
+---@version <5.2
+---@DES 'math.ldexp'
---@param m number
---@param e number
---@return number
function math.ldexp(m, e) end
+---#if VERSION <= 5.1 then
+---@DES 'math.log<5.1'
+---@param x number
+---@return number
+function math.log(x) end
+---#else
+---@DES 'math.log>5.2'
---@param x number
---@param base? integer
---@return number
function math.log(x, base) end
+---#end
+---@version <5.1
+---@DES 'math.log10'
---@param x number
---@return number
function math.log10(x) end
+---@DES 'math.max'
---@param x number
---@vararg number
---@return number
function math.max(x, ...) end
+---@DES 'math.min'
---@param x number
---@vararg number
---@return number
function math.min(x, ...) end
+---@DES 'math.modf'
---@param x number
---@return integer
---@return number
function math.modf(x) end
+---@version <5.2
+---@DES 'math.pow'
---@param x number
---@param y number
---@return number
function math.pow(x, y) end
+---@DES 'math.rad'
---@param x number
---@return number
function math.rad(x) end
+---@DES 'math.random'
---@overload fun():number
---@overload fun(m: integer):integer
---@param m integer
@@ -110,34 +152,51 @@ function math.rad(x) end
---@return integer
function math.random(m, n) end
+---#if VERSION >= 5.4 then
+---@DES 'math.randomseed>5.4'
---@param x? integer
---@param y? integer
function math.randomseed(x, y) end
+---#else
+---@DES 'math.randomseed<5.3'
+---@param x integer
+function math.randomseed(x) end
+---#end
+---@DES 'math.sin'
---@param x number
---@return number
function math.sin(x) end
+---@version <5.2
+---@DES 'math.sinh'
---@param x number
---@return number
function math.sinh(x) end
+---@DES 'math.sqrt'
---@param x number
---@return number
function math.sqrt(x) end
+---@DES 'math.tan'
---@param x number
---@return number
function math.tan(x) end
+---@version <5.2
+---@DES 'math.tanh'
---@param x number
---@return number
function math.tanh(x) end
+---@version >5.3
+---@DES 'math.tointeger'
---@param x number
---@return integer?
function math.tointeger(x) end
+---@DES 'math.type'
---@param x any
---@return
---| '"integer"'
@@ -145,6 +204,7 @@ function math.tointeger(x) end
---| 'nil'
function math.type(x) end
+---@DES 'math.ult'
---@param m integer
---@param n integer
---@return boolean
diff --git a/meta/template/os.lua b/meta/template/os.lua
index 173900eb..1410d69f 100644
--- a/meta/template/os.lua
+++ b/meta/template/os.lua
@@ -1,40 +1,62 @@
---@meta
+---#DES 'os'
---@class os*
os = {}
+---#DES 'os.clock'
---@return number
function os.clock() end
+---#DES 'os.date'
---@param format? string
---@param time? integer
---@return string
function os.date(format, time) end
+---#DES 'os.difftime'
---@param t2 integer
---@param t1 integer
---@return integer
function os.difftime(t2, t1) end
+---#if VERSION <= 5.1 then
+---#DES 'os.execute<5.1'
+---@param command string
+---@return integer code
+function os.execute(command) end
+---#else
+---#DES 'os.execute>5.2'
---@param command string
---@return boolean? suc
---@return exitcode? exitcode
---@return integer? code
function os.execute(command) end
+---#end
+---#if VERSION <= 5.1 and not JIT then
+---#DES 'os.exit<5.1'
+---@param code? integer
+function os.exit(code, close) end
+---#else
+---#DES 'os.exit>5.2'
---@param code? boolean|integer
---@param close? boolean
function os.exit(code, close) end
+---#end
+---#DES 'os.getenv'
---@param varname string
---@return string
function os.getenv(varname) end
+---#DES 'os.remove'
---@param filename string
---@return boolean suc
---@return string? errmsg
function os.remove(filename) end
+---#DES 'os.rename'
---@param oldname string
---@param newname string
---@return boolean suc
@@ -49,15 +71,18 @@ function os.rename(oldname, newname) end
---| '"numeric"'
---| '"time"'
+---#DES 'os.setlocale'
---@param locale string|nil
---@param category? localecategory
---@return string localecategory
function os.setlocale(locale, category) end
+---#DES 'os.time'
---@param date? table
---@return integer
function os.time(date) end
+---#DES 'os.tmpname'
---@return string
function os.tmpname() end