import { Dictionary } from "../models/Dictionary";
import { PrintObject } from "../models/PrintObject";
import { Boolean } from "./Boolean";
import { String } from "./String";
/**
* @class gve.Number
* @since gve
*/
export class Number extends PrintObject {
/**
* Number的构造方法,构造一个新数值
* @hideconstructor
* @param {Number|object} number
* @returns Number
*/
constructor(number?: number | object) {
super();
if (number) {
this.geeNumber = number;
}
}
geeNumber: any;
static Number(number?: number) {
return new Number(number);
}
/**
* 返回正弦值
* @return Number
*/
sin() {
return new Number();
}
/**
* 返回余弦值
* @return Number
*/
cos() {
return new Number();
}
/**
* 返回正切值
* @return Number
*/
tan() {
return new Number();
}
/**
* 返回双曲正弦值
* @return Number
*/
sinh() {
return new Number();
}
/**
* 返回双曲余弦值
* @return Number
*/
cosh() {
return new Number();
}
/**
* 向上取整
* @return Number
*/
ceil() {
return new Number();
}
/**
* 向下取整
* @return Number
*/
floor() {
return new Number();
}
/**
* 自然对数
* @return Number
*/
log() {
return new Number();
}
/**
* 返回以 10 为底的对数
* @return Number
*/
log10() {
return new Number();
}
/**
* 返回三次方根
* @return Number
*/
cbrt() {
return new Number();
}
/**
* 返回e的幂次方,e是一个常数为2.71828
* @return Number
*/
exp() {
return new Number();
}
/**
* 返回最接近的整数
* @return Number
*/
round() {
return new Number();
}
/**
* 返回数的符号
* @return Number
*/
signum() {
return new Number();
}
/**
* 返回双曲反正弦值
* @return Number
*/
arcsinh() {
return new Number();
}
/**
* 返回双曲反余弦值
* @return Number
*/
arccosh() {
return new Number();
}
/**
* 返回反正弦值
* @return Number
*/
arcsin() {
return new Number();
}
/**
* 返回反余弦值
* @return Number
*/
arccos() {
return new Number();
}
/**
* 返回反正切值
* @return Number
*/
arctan() {
return new Number();
}
/**
* 返回双曲反正切值, 定义域为(-1, 1)
* @return Number
*/
arctanh() {
if (this.geeNumber >= 1 || this.geeNumber <= -1) {
throw new Error("arctanh的定义域为(-1, 1)");
}
return new Number();
}
/**
* 判断是否符合bool8
* @return Boolean
*/
bool8() {
return new Boolean();
}
/**
* 返回8位无符号整数
* @return Number
*/
uint8() {
return new Number();
}
/**
* 返回16位无符号整数
* @return Number
*/
uint16() {
return new Number();
}
/**
* 返回32位无符号整数
* @return Number
*/
uint32() {
return new Number();
}
/**
* 返回64位无符号整数
* @return Number
*/
uint64() {
return new Number();
}
/**
* 返回整数
* @return Number
*/
int() {
return new Number();
}
/**
* 返回8位整数
* @return Number
*/
int8() {
return new Number();
}
/**
* 返回16位整数
* @return Number
*/
int16() {
return new Number();
}
/**
* 返回32位整数
* @return Number
*/
int32() {
return new Number();
}
/**
* 返回64位整数
* @return Number
*/
int64() {
return new Number();
}
/**
* intp
* @return Number
*/
intp() {
return new Number();
}
/**
* uintp
* @return Number
*/
uintp() {
return new Number();
}
/**
* 返回16位浮点数
* @return Number
*/
float16() {
return new Number();
}
/**
* 返回32位浮点数
* @return Number
*/
float32() {
return new Number();
}
/**
* 返回64位浮点数
* @return Number
*/
float64() {
return new Number();
}
/**
* 返回浮点数
* @return Number
*/
float() {
return new Number();
}
/////////////////////////////
/**
* 返回短整形
* @return Number
*/
short() {
return new Number();
}
/**
* 返回长整形
* @return Number
*/
long() {
return new Number();
}
/**
* 返回双精度浮点型
* @return Number
*/
double() {
return new Number();
}
/**
* 转换为Uint8类型
* @return Number
*/
toUint8() {
return new Number();
}
/**
* 转换为Int8类型
* @return Number
*/
toInt8() {
return new Number();
}
/**
* 转换为Byte类型
* @return Number
*/
toByte() {
return new Number();
}
/**
* 转换为Short类型
* @return Number
*/
toShort() {
return new Number();
}
/**
* 转换为Int16类型
* @return Number
*/
toInt16() {
return new Number();
}
/**
* 转换为Int32类型
* @return Number
*/
toInt32() {
return new Number();
}
/**
* 转换为Long类型
* @return Number
*/
toLong() {
return new Number();
}
/**
* 转换为Int64类型
* @return Number
*/
toInt64() {
return new Number();
}
/**
* 转换为Uint32类型
* @return Number
*/
toUint16() {
return new Number();
}
/**
* 转换为Uint32类型
* @return Number
*/
toUint32() {
return new Number();
}
/**
* 转换为Double类型
* @return Number
*/
toDouble() {
return new Number();
}
/**
* 如果两数值均不为零,则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
and(number: Number | number) {
return new Number();
}
/**
* 如果任一输入值非零,则返回1
* @param {Number} number Number对象
* @return Number
*/
or(number: Number | number) {
return new Number();
}
/**
* 两数值进行非运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
not(number: Number | number) {
return new Number();
}
/**
* 两数值进行异或运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
xor(number: Number | number) {
return new Number();
}
/**
* 两数值进行相等运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
eq(number: Number | number) {
return new Number();
}
/**
* 两数值进行不相等运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
neq(number: Number | number) {
return new Number();
}
/**
* 两数值进行小于运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
lt(number: Number | number) {
return new Number();
}
/**
* 两数值进行小于等于运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
lte(number: Number | number) {
return new Number();
}
/**
* 两数值进行大于运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
gt(number: Number | number) {
return new Number();
}
/**
* 两数值进行大于等于运算,结果为真则返回1,否则返回0
* @param {Number} number Number对象
* @return Number
*/
gte(number: Number | number) {
return new Number();
}
/**
* 返回整型变量i转化成二进制表示时1的个数
* @param {Number} number Number对象
* @return Number
*/
bitCount(number: Number | number) {
return new Number();
}
/**
* 计算两个整数的基础二进制表示的按位与
* @param {Number} number Number对象
* @return Number
*/
bitwiseAnd(number: Number | number) {
return new Number();
}
/**
* 计算两个整数的基础二进制表示的按位非
* @param {Number} number Number对象
* @return Number
*/
bitwiseNot(number: Number | number) {
return new Number();
}
/**
* 计算两个整数的基础二进制表示的按位异或
* @param {Number} number Number对象
* @return Number
*/
bitwiseXor(number: Number | number) {
return new Number();
}
/**
* 计算两个整数的基础二进制表示的按位或
* @param {Number} number Number对象
* @return Number
*/
bitwiseOr(number: Number | number) {
return new Number();
}
/**
* 计算两个数值的和
* @param {Number} number Number对象
* @return Number
*/
add(number: Number | number) {
return new Number();
}
/**
* 计算第一个数除以第二个数的值
* @param {Number} number Number对象
* @return Number
*/
divide(number: Number | number) {
return new Number();
}
/**
* 计算两个数值的欧几里德范数
* @param {Number} number Number对象
* @return Number
*/
hypot(number: Number | number) {
return new Number();
}
/**
* 返回两个数值中的最大值
* @param {Number} number Number对象
* @return Number
*/
max(number: Number | number) {
return new Number();
}
/**
* 返回两个数值中的最小值
* @param {Number} number Number对象
* @return Number
*/
min(number: Number | number) {
return new Number();
}
/**
* 计算第一个数除以第二个数的余数
* @param {Number} number Number对象
* @return Number
*/
mod(number: Number | number) {
return new Number();
}
/**
* 计算两个数值的乘积
* @param {Number} number Number对象
* @return Number
*/
multiply(number: Number | number) {
return new Number();
}
/**
* 将第二个值作为第一个值的幂,返回计算结果
* @param {Number} number Number对象
* @return Number
*/
pow(number: Number | number) {
return new Number();
}
/**
* 计算两个数值的差
* @param {Number} number Number对象
* @return Number
*/
subtract(number: Number | number) {
return new Number();
}
/**
* 算术左移位运算
* @param {Number} number Number对象
* @return Number
*/
left_shift(number: Number | number) {
return new Number();
}
/**
* 算术右移位运算
* @param {Number} number Number对象
* @return Number
*/
right_shift(number: Number | number) {
return new Number();
}
/**
* 计算 digamma 值
* @return Number
*/
digamma() {
return new Number();
}
/**
* 计算 gamma 值, 小于或等于0的值无效。
* @return Number
*/
gamma() {
return new Number();
}
/**
* 计算 trigamma 值
* @return Number
*/
trigamma() {
return new Number();
}
/**
* 计算 gammainc 值
* @param {Number} number Number对象
* @return Number
*/
gammainc(number: Number | number) {
return new Number();
}
/**
* 取第一个值
* @param {Number} number Number对象
* @return Number
*/
first(number: Number | number) {
return new Number();
}
/**
* 取第一个非零值
* @param {Number} number Number对象
* @return Number
*/
firstNonZero(number: Number | number) {
return new Number();
}
/**
* 使用给定的格式把数字转为字符串
* @param {string} format 表示格式的字符串,默认为“s%”
* @return String
*/
format(format: string = "s%") {
return new String();
}
/**
* 把目标值拉伸到特定区域(使用给定的范围缩放输入)
* @param {Number} min 范围最小值
* @param {Number} max 范围最大值
* @return Number
*/
unitScale(min: Number | number, max: Number | number) {
return new Number();
}
/**
* 计算输入误差函数
* @return Number
*/
erf() {
return new Number();
}
/**
* 计算输入反误差函数
* @return Number
*/
erfInv() {
return new Number();
}
/**
* 计算输入的逆互补误差函数
* @return Number
*/
erfcInv() {
return new Number();
}
/**
* 计算输入的互补误差函数
* @return Number
*/
erfc() {
return new Number();
}
/**
* 将字符串转为数字
* @param {String} input 待转换的字符串
* @param {Number} [radix] 可选参数,一个整数,表示要转换的基数系统
* @return Number
* @tutorial gve.Number
*/
static parse(input: string, radix?: number | Number) {
return new Number();
}
/**
* 将值限制在最大最小值范围内
* @param {Number} min 范围最小值
* @param {Number} max 范围最大值
* @return Number
*/
clamp(min: Number | number, max: Number | number) {
return new Number();
}
/**
* 计算绝对值
* @return Number
*/
abs() {
return new Number();
}
/**
* 表达式计算
* @param {String} expression 要计算的数学表达式字符串
* @param {Dictionary|object} vars 可以在表达式中使用的命名值的字典
* @return Number
* @tutorial gve.Number
*/
static expression(expression: string, vars: Dictionary | object) {
return new Number();
}
/**
* 计算二维矢量[x, y]形成的角度
* @param {Number} right 待计算的数
* @return Number
*/
atan2(right:number) {
return new Number();
}
/**
* 计算输入的Lanczos近似
* @returns Number
*/
lanczos(){
return new Number();
}
}