## std.numbers: Operations on numbers and such. ## A stub module for documentation. Mostly compiler magic. # reference: https://en.wikipedia.org/wiki/IEEE_754 ## The default integer type. Size depends on architecture. pub type int ## A signed 8-bit integer. pub type i8 ## A signed 16-bit integer. pub type i16 ## A signed 32-bit integer. pub type i32 ## A signed 64-bit integer. pub type i64 ## A signed 128-bit integer. pub type i128 ## The default unsigned integer type. Size depends on architecture. pub type uint ## An unsigned 8-bit integer. pub type u8 ## An unsigned 16-bit integer. pub type u16 ## An unsigned 32-bit integer. pub type u32 ## An unsigned 64-bit integer. pub type u64 ## An unsigned 128-bit integer. pub type u128 ## A floating-point type. Takes up 64 bits by default. pub type float = f64 ## A 32-bit floating point type. Single precision. pub type f32 ## A 64-bit floating point type. Double precision. pub type f64 ## A 128-bit floating point type. Quadruple precision. pub type f128 ## A decimal type, according to IEEE 754. Takes up 64 bits by default. pub type decimal = dec64 ## A 64-bit decimal type. pub type dec64 ## A 128-bit decimal type. pub type dec128 ## 8-bit bytes. pub type byte = u8 ## 4-byte chars. These represent distinct Unicode characters. pub type char = distinct u32 ## An alias to `char`, to match with `str`. pub type chr = char ## The IEEE floating point value of *Not a Number*. pub const NaN: f64 = 0x7FF7FFFFFFFFFFFF ## The IEEE floating point value of positive infinity. pub const Inf: f64 = 0x7FF0000000000000 ## The IEEE floating point value of negative infinity. pub const NegInf: f64 = 0xFFF0000000000000 # todo: type conversions pub func +[T](a: T, b: T): T pub func -[T](a: T, b: T): T pub func *[T](a: T, b: T): T pub func /[T](a: T, b: T): float pub func ^[T](a: T, b: T): T # todo: should be exp? pub func div[T](a: T, b: T): T pub func mod[T](a: T, b: T): T # fixme pub func rem[T](a: T, b: T): T pub func shl[T](a: T): T pub func shr[T](a: T): T pub func abs[T](a: T): T pub func neg[T](a: T): bool