math+x86_64 +linux

math: common mathematical functions and floating point support

The math module provides implementations of common math functionality and support for dealing with floating point numbers.

Submodules

Index

Types

type floatinfo;

Constants

def E: f64 = 2.718281828459045;
def F32_EPS: f32 = 1.1920928955078125e-7;
def F32_EXPONENT_BIAS = 127;
def F32_EXPONENT_BITS = 8;
def F32_EXPONENT_MASK: u32 = (1 << F32_EXPONENT_BITS) - 1;
def F32_MANTISSA_BITS = 23;
def F32_MANTISSA_MASK: u32 = (1 << F32_MANTISSA_BITS) - 1;
def F32_MAX_NORMAL: f32 = 3.4028234e38;
def F32_MIN_NORMAL: f32 = 1.1754944e-38;
def F32_MIN_SUBNORMAL: f32 = 1.0e-45;
def F64_EPS: f64 = 2.2204e-16;
def F64_EXPONENT_BIAS = 1023;
def F64_EXPONENT_BITS = 11;
def F64_EXPONENT_MASK: u64 = (1 << F64_EXPONENT_BITS) - 1;
def F64_MANTISSA_BITS = 52;
def F64_MANTISSA_MASK: u64 = (1 << F64_MANTISSA_BITS) - 1;
def F64_MAX_NORMAL: f64 = 1.7976931348623157e308;
def F64_MIN_NORMAL: f64 = 2.2250738585072014e-308;
def F64_MIN_SUBNORMAL: f64 = 5.0e-324;
def INF = 1.0 / 0.0;
def LN2_HI: f64 = 0.6931471803691238;
def LN2_LO: f64 = 1.9082149292705877e-10;
def LN_10: f64 = 2.302585092994046;
def LN_2: f64 = 0.6931471805599453;
def LOG10_E: f64 = 1f64 / LN_10;
def LOG2_E: f64 = 1f64 / LN_2;
def NAN = 0.0 / 0.0;
def PHI: f64 = 1.618033988749895;
def PI: f64 = 3.141592653589793;
def SQRT_2: f64 = 1.4142135623730951;
def SQRT_E: f64 = 1.6487212707001282;
def SQRT_PHI: f64 = 1.272019649514069;
def SQRT_PI: f64 = 1.772453850905516;
def STANDARD_TOL = 1.0e-14;
def TAU: f64 = 6.283185307179586;

Globals

const f32info: floatinfo;
const f64info: floatinfo;

Functions

