std.math 包
功能介绍
math 包提供常见的数学运算,常数定义,浮点数处理等功能。
包括了以下能力:
- 科学常数与类型常数定义;
- 浮点数的判断,规整;
- 常用的位运算;
- 通用的数学函数,如绝对值,三角函数,指数,对数计算;
- 最大公约数与最小公倍数。
API 列表
函数
| 函数名 | 功能 | 
|---|---|
| abs(Float16) | 求一个半精度浮点数的绝对值。 | 
| abs(Float32) | 求一个单精度浮点数的绝对值。 | 
| abs(Float64) | 求一个双精度浮点数的绝对值。 | 
| abs(Int8) | 求一个 8 位有符号整数的绝对值。 | 
| abs(Int16) | 求一个 16 位有符号整数的绝对值。 | 
| abs(Int32) | 求一个 32 位有符号整数的绝对值。 | 
| abs(Int64) | 求一个 64 位有符号整数的绝对值。 | 
| acos(Float16) | 计算半精度浮点数的反余弦函数值,单位为弧度。 | 
| acos(Float32) | 计算单精度浮点数的反余弦函数值,单位为弧度。 | 
| acos(Float64) | 计算双精度浮点数的反余弦函数值,单位为弧度。 | 
| acosh(Float16) | 计算半精度浮点数的反双曲余弦函数值。 | 
| acosh(Float32) | 计算单精度浮点数的反双曲余弦函数值。 | 
| acosh(Float64) | 计算双精度浮点数的反双曲余弦函数值。 | 
| asin(Float16) | 计算半精度浮点数的反正弦函数值,单位为弧度。 | 
| asin(Float32) | 计算单精度浮点数的反正弦函数值,单位为弧度。 | 
| asin(Float64) | 计算双精度浮点数的反正弦函数值,单位为弧度。 | 
| asinh(Float16) | 计算半精度浮点数的反双曲正弦函数值。 | 
| asinh(Float32) | 计算单精度浮点数的反双曲正弦函数值。 | 
| asinh(Float64) | 计算双精度浮点数的反双曲正弦函数值。 | 
| atan(Float16) | 计算半精度浮点数的反正切函数值,单位为弧度。 | 
| atan(Float32) | 计算单精度浮点数的反正切函数值,单位为弧度。 | 
| atan(Float64) | 计算双精度浮点数的反正切函数值,单位为弧度。 | 
| atanh(Float16) | 计算半精度浮点数的反双曲正切函数值。 | 
| atanh(Float32) | 计算单精度浮点数的反双曲正切函数值。 | 
| atanh(Float64) | 计算双精度浮点数的反双曲正切函数值。 | 
| cbrt(Float16) | 求半精度浮点数的立方根。 | 
| cbrt(Float32) | 求单精度浮点数的立方根。 | 
| cbrt(Float64) | 求双精度浮点数的立方根。 | 
| ceil(Float16) | 求半精度浮点数的向上取整值。 | 
| ceil(Float32) | 求单精度浮点数的向上取整值。 | 
| ceil(Float64) | 求双精度浮点数的向上取整值。 | 
| checkedAbs(Int8) | 检查并求一个 8 位有符号整数的绝对值。如果入参是 8 位有符号整数的最小值,函数返回 None;否则,返回Some(abs(x))。 | 
| checkedAbs(Int16) | 检查并求一个 16 位有符号整数的绝对值。如果入参是 16 位有符号整数的最小值,函数返回 None;否则,返回Some(abs(x))。 | 
| checkedAbs(Int32) | 检查并求一个 32 位有符号整数的绝对值。如果入参是 32 位有符号整数的最小值,函数返回 None;否则,返回Some(abs(x))。 | 
| checkedAbs(Int64) | 检查并求一个 64 位有符号整数的绝对值。如果入参是 64 位有符号整数的最小值,函数返回 None;否则,返回Some(abs(x))。 | 
| clamp(Float16, Float16, Float16) | 求浮点数的范围区间数。如果此浮点数在该范围区间则返回此浮点数;如果此浮点数小于这个范围区间,则返回该范围区间的最小值;如果此浮点数大于这个范围区间,则返回该范围区间的最大值;如果是 NaN则返回NaN。 | 
| clamp(Float32, Float32, Float32) | 求浮点数的范围区间数。如果此浮点数在该范围区间则返回此浮点数;如果此浮点数小于这个范围区间,则返回该范围区间的最小值;如果此浮点数大于这个范围区间,则返回该范围区间的最大值;如果是 NaN则返回NaN。 | 
| clamp(Float64, Float64, Float64) | 求浮点数的范围区间数。如果此浮点数在该范围区间则返回此浮点数;如果此浮点数小于这个范围区间,则返回该范围区间的最小值;如果此浮点数大于这个范围区间,则返回该范围区间的最大值;如果是 NaN则返回NaN。 | 
| cos(Float16) | 计算半精度浮点数的余弦函数值,入参单位为弧度。 | 
| cos(Float32) | 计算单精度浮点数的余弦函数值,入参单位为弧度。 | 
| cos(Float64) | 计算双精度浮点数的余弦函数值,入参单位为弧度。 | 
| cosh(Float16) | 计算半精度浮点数的双曲余弦函数值。 | 
| cosh(Float32) | 计算单精度浮点数的双曲余弦函数值。 | 
| cosh(Float64) | 计算双精度浮点数的双曲余弦函数值。 | 
| countOne(Int8) | 求 8 位整型的二进制表达中的 1 的位的个数。 | 
| countOne(Int16) | 求 16 位整型的二进制表达中的 1 的位的个数。 | 
| countOne(Int32) | 求 32 位整型的二进制表达中的 1 的位的个数。 | 
| countOne(Int64) | 求 64 位整型的二进制表达中的 1 的位的个数。 | 
| countOne(UInt8) | 求 8 位无符号整型的二进制表达中的 1 的位的个数。 | 
| countOne(UInt16) | 求 16 位无符号整型的二进制表达中的 1 的位的个数。 | 
| countOne(UInt32) | 求 32 位无符号整型的二进制表达中的 1 的位的个数。 | 
| countOne(UInt64) | 求 64 位无符号整型的二进制表达中的 1 的位的个数。 | 
| erf(Float16) | 求半精度浮点数的误差值。 | 
| erf(Float32) | 求单精度浮点数的误差值。 | 
| erf(Float64) | 求双精度浮点数的误差值。 | 
| exp(Float16) | 求自然常数 e 的 x次幂。 | 
| exp(Float32) | 求自然常数 e 的 x次幂。 | 
| exp(Float64) | 求自然常数 e 的 x次幂。 | 
| exp2(Float16) | 求 2 的 x次幂。 | 
| exp2(Float32) | 求 2 的 x次幂。 | 
| exp2(Float64) | 求 2 的 x次幂。 | 
| floor(Float16) | 求浮点数的向下取整值。 | 
| floor(Float32) | 求浮点数的向下取整值。 | 
| floor(Float64) | 求浮点数的向下取整值。 | 
| gamma(Float16) | 求浮点数的 Gamma 值。 | 
| gamma(Float32) | 求浮点数的 Gamma 值。 | 
| gamma(Float64) | 求浮点数的 Gamma 值。 | 
| gcd(Int8, Int8) | 求两个 8 位有符号整数的最大公约数。 | 
| gcd(Int16, Int16) | 求两个 16 位有符号整数的最大公约数。 | 
| gcd(Int32, Int32) | 求两个 32 位有符号整数的最大公约数。 | 
| gcd(Int64, Int64) | 求两个 64 位有符号整数的最大公约数。 | 
| gcd(UInt16, UInt16) | 求两个 16 位无符号整数的最大公约数。 | 
| gcd(UInt32, UInt32) | 求两个 32 位无符号整数的最大公约数。 | 
| gcd(UInt64, UInt64) | 求两个 64 位无符号整数的最大公约数。 | 
| gcd(UInt8, UInt8) | 求两个 8 位无符号整数的最大公约数。 | 
| lcm(Int8, Int8) | 求两个 8 位有符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(Int16, Int16) | 求两个 16 位有符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(Int32, Int32) | 求两个 32 位有符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(Int64, Int64) | 求两个 64 位有符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(UInt8, UInt8) | 求两个 8 位无符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(UInt16, UInt16) | 求两个 16 位无符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(UInt32, UInt32) | 求两个 32 位无符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| lcm(UInt64, UInt64) | 求两个 64 位无符号整数的最小的非负的公倍数,当入参有 0 时才返回 0。 | 
| leadingZeros(Int8) | 求 8 位有符号整数的二进制表达中的从最高位算起,包含符号位,连续位为 0 的个数。如果最高位不是 0,则返回 0。 | 
| leadingZeros(Int16) | 求 16 位有符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。如果最高位不是 0,则返回 0。 | 
| leadingZeros(Int32) | 求 32 位有符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。如果最高位不是 0,则返回 0。 | 
| leadingZeros(Int64) | 求 64 位有符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。如果最高位不是 0,则返回 0。 | 
| leadingZeros(UInt8) | 求 8 位无符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。 | 
| leadingZeros(UInt16) | 求 16 位无符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。 | 
| leadingZeros(UInt32) | 求 32 位无符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。 | 
| leadingZeros(UInt64) | 求 64 位无符号整数的二进制表达中的从最高位算起,连续位为 0 的个数。 | 
| log(Float16) | 求以 e 为底 x的对数。 | 
| log(Float32) | 求以 e 为底 x的对数。 | 
| log(Float64) | 求以 e 为底 x的对数。 | 
| log10(Float16) | 求以 10 为底 x的对数。 | 
| log10(Float32) | 求以 10 为底 x的对数。 | 
| log10(Float64) | 求以 10 为底 x的对数。 | 
| log2(Float16) | 求以 2 为底 x的对数。 | 
| log2(Float32) | 求以 2 为底 x的对数。 | 
| log2(Float64) | 求以 2 为底 x的对数。 | 
| logBase(Float16, Float16) | 求以 base为底x的对数。 | 
| logBase(Float32, Float32) | 求以 base为底x的对数。 | 
| logBase(Float64, Float64) | 求以 base为底x的对数。 | 
| max(Float16, Float16) | 求两个数的最大值。 | 
| max(Float32, Float32) | 求两个数的最大值。 | 
| max(Float64, Float64) | 求两个数的最大值。 | 
| max(Int8, Int8) | 求两个数的最大值。 | 
| max(Int16, Int16) | 求两个数的最大值。 | 
| max(Int32, Int32) | 求两个数的最大值。 | 
| max(Int64, Int64) | 求两个数的最大值。 | 
| max(UInt8, UInt8) | 求两个数的最大值。 | 
| max(UInt16, UInt16) | 求两个数的最大值。 | 
| max(UInt32, UInt32) | 求两个数的最大值。 | 
| max(UInt64, UInt64) | 求两个数的最大值。 | 
| maxNaN(Float16, Float16) | 求两个数的最大值。 | 
| maxNaN(Float32, Float32) | 求两个数的最大值。 | 
| maxNaN(Float64, Float64) | 求两个数的最大值。 | 
| min(Float16, Float16) | 求两个数的最小值。 | 
| min(Float32, Float32) | 求两个数的最小值。 | 
| min(Float64, Float64) | 求两个数的最小值。 | 
| min(Int8, Int8) | 求两个数的最小值。 | 
| min(Int16, Int16) | 求两个数的最小值。 | 
| min(Int32, Int32) | 求两个数的最小值。 | 
| min(Int64, Int64) | 求两个数的最小值。 | 
| min(UInt8, UInt8) | 求两个数的最小值。 | 
| min(UInt16, UInt16) | 求两个数的最小值。 | 
| min(UInt32, UInt32) | 求两个数的最小值。 | 
| min(UInt64, UInt64) | 求两个数的最小值。 | 
| minNaN(Float16, Float16) | 求两个数的最小值。 | 
| minNaN(Float32, Float32) | 求两个数的最小值。 | 
| minNaN(Float64, Float64) | 求两个数的最小值。 | 
| pow(Float32, Float32) | 求浮点数 base的exponent次幂。 | 
| pow(Float32, Int32) | 求浮点数 base的exponent次幂。 | 
| pow(Float64, Float64) | 求浮点数 base的exponent次幂。 | 
| pow(Float64, Int64) | 求浮点数 base的exponent次幂。 | 
| reverse(UInt8) | 求无符号整数按位反转后的数。 | 
| reverse(UInt16) | 求无符号整数按位反转后的数。 | 
| reverse(UInt32) | 求无符号整数按位反转后的数。 | 
| reverse(UInt64) | 求无符号整数按位反转后的数。 | 
| rotate(Int16, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(Int32, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(Int64, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(Int8, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(UInt16, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(UInt32, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(UInt64, Int8) | 求整数的按位旋转后的结果。 | 
| rotate(UInt8, Int8) | 求整数的按位旋转后的结果。 | 
| round(Float16) | 此函数采用 IEEE-754 的向最近舍入规则,计算浮点数的舍入值。 | 
| round(Float32) | 此函数采用 IEEE-754 的向最近舍入规则,计算浮点数的舍入值。 | 
| round(Float64) | 此函数采用 IEEE-754 的向最近舍入规则,计算浮点数的舍入值。 | 
| sin(Float16) | 计算半精度浮点数的正弦函数值,入参单位为弧度。 | 
| sin(Float32) | 计算单精度浮点数的正弦函数值,入参单位为弧度。 | 
| sin(Float64) | 计算双精度浮点数的正弦函数值,入参单位为弧度。 | 
| sinh(Float16) | 计算半精度浮点数的双曲正弦函数值。 | 
| sinh(Float32) | 计算单精度浮点数的双曲正弦函数值。 | 
| sinh(Float64) | 计算双精度浮点数的双曲正弦函数值。 | 
| sqrt(Float16) | 求浮点数的算术平方根。 | 
| sqrt(Float32) | 求浮点数的算术平方根。 | 
| sqrt(Float64) | 求浮点数的算术平方根。 | 
| tan(Float16) | 计算半精度浮点数的正切函数值,入参单位为弧度。 | 
| tan(Float32) | 计算单精度浮点数的正切函数值,入参单位为弧度。 | 
| tan(Float64) | 计算双精度浮点数的正切函数值,入参单位为弧度。 | 
| tanh(Float16) | 计算半精度浮点数的双曲正切函数值。 | 
| tanh(Float32) | 计算单精度浮点数的双曲正切函数值。 | 
| tanh(Float64) | 计算双精度浮点数的双曲正切函数值。 | 
| throwIllegalArgumentException() | 此函数用于抛出非法参数异常。 | 
| trailingZeros(Int8) | 求 16 位有符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(Int16) | 求 16 位有符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(Int32) | 求 32 位有符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(Int64) | 求 64 位有符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(UInt8) | 求 8 位无符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(UInt16) | 求 16 位无符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(UInt32) | 求 32 位无符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trailingZeros(UInt64) | 求 64 位无符号整数的二进制表达中的从最低位算起,连续位为 0 的个数。如果最低位不是 0,则返回 0。 | 
| trunc(Float16) | 求浮点数的截断取整值。 | 
| trunc(Float32) | 求浮点数的截断取整值。 | 
| trunc(Float64) | 求浮点数的截断取整值。 | 
接口
| 类名 | 功能 | 
|---|---|
| MathExtension | 辅助接口,辅助导出prop属性,如PI、Max等。 | 
| Float16 | 拓展半精度浮点数以支持一些数学常数。 | 
| Float32 | 拓展单精度浮点数以支持一些数学常数。 | 
| Float64 | 拓展双精度浮点数以支持一些数学常数。 | 
| Int8 | 拓展 8 位有符号整数以支持一些数学常数。 | 
| Int16 | 拓展 16 位有符号整数以支持一些数学常数。 | 
| Int32 | 拓展 32 位有符号整数以支持一些数学常数。 | 
| Int64 | 拓展 64 位有符号整数以支持一些数学常数。 | 
| UInt8 | 拓展 8 位无符号整数以支持一些数学常数。 | 
| UInt16 | 拓展 16 位无符号整数以支持一些数学常数。 | 
| UInt32 | 拓展 32 位无符号整数以支持一些数学常数。 | 
| UInt64 | 拓展 64 位无符号整数以支持一些数学常数。 | 
| IntNative | 拓展平台相关有符号整数以支持一些数学常数。 | 
| UIntNative | 拓展平台相关无符号整数以支持一些数学常数。 |