数学计算库
这是自动导入的内置库
计算绝对值
计算反余弦值
计算反正弦值
计算反正切值
x/y的反正切值
上取整为最接近的整数,
正无穷大方向取相邻的整数,
下取整请使用 math.floor 函数,
四舍五入请使用 math.round 函数
计算余弦值
双曲线余弦函数
弧度转换为角度
自然对数的底数,约等于 2.718281828459 。
计算以e为底x次方值
下取整为最接近的整数,
负无穷大方向取相邻的整数,
上取整请使用 math.ceil 函数,
四舍五入请使用 math.round 函数
把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n
如果参数是一个有效数值,
并且不是正负无穷大则返回 true,否则返回 false。
如果传入字符串会直接返回 false
参数是一个数值并且是整数返回true,否则返回false。
如果传入字符串会直接返回 false
判断参数是否 math.size64 长整数对象
计算value * 2的n次方
计算自然对数
计算以10为基数的对数
返回多个数值中较大的一个。
可输入 2 个以上的参数
返回多个数值中较小的一个。
可输入 2 个以上的参数
把数拆分为整数、小数。
返回两个值。
返回a乘b再除以c的结果,并自动四舍五入转为整数
可尽量使运算不会溢出,运算错误则返回-1
注意这个函数是系统 API 函数,
参数只能传入数值不能传入字符串
圆周与直径的比值常数( π )
角度转换为弧度
返回随机数。
生成随机字符串请使用 string.random 函数。
生成安全随机数请使用 crypt.random 库。
返回 0 到 1 之间的随机数(小数),
可用乘法与 math.round 函数转为整数
返回从 1 到 max 范围的随机整数,参数必须是整数,
可以利用除法将返回值转换为小数
返回从 min 到 max 范围的随机整数,参数必须是 2 个整数,
可以利用除法将返回值转换为小数。
此函数传入字符串会自动转换为数值。
设置随机数发生器的种子。
参数可以指定任意数值,省略则自动生成一个随机数作为随机数种子。
所有线程启动时都会自动生成一个安全的随机数作为随机数种子。
四舍五入,舍入规则以取整为例:
小数小于0.5取相邻的绝对值更小的整数,
小数大于0.5取相邻的绝对值更大的整数,
小数等于0.5取相邻的正无穷大方向的整数。
注意四舍五入非常多的规则,
各种语言的默认实现并不完全一致,
计算机浮点数都存在可容忍的精度误差
四舍五入取接近的数,
精度指定小数后的位数,默认为0(取整)
aardio 改良版银行家舍入法,
舍入规则为:尾数四舍六入,五后为零前凑偶(只看一位零)。
解决问题1:1到9出现机率一样,5到9进位导致进多舍少。
解决问题2:浮点数误差导致的不合理舍入。
注意四舍五入非常多的规则,
各种语言的默认实现并不完全一致,
计算机浮点数都存在可容忍的精度误差
使用改良版银行家舍入法转换并返回参数@1指定的数值,
参数@2指定返回数值的小数位数,默认为0(也就是取整)
计算正弦值
正弦值(角度)
创建无符号 64 位无符号正整数(cdata 类型对象)。
参数可输入 10 进制数值,或 0x,0X 前缀的 16 进制数值。
返回对象可使用 tostring 函数转换为字符串,可用 tonumber 函数转换为 64 位浮点数,
2 个同类型的 math.size64 对象作为操作数可支持大于,小于,等于等关系运算符。
math.size64 对象可与普通数值进行 +,-,*,/ 等运算。
操作数为 math.size64 对时使用除运算符 / 返回浮点数值,使用其他算术运算返回 math.size64 对象。
1、API函数返回值中 LONG 类型返回为 math.size64 对象。
math.size64 对象也支持连接操作符(自动将左右操作数转为字符串)。
2、在API回调函数中,LONG类型回调参数为 math.size64 对象
3、结构体中LONG类型,API函数的LONG&类型,实际赋值为math.size64对象时,
则始终保持该对象类型及地址不变,反之则处理为64位浮点数值
64位浮点数值表示的有效整数在正负 (2**53 - 1) 之间,
可以表示8PB文件长度,只有必须用到64位全部字节表示整数时,
才有必要使用math.size64对象.
参数使用字符串指定无符号 64 位正整数。
参数可指定 10 进制数值或 0x 前缀的 16 进制数值。
参数不支持自定义进制与下划线分隔符,忽略开始的空白字符,忽略有效数值后的多余字符。
省略参数或字符串参数未指定有效数值时初始化为 0 。
aardio中普通数值存储为 64 位浮点数,可表示的有效整数为正负 2**53-1 之间。
math.size64 则能表示更大的正整数。
复制无符号64位正整数,
使用此64位整数创建并返回size64对象
创建并返回size64对象,
参数使用两个32位数值指定无符号64位正整数,
使用此64位整数创建并返回size64对象
参数须传入不小于64位的结构体,
将结构体内存转换为64位无符号整数,
使用此64位整数创建并返回size64对象
计算平方根( √x )
将数值转换为字符串。
可避免使用科学计数法,也不会在小数后补 0 。
aardio 在将数值转换为字符串时,
大于等于 1e14 或者小于 1e-4 (即 0.0001) 的数默认以科学计数法表示。
等价于调用 string.format 函数并将格式化代码指定为 %.14g
返回的字符串不使用科学计数法,小数尾部不会补 0。
此函数使用区域设置的小数点,需要自定义小数点请改用 tostring 函数。
计算正切值
计算正切值(角度)
校验并转换基于 1 的索引范围数值。
省略 startIndex 则默认为 1,省略 endIndex 则默认为 length。
如果 startIndex 或 endIndex 为负数则按尾部倒计数并转换为正值,-1 表示最后一个。
如果转换后 startIndex 小于 1 则设为 1,如果 endIndex 大于 length 则设为 length。\如果 startIndex,endIndex 都指定正整数,则可以省略 length(不校验最大长度)。
转换后如果 startIndex 大于 endIndex 则返回 null,
否则返回转换后的 startIndex,endIndex
加法运算,函数修改并返回自身,
使用+运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通数值,允许使用负数
除法运算,函数修改并返回自身。
参数可以是 math.size64 对象,
或者是普通正整数,注意运算结果不是浮点数。
math.size64 对象的除法运算符使用 divf 而不是 div 函数运算
除法运算,返回普通浮点数值。
此函数不修改对象自身而是返回一个普通数值。
math.size64 对象的除法运算符使用此函数运算
转换字节长度到适合的最大单位表示的文本,
单位使用 bytes,KB,MB,GB等
判断是否大于指定的数值,
参数可以是普通正负数值,也可以是math.size64对象
注意math.size64对象不能直接用>,>=与普通数值进行比较
判断是否小于指定的数值,
参数可以是普通正负数值,也可以是math.size64对象
注意math.size64对象不能直接用<,<=与普通数值进行比较
按位左移,函数修改并返回自身,
使用<<运算符替代此函数可返回新值不改变自身
参数只能是普通正整数
取模运算,函数修改并返回自身,
使用%运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数
乘法运算,函数修改并返回自身,
使用*运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数
重新设置值
支持构造math.size64的所有构造参数
按位右移,函数修改并返回自身,
使用>>运算符替代此函数可返回新值不改变自身
参数只能是普通正整数
返回低32位,高32位数值
减法运算,函数修改并返回自身,
使用-运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数
大小端字节序反向转换