aardio 文档

math 库模块帮助文档

math 成员列表

数学计算库
这是自动导入的内置库

math.abs(输入数值)

计算绝对值

math.acos(输入数值)

计算反余弦值

math.asin(输入数值)

计算反正弦值

math.atan(输入数值)

计算反正切值

math.atan2(x,y)

x/y的反正切值

math.ceil(输入数值)

上取整为最接近的整数,
正无穷大方向取相邻的整数,
下取整请使用 math.floor 函数,
四舍五入请使用 math.round 函数

math.cos(输入数值)

计算余弦值

math.cosh(输入数值)

双曲线余弦函数

math.deg(输入弧度)

弧度转换为角度

math.exp(输入数值)

计算以e为底x次方值

math.floor(输入数值)

下取整为最接近的整数,
负无穷大方向取相邻的整数,
上取整请使用 math.ceil 函数,
四舍五入请使用 math.round 函数

math.frexp(输入数值)

把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n

math.isFinite()

如果参数是一个有效数值,
并且不是正负无穷大则返回 true,否则返回 false。
如果传入字符串会直接返回 false

math.isInteger()

参数是一个数值并且是整数返回true,否则返回false。
如果传入字符串会直接返回 false

math.isSize64()

判断参数是否 math.size64 长整数对象

math.ldexp(value,n)

计算value * 2的n次方

math.log(输入数值)

计算自然对数

math.log10(输入数值)

计算以10为基数的对数

math.max(输入数值, )

返回多个数值中较大的一个
可输入2个以上的参数

math.min(输入数值, )

返回多个数值中较小的一个
可输入2个以上的参数

math.modf(输入数值)

把数拆分为整数、小数
返回两个值。

math.mulDiv(a,b,c)

返回a乘b再除以c的结果,并自动四舍五入转为整数
可尽量使运算不会溢出,运算错误则返回-1

注意这个函数是系统 API 函数,
参数只能传入数值不能传入字符串

math.pi

圆周与直径的比值常数

math.rad(输入角度)

角度转换为弧度

math.random

返回随机数

math.random()

返回 0 到 1 之间的随机数(小数),
可用乘法与 math.round 函数转为整数

math.random(max)

返回从 1 到 max 范围的随机整数,参数必须是整数,
可以利用除法将返回值转换为小数

math.random(min,max)

返回从 min 到 max 范围的随机整数,参数必须是 2 个整数,
可以利用除法将返回值转换为小数。
此函数传入字符串会自动转换为数值。

math.randomize()

设置随机数发生器的种子。
参数可以指定任意数值,省略则自动生成一个随机数作为随机数种子。
所有线程启动时都会自动生成一个安全的随机数作为随机数种子。

使用手册相关文档

math.round

四舍五入,舍入规则以取整为例:
小数小于0.5取相邻的绝对值更小的整数,
小数大于0.5取相邻的绝对值更大的整数,
小数等于0.5取相邻的正无穷大方向的整数。

注意四舍五入非常多的规则,
各种语言的默认实现并不完全一致,
计算机浮点数都存在可容忍的精度误差

math.round(数值,精度)

四舍五入取接近的数,
精度指定小数后的位数,默认为0(取整)

math.roundToEven

aardio 改良版银行家舍入法,
舍入规则为:尾数四舍六入,五后为零前凑偶(只看一位零)。

解决问题1:1到9出现机率一样,5到9进位导致进多舍少。
解决问题2:浮点数误差导致的不合理舍入。

注意四舍五入非常多的规则,
各种语言的默认实现并不完全一致,
计算机浮点数都存在可容忍的精度误差

math.roundToEven(数值,精度)

使用改良版银行家舍入法转换并返回参数@1指定的数值,
参数@2指定返回数值的小数位数,默认为0(也就是取整)

math.sin(输入数值)

计算正弦值

math.sinh(输入数值)

正弦值(角度)

math.size64

创建无符号 64 位无符号正整数。
参数可输入 10 进制数值,或 0x,0X 前缀的16进制数值。
可使用tostring函数转换为字符串,可用tonumber函数转换为64位浮点数,