fn absf32(n: f32) f32;
fn absf64(n: f64) f64;
fn absi(n: int) uint;
fn absi16(n: i16) u16;
fn absi32(n: i32) u32;
fn absi64(n: i64) u64;
fn absi8(n: i8) u8;
fn acosf64(x: f64) f64;
fn acoshf64(x: f64) f64;
fn asinf64(x: f64) f64;
fn asinhf64(x: f64) f64;
fn atan2f64(y: f64, x: f64) f64;
fn atanf64(x: f64) f64;
fn atanhf64(x: f64) f64;
fn bit_size(x: u64) u8;
fn ceilf64(x: f64) f64;
fn copysignf32(x: f32, y: f32) f32;
fn copysignf64(x: f64, y: f64) f64;
fn cosf64(x: f64) f64;
fn coshf64(x: f64) f64;
fn divu(hi: uint, lo: uint, y: uint) (uint, uint);
fn divu32(hi: u32, lo: u32, y: u32) (u32, u32);
fn divu64(hi: u64, lo: u64, y: u64) (u64, u64);
fn exp2f64(x: f64) f64;
fn expf64(x: f64) f64;
fn expmultif64(hi: f64, lo: f64, k: i64) f64;
fn f32bits(n: f32) u32;
fn f32frombits(n: u32) f32;
fn f64bits(n: f64) u64;
fn f64frombits(n: u64) f64;
fn floorf64(x: f64) f64;
fn frexpf32(n: f32) (f32, i64);
fn frexpf64(n: f64) (f64, i64);
fn gcd(a: u64, b: u64) u64;
fn hypotf64(a: f64, b: f64) f64;
fn isclosef32(x: f32, y: f32, tol: f32 = STANDARD_TOL) bool;
fn isclosef64(x: f64, y: f64, tol: f64 = STANDARD_TOL) bool;
fn isinf(n: f64) bool;
fn isnan(n: f64) bool;
fn isnegativef32(x: f32) bool;
fn isnegativef64(x: f64) bool;
fn isnormalf32(n: f32) bool;
fn isnormalf64(n: f64) bool;
fn ispositivef32(x: f32) bool;
fn ispositivef64(x: f64) bool;
fn issubnormalf32(n: f32) bool;
fn issubnormalf64(n: f64) bool;
fn ldexpf32(mantissa: f32, exp: i64) f32;
fn ldexpf64(mantissa: f64, exp: i64) f64;
fn leading_zeros_u(x: uint) u8;
fn leading_zeros_u16(x: u16) u8;
fn leading_zeros_u32(x: u32) u8;
fn leading_zeros_u64(x: u64) u8;
fn leading_zeros_u8(x: u8) u8;
fn log10f64(x: f64) f64;
fn log1pf64(x: f64) f64;
fn log2f64(x: f64) f64;
fn logf64(x: f64) f64;
fn modf64(x: f64, y: f64) f64;
fn modfracf32(n: f32) (f32, f32);
fn modfracf64(n: f64) (f64, f64);
fn mulu(x: uint, y: uint) (uint, uint);
fn mulu32(x: u32, y: u32) (u32, u32);
fn mulu64(x: u64, y: u64) (u64, u64);
fn nextafterf32(x: f32, y: f32) f32;
fn nextafterf64(x: f64, y: f64) f64;
fn normalizef32(n: f32) (f32, i64);
fn normalizef64(n: f64) (f64, i64);
fn popcount(x: u64) u8;
fn powf64(x: f64, p: f64) f64;
fn powi64(x: i64, n: uint) i64;
fn remu(hi: uint, lo: uint, y: uint) uint;
fn remu32(hi: u32, lo: u32, y: u32) u32;
fn remu64(hi: u64, lo: u64, y: u64) u64;
fn roundf64(x: f64) f64;
fn signf32(x: f32) i64;
fn signf64(x: f64) i64;
fn signi(n: int) i64;
fn signi16(n: i16) i16;
fn signi32(n: i32) i32;
fn signi64(n: i64) i64;
fn signi8(n: i8) i8;
fn sinf64(x: f64) f64;
fn sinhf64(x: f64) f64;
fn sqrtf64(x: f64) f64;
fn tanf64(x: f64) f64;
fn tanhf64(x: f64) f64;
fn trailing_zeros_u(x: uint) u8;
fn trailing_zeros_u16(x: u16) u8;
fn trailing_zeros_u32(x: u32) u8;
fn trailing_zeros_u64(x: u64) u8;
fn trailing_zeros_u8(x: u8) u8;
fn truncf64(x: f64) f64;

Types

type floatinfo[permalink] [source]

type floatinfo = struct {
	// Bits in significand.
	mantbits: u64,
	// Bits in exponent.
	expbits: u64,
	// Bias of exponent.
	expbias: int,
	// Mask for mantissa.
	mantmask: u64,
	// Mask for exponent.
	expmask: u64,
};

Contains information about the structure of a specific floating point number type.

Constants

def E[permalink] [source]

def E: f64 = 2.718281828459045;

e - https://oeis.org/A001113

def F32_EPS[permalink] [source]

def F32_EPS: f32 = 1.1920928955078125e-7;

The difference between 1 and the smallest f32 representable value that is greater than 1.

def F32_EXPONENT_BIAS[permalink] [source]

def F32_EXPONENT_BIAS = 127;

The bias of the exponent of the binary representation of f32. Subtract this from the exponent in the binary representation to get the actual exponent.

def F32_EXPONENT_BITS[permalink] [source]

def F32_EXPONENT_BITS = 8;

The number of bits in the exponent of the binary representation of f32.

def F32_EXPONENT_MASK[permalink] [source]

def F32_EXPONENT_MASK: u32 = (1 << F32_EXPONENT_BITS) - 1;

Mask with each bit of an f32's exponent set.

def F32_MANTISSA_BITS[permalink] [source]

def F32_MANTISSA_BITS = 23;

The number of bits in the significand of the binary representation of f32.

def F32_MANTISSA_MASK[permalink] [source]

def F32_MANTISSA_MASK: u32 = (1 << F32_MANTISSA_BITS) - 1;

Mask with each bit of an f32's mantissa set.

def F32_MAX_NORMAL[permalink] [source]

def F32_MAX_NORMAL: f32 = 3.4028234e38;

The largest representable f32 value which is less than Infinity.

def F32_MIN_NORMAL[permalink] [source]

def F32_MIN_NORMAL: f32 = 1.1754944e-38;

The smallest representable normal f32 value.

def F32_MIN_SUBNORMAL[permalink] [source]

def F32_MIN_SUBNORMAL: f32 = 1.0e-45;

The smallest (subnormal) f32 value greater than zero.

def F64_EPS[permalink] [source]

def F64_EPS: f64 = 2.2204e-16;

The difference between 1 and the smallest f64 representable value that is greater than 1.

def F64_EXPONENT_BIAS[permalink] [source]

def F64_EXPONENT_BIAS = 1023;

The bias of the exponent of the binary representation of f64. Subtract this from the exponent in the binary representation to get the actual exponent.

def F64_EXPONENT_BITS[permalink] [source]

def F64_EXPONENT_BITS = 11;

The number of bits in the exponent of the binary representation of f64.

def F64_EXPONENT_MASK[permalink] [source]

def F64_EXPONENT_MASK: u64 = (1 << F64_EXPONENT_BITS) - 1;

Mask with each bit of an f64's exponent set.

def F64_MANTISSA_BITS[permalink] [source]

def F64_MANTISSA_BITS = 52;

The number of bits in the significand of the binary representation of f64.

def F64_MANTISSA_MASK[permalink] [source]

def F64_MANTISSA_MASK: u64 = (1 << F64_MANTISSA_BITS) - 1;

Mask with each bit of an f64's mantissa set.

def F64_MAX_NORMAL[permalink] [source]

def F64_MAX_NORMAL: f64 = 1.7976931348623157e308;

The largest representable f64 value which is less than Infinity.

def F64_MIN_NORMAL[permalink] [source]

def F64_MIN_NORMAL: f64 = 2.2250738585072014e-308;

The smallest representable normal f64 value.

def F64_MIN_SUBNORMAL[permalink] [source]

def F64_MIN_SUBNORMAL: f64 = 5.0e-324;

The smallest (subnormal) f64 value greater than zero.

def INF[permalink] [source]

def INF = 1.0 / 0.0;

The floating point value representing positive infinity. Use -INF for negative infinity.

def LN2_HI[permalink] [source]

def LN2_HI: f64 = 0.6931471803691238;

ln(2) - https://oeis.org/A002162

def LN2_LO[permalink] [source]

def LN2_LO: f64 = 1.9082149292705877e-10;

ln(2) - https://oeis.org/A002162

def LN_10[permalink] [source]

def LN_10: f64 = 2.302585092994046;

ln(10) - https://oeis.org/A002392

def LN_2[permalink] [source]

def LN_2: f64 = 0.6931471805599453;

ln(2) - https://oeis.org/A002162

def LOG10_E[permalink] [source]

def LOG10_E: f64 = 1f64 / LN_10;

log_{10}(e)

def LOG2_E[permalink] [source]

def LOG2_E: f64 = 1f64 / LN_2;

log_{2}(e)

def NAN[permalink] [source]

def NAN = 0.0 / 0.0;

The floating point value representing Not a Number, i.e. an undefined or unrepresentable value. You cannot test if a number is NaN by comparing to this value; see isnan instead.