2个同类型的math.size64对象支持大于,小于,等于等关系运算
并可以与与普通数值进行+,-,*,/等运算

1、API函数返回值中LONG类型返回为math.size64对象
2、在API回调函数中,LONG类型回调参数为math.size64对象
3、结构体中LONG类型,API函数的LONG&类型,实际赋值为math.size64对象时,
则始终保持该对象类型及地址不变,反之则处理为64位浮点数值

64位浮点数值表示的有效整数在正负 (2**53 - 1) 之间,
可以表示8PB文件长度,只有必须用到64位全部字节表示整数时,
才有必要使用math.size64对象.

math.size64("数值")

参数使用字符串指定无符号64位正整数
aardio中普通数值表示的有效整数为正负(2**53-1)之间
但是这里可以使用64个二进制位表示更大的正整数

math.size64()

返回对象:mathSize64Object

math.size64(math.size64对象)

复制无符号64位正整数,
使用此64位整数创建并返回size64对象

math.size64(低32位,高32位)

创建并返回size64对象,
参数使用两个32位数值指定无符号64位正整数,
使用此64位整数创建并返回size64对象

math.size64(结构体)

参数须传入不小于64位的结构体,
将结构体内存转换为64位无符号整数,
使用此64位整数创建并返回size64对象

math.sqrt(输入数值)

计算平方根

math.stringify(数值,最大精度)

数值或 math.size64 对象转换为10进制字符串,最大精度默认为15,
不使用科学计数法,小数尾部不会有0

math.tan(输入数值)

计算正切值

math.tanh(输入数值)

计算正切值(角度)

mathSize64Object 成员列表

mathSize64Object.add()

返回对象:mathSize64Object

mathSize64Object.add(数值)

加法运算,函数修改并返回自身,
使用+运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通数值,允许使用负数

mathSize64Object.div()

返回对象:mathSize64Object

mathSize64Object.div(数值)

除法运算,函数修改并返回自身。
参数可以是 math.size64 对象,
或者是普通正整数,注意运算结果不是浮点数。

math.size64 对象的除法运算符使用 divf 而不是 div 函数运算

mathSize64Object.divf(数值)

除法运算,返回普通浮点数值。
此函数不修改对象自身而是返回一个普通数值。
math.size64 对象的除法运算符使用此函数运算

mathSize64Object.format()

转换字节长度到适合的最大单位表示的文本,
单位使用 bytes,KB,MB,GB等

mathSize64Object.greaterThan()

判断是否大于指定的数值,
参数可以是普通正负数值,也可以是math.size64对象
注意math.size64对象不能直接用>,>=与普通数值进行比较

mathSize64Object.lessThan()

判断是否小于指定的数值,
参数可以是普通正负数值,也可以是math.size64对象
注意math.size64对象不能直接用<,<=与普通数值进行比较

mathSize64Object.lshift(数值)

按位左移,函数修改并返回自身,
使用<<运算符替代此函数可返回新值不改变自身
参数只能是普通正整数

mathSize64Object.mod()

返回对象:mathSize64Object

mathSize64Object.mod(数值)

取模运算,函数修改并返回自身,
使用%运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数

mathSize64Object.mul()

返回对象:mathSize64Object

mathSize64Object.mul(数值)

乘法运算,函数修改并返回自身,
使用*运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数

mathSize64Object.reset(低32位,高32位)

重新设置值
支持构造math.size64的所有构造参数

mathSize64Object.rshift(数值)

按位右移,函数修改并返回自身,
使用>>运算符替代此函数可返回新值不改变自身
参数只能是普通正整数

mathSize64Object.split32()

返回低32位,高32位数值

mathSize64Object.sub()

返回对象:mathSize64Object

mathSize64Object.sub(数值)

减法运算,函数修改并返回自身,
使用-运算符替代此函数可返回新值不改变自身
参数可以是math.size64对象,
或者是普通正整数

mathSize64Object.swap()

大小端字节序反向转换

Markdown 格式