def PHI[permalink] [source]

def PHI: f64 = 1.618033988749895;

phi - https://oeis.org/A001622

def PI[permalink] [source]

def PI: f64 = 3.141592653589793;

pi - https://oeis.org/A000796

def SQRT_2[permalink] [source]

def SQRT_2: f64 = 1.4142135623730951;

sqrt(2) - https://oeis.org/A002193

def SQRT_E[permalink] [source]

def SQRT_E: f64 = 1.6487212707001282;

sqrt(e) - https://oeis.org/A019774

def SQRT_PHI[permalink] [source]

def SQRT_PHI: f64 = 1.272019649514069;

sqrt(phi) - https://oeis.org/A139339

def SQRT_PI[permalink] [source]

def SQRT_PI: f64 = 1.772453850905516;

sqrt(pi) - https://oeis.org/A002161

def STANDARD_TOL[permalink] [source]

def STANDARD_TOL = 1.0e-14;

The standard tolerance used by isclosef32 and isclosef64, which is just an arbitrary way to measure whether two floating-point numbers are "sufficiently" close to each other.

def TAU[permalink] [source]

def TAU: f64 = 6.283185307179586;

tau - https://oeis.org/A019692

Globals

let f32info[permalink] [source]

const f32info: floatinfo;

A floatinfo structure defining the structure of the f32 type.

let f64info[permalink] [source]

const f64info: floatinfo;

A floatinfo structure defining the structure of the f64 type.

Functions

fn absf32[permalink] [source]

fn absf32(n: f32) f32;

Returns the absolute value of f32 n.

fn absf64[permalink] [source]

fn absf64(n: f64) f64;

Returns the absolute value of f64 n.

fn absi[permalink] [source]

fn absi(n: int) uint;

Returns the absolute value of signed integer n.

fn absi16[permalink] [source]

fn absi16(n: i16) u16;

Returns the absolute value of signed integer n.

fn absi32[permalink] [source]

fn absi32(n: i32) u32;

Returns the absolute value of signed integer n.

fn absi64[permalink] [source]

fn absi64(n: i64) u64;

Returns the absolute value of signed integer n.

fn absi8[permalink] [source]

fn absi8(n: i8) u8;

Returns the absolute value of signed integer n.

fn acosf64[permalink] [source]

fn acosf64(x: f64) f64;

Returns the arccosine, in radians, of x.

fn acoshf64[permalink] [source]

fn acoshf64(x: f64) f64;

Returns the inverse hyperbolic cosine of x.

fn asinf64[permalink] [source]

fn asinf64(x: f64) f64;

Returns the arcsine, in radians, of x.

fn asinhf64[permalink] [source]

fn asinhf64(x: f64) f64;

Returns the inverse hyperbolic sine of x.

fn atan2f64[permalink] [source]

fn atan2f64(y: f64, x: f64) f64;

Returns the arctangent, in radians, of y / x.

fn atanf64[permalink] [source]

fn atanf64(x: f64) f64;

Returns the arctangent, in radians, of x.

fn atanhf64[permalink] [source]

fn atanhf64(x: f64) f64;

Returns the inverse hyperbolic tangent of x.

fn bit_size[permalink] [source]

fn bit_size(x: u64) u8;

Returns the minimum number of bits required to represent x.

fn ceilf64[permalink] [source]

fn ceilf64(x: f64) f64;

Returns the least integer value greater than or equal to x.

fn copysignf32[permalink] [source]

fn copysignf32(x: f32, y: f32) f32;

Returns x, but with the sign of y.

fn copysignf64[permalink] [source]

fn copysignf64(x: f64, y: f64) f64;

Returns x, but with the sign of y.

fn cosf64[permalink] [source]

fn cosf64(x: f64) f64;

Returns the cosine of x, in radians.

fn coshf64[permalink] [source]

fn coshf64(x: f64) f64;

Returns the hyperbolic cosine of x.

fn divu[permalink] [source]

fn divu(hi: uint, lo: uint, y: uint) (uint, uint);

Returns the quotient and remainder of (hi, lo) divided by y: quo = (hi, lo) / y, rem = (hi, lo) % y with the dividend bits' upper half in parameter hi and the lower half in parameter lo. Aborts if y == 0 (division by zero) or y <= hi (quotient overflow).

fn divu32[permalink] [source]

fn divu32(hi: u32, lo: u32, y: u32) (u32, u32);

Returns the quotient and remainder of (hi, lo) divided by y: quo = (hi, lo) / y, rem = (hi, lo) % y with the dividend bits' upper half in parameter hi and the lower half in parameter lo. Aborts if y == 0 (division by zero) or y <= hi (quotient overflow).

fn divu64[permalink] [source]

fn divu64(hi: u64, lo: u64, y: u64) (u64, u64);

Returns the quotient and remainder of (hi, lo) divided by y: quo = (hi, lo) / y, rem = (hi, lo) % y with the dividend bits' upper half in parameter hi and the lower half in parameter lo. Aborts if y == 0 (division by zero) or y <= hi (quotient overflow).

fn exp2f64[permalink] [source]

fn exp2f64(x: f64) f64;

Returns 2^x.

fn expf64[permalink] [source]

fn expf64(x: f64) f64;

Returns e^x.

fn expmultif64[permalink] [source]

fn expmultif64(hi: f64, lo: f64, k: i64) f64;

Returns e^r * 2^k where r = hi - lo and |r| <= (ln(2) / 2).

fn f32bits[permalink] [source]

fn f32bits(n: f32) u32;

Returns the binary representation of the given f32.

fn f32frombits[permalink] [source]

fn f32frombits(n: u32) f32;

Returns f32 with the given binary representation.

fn f64bits[permalink] [source]

fn f64bits(n: f64) u64;

Returns the binary representation of the given f64.

fn f64frombits[permalink] [source]

fn f64frombits(n: u64) f64;

Returns f64 with the given binary representation.

fn floorf64[permalink] [source]

fn floorf64(x: f64) f64;

Returns the greatest integer value less than or equal to x.

fn frexpf32[permalink] [source]

fn frexpf32(n: f32) (f32, i64);

Breaks a f32 down into its mantissa and exponent. The mantissa will be between 0.5 and 1.

fn frexpf64[permalink] [source]

fn frexpf64(n: f64) (f64, i64);

Breaks a f64 down into its mantissa and exponent. The mantissa will be between 0.5 and 1.

fn gcd[permalink] [source]

fn gcd(a: u64, b: u64) u64;

Returns the greatest common divisor of a and b.

fn hypotf64[permalink] [source]

fn hypotf64(a: f64, b: f64) f64;

Returns the square root of a*a + b*b, taking care to avoid unnecessary overflow and underflow.

fn isclosef32[permalink] [source]

fn isclosef32(x: f32, y: f32, tol: f32 = STANDARD_TOL) bool;

Returns whether x and y are within tol of each other.

fn isclosef64[permalink] [source]

fn isclosef64(x: f64, y: f64, tol: f64 = STANDARD_TOL) bool;

Returns whether x and y are within tol of each other.

fn isinf[permalink] [source]

fn isinf(n: f64) bool;

Returns true if the given floating-point number is infinite.

fn isnan[permalink] [source]

fn isnan(n: f64) bool;

Returns true if the given floating-point number is NaN.

fn isnegativef32[permalink] [source]

fn isnegativef32(x: f32) bool;

Returns whether or not x is negative.

fn isnegativef64[permalink] [source]

fn isnegativef64(x: f64) bool;

Returns whether or not x is negative.

fn isnormalf32[permalink] [source]

fn isnormalf32(n: f32) bool;

Returns true if the given f32 is normal.

fn isnormalf64[permalink] [source]

fn isnormalf64(n: f64) bool;

Returns true if the given f64 is normal.

fn ispositivef32[permalink] [source]

fn ispositivef32(x: f32) bool;

Returns whether or not x is positive.

fn ispositivef64[permalink] [source]

fn ispositivef64(x: f64) bool;

Returns whether or not x is positive.

fn issubnormalf32[permalink] [source]

fn issubnormalf32(n: f32) bool;

Returns true if the given f32 is subnormal.

fn issubnormalf64[permalink] [source]

fn issubnormalf64(n: f64) bool;

Returns true if the given f64 is subnormal.

fn ldexpf32[permalink] [source]

fn ldexpf32(mantissa: f32, exp: i64) f32;

Creates an f32 from a mantissa and an exponent.

fn ldexpf64[permalink] [source]

fn ldexpf64(mantissa: f64, exp: i64) f64;

Creates an f64 from a mantissa and an exponent.

fn leading_zeros_u[permalink] [source]

fn leading_zeros_u(x: uint) u8;

Returns the number of leading zero bits in x The result is size(uint) * 8 for x == 0.

fn leading_zeros_u16[permalink] [source]

fn leading_zeros_u16(x: u16) u8;

Returns the number of leading zero bits in x The result is 16 for x == 0.

fn leading_zeros_u32[permalink] [source]

fn leading_zeros_u32(x: u32) u8;

Returns the number of leading zero bits in x The result is 32 for x == 0.

fn leading_zeros_u64[permalink] [source]

fn leading_zeros_u64(x: u64) u8;

Returns the number of leading zero bits in x The result is 64 for x == 0.

fn leading_zeros_u8[permalink] [source]

fn leading_zeros_u8(x: u8) u8;

Returns the number of leading zero bits in x The result is 8 for x == 0.

fn log10f64[permalink] [source]

fn log10f64(x: f64) f64;

Returns the decimal logarithm of x.

fn log1pf64[permalink] [source]

fn log1pf64(x: f64) f64;

Returns the natural logarithm of 1 plus its argument x. It is more accurate than log(1 + x) when x is near zero.

fn log2f64[permalink] [source]

fn log2f64(x: f64) f64;

Returns the binary logarithm of x.

fn logf64[permalink] [source]

fn logf64(x: f64) f64;

Returns the natural logarithm of x.

fn modf64[permalink] [source]

fn modf64(x: f64, y: f64) f64;

Returns the floating-point remainder of x / y. The magnitude of the result is less than y and its sign agrees with that of x.

fn modfracf32[permalink] [source]

fn modfracf32(n: f32) (f32, f32);

Returns the integer and fractional parts of an f32.

fn modfracf64[permalink] [source]

fn modfracf64(n: f64) (f64, f64);

Returns the integer and fractional parts of an f64.

fn mulu[permalink] [source]

fn mulu(x: uint, y: uint) (uint, uint);

Returns the product of x and y: (hi, lo) = x * y with the product bits' upper half returned in hi and the lower half returned in lo.

fn mulu32[permalink] [source]

fn mulu32(x: u32, y: u32) (u32, u32);

Returns the 64-bit product of x and y: (hi, lo) = x * y with the product bits' upper half returned in hi and the lower half returned in lo.

fn mulu64[permalink] [source]

fn mulu64(x: u64, y: u64) (u64, u64);

Returns the 128-bit product of x and y: (hi, lo) = x * y with the product bits' upper half returned in hi and the lower half returned in lo.

fn nextafterf32[permalink] [source]

fn nextafterf32(x: f32, y: f32) f32;

Returns the f32 that is closest to 'x' in direction of 'y'. Returns NaN if either parameter is NaN. Returns 'x' if both parameters are same.

fn nextafterf64[permalink] [source]

fn nextafterf64(x: f64, y: f64) f64;

Returns the f64 that is closest to 'x' in direction of 'y' Returns NaN if either parameter is NaN. Returns 'x' if both parameters are same.

fn normalizef32[permalink] [source]

fn normalizef32(n: f32) (f32, i64);

Takes a potentially subnormal f32 n and returns a normal f32 normal_float and an exponent exp such that n == normal_float * 2^{exp}.

fn normalizef64[permalink] [source]

fn normalizef64(n: f64) (f64, i64);

Takes a potentially subnormal f64 n and returns a normal f64 normal_float and an exponent exp such that n == normal_float * 2^{exp}.

fn popcount[permalink] [source]

fn popcount(x: u64) u8;

Returns the number of bits set (the population count) of x.

fn powf64[permalink] [source]

fn powf64(x: f64, p: f64) f64;

Returns x^p.

fn powi64[permalink] [source]

fn powi64(x: i64, n: uint) i64;

Return x to the power of n (a positive integer)

fn remu[permalink] [source]

fn remu(hi: uint, lo: uint, y: uint) uint;

Returns the remainder of (hi, lo) divided by y. Aborts if y == 0 (division by zero) but, unlike divu, it doesn't abort on a quotient overflow.

fn remu32[permalink] [source]

fn remu32(hi: u32, lo: u32, y: u32) u32;

Returns the remainder of (hi, lo) divided by y. Aborts if y == 0 (division by zero) but, unlike divu32, it doesn't abort on a quotient overflow.

fn remu64[permalink] [source]

fn remu64(hi: u64, lo: u64, y: u64) u64;

Returns the remainder of (hi, lo) divided by y. Aborts if y == 0 (division by zero) but, unlike divu64, it doesn't abort on a quotient overflow.

fn roundf64[permalink] [source]

fn roundf64(x: f64) f64;

Returns the nearest integer, rounding half away from zero.

fn signf32[permalink] [source]

fn signf32(x: f32) i64;

Returns 1 if x is positive and -1 if x is negative. Note that zero is also signed.

fn signf64[permalink] [source]

fn signf64(x: f64) i64;

Returns 1 if x is positive and -1 if x is negative. Note that zero is also signed.

fn signi[permalink] [source]

fn signi(n: int) i64;

Return 1 if n is positive, -1 if it's negative and 0 if it's 0.

fn signi16[permalink] [source]

fn signi16(n: i16) i16;

Return 1 if n is positive, -1 if it's negative and 0 if it's 0.

fn signi32[permalink] [source]

fn signi32(n: i32) i32;

Return 1 if n is positive, -1 if it's negative and 0 if it's 0.

fn signi64[permalink] [source]

fn signi64(n: i64) i64;

Return 1 if n is positive, -1 if it's negative and 0 if it's 0.

fn signi8[permalink] [source]

fn signi8(n: i8) i8;

Return 1 if n is positive, -1 if it's negative and 0 if it's 0.

fn sinf64[permalink] [source]

fn sinf64(x: f64) f64;

Returns the sine of x, in radians.

fn sinhf64[permalink] [source]

fn sinhf64(x: f64) f64;

Returns the hyperbolic sine of x.

fn sqrtf64[permalink] [source]

fn sqrtf64(x: f64) f64;

Returns the non-negative square root of x.

fn tanf64[permalink] [source]

fn tanf64(x: f64) f64;

Returns the tangent of x, in radians.

fn tanhf64[permalink] [source]

fn tanhf64(x: f64) f64;

Returns the hyperbolic tangent of x.

fn trailing_zeros_u[permalink] [source]

fn trailing_zeros_u(x: uint) u8;

Returns the number of trailing zero bits in x The result is size(uint) * 8 for x == 0.

fn trailing_zeros_u16[permalink] [source]

fn trailing_zeros_u16(x: u16) u8;

Returns the number of trailing zero bits in x The result is 16 for x == 0.

fn trailing_zeros_u32[permalink] [source]

fn trailing_zeros_u32(x: u32) u8;

Returns the number of trailing zero bits in x The result is 32 for x == 0.

fn trailing_zeros_u64[permalink] [source]

fn trailing_zeros_u64(x: u64) u8;

Returns the number of trailing zero bits in x The result is 64 for x == 0.

fn trailing_zeros_u8[permalink] [source]

fn trailing_zeros_u8(x: u8) u8;

Returns the number of trailing zero bits in x The result is 8 for x == 0.

fn truncf64[permalink] [source]

fn truncf64(x: f64) f64;

Returns the integer value of x.