Math

#load "std/math.bl"

PI

PI :: 3.141593

File: math.bl

TWO_PI

TWO_PI :: 6.283185

File: math.bl

HALF_PI

HALF_PI :: 1.570796

File: math.bl

F32_PI

F32_PI :: 

File: math.bl

F32_TWO_PI

F32_TWO_PI :: 

File: math.bl

F32_HALF_PI

F32_HALF_PI :: 

File: math.bl

F32_EPSILON

F32_EPSILON :: 0.000010

File: math.bl

F64_EPSILON

F64_EPSILON :: 0.000010

File: math.bl

F32_MAX

F32_MAX :: 340282346638528859811704183484516925440.000000

File: math.bl

F32_MIN

F32_MIN :: 0.000000

File: math.bl

F64_MAX

F64_MAX :: 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000

File: math.bl

F64_MIN

F64_MIN :: 0.000000

File: math.bl

S8_MIN

S8_MIN : s8 : -128

File: math.bl

S8_MAX

S8_MAX : s8 : 127

File: math.bl

S16_MIN

S16_MIN : s16 : -32768

File: math.bl

S16_MAX

S16_MAX : s16 : 32767

File: math.bl

S32_MIN

S32_MIN : s32 : -2147483648

File: math.bl

S32_MAX

S32_MAX : s32 : 2147483647

File: math.bl

S64_MIN

S64_MIN : s64 : -9223372036854775808

File: math.bl

S64_MAX

S64_MAX : s64 : 9223372036854775807

File: math.bl

U8_MIN

U8_MIN : u8 : 0

File: math.bl

U8_MAX

U8_MAX : u8 : 255

File: math.bl

U16_MIN

U16_MIN : u16 : 0

File: math.bl

U16_MAX

U16_MAX : u16 : 65535

File: math.bl

U32_MIN

U32_MIN : u32 : 0

File: math.bl

U32_MAX

U32_MAX : u32 : 4294967295

File: math.bl

U64_MIN

U64_MIN : u64 : 0

File: math.bl

U64_MAX

U64_MAX : u64 : 18446744073709551615

File: math.bl

nan

nan :: fn (T: type) T

Returns NaN for given type T.

File: math.bl

inf

inf :: fn (T: type) T

Returns positive infinity value for given type T.

File: math.bl

is_nan

is_nan :: fn (n: ?T) bool #inline

Returns true in case the input real number is NaN (i.e. result of operation 0./0.).

File: math.bl

is_inf

is_inf :: fn (n: ?T) bool #inline

Returns true in case the input real number is positive infinity number (i.e. result of operation 1./0.).

File: math.bl

is_ninf

is_ninf :: fn (n: ?T) bool #inline

Returns true in case the input real number is negative infinity number (i.e. result of operation -1./0.).

File: math.bl

sin

sin :: fn { 
    f32_sin; 
    f64_sin; 
}

File: math.bl

cos

cos :: fn { 
    f32_cos; 
    f64_cos; 
}

File: math.bl

floor

floor :: fn { 
    f32_floor; 
    f64_floor; 
}

File: math.bl

round

round :: fn { 
    f32_round; 
    f64_round; 
}

File: math.bl

pow

pow :: fn { 
    f32_pow; 
    f64_pow; 
}

File: math.bl

exp

exp :: fn { 
    f32_exp; 
    f64_exp; 
}

File: math.bl

log

log :: fn { 
    f32_log; 
    f64_log; 
}

File: math.bl

log2

log2 :: fn { 
    f32_log2; 
    f64_log2; 
}

File: math.bl

log10

log10 :: fn { 
    f32_log10; 
    f64_log10; 
}

File: math.bl

sqrt

sqrt :: fn { 
    f32_sqrt; 
    f64_sqrt; 
}

File: math.bl

ceil

ceil :: fn { 
    f32_ceil; 
    f64_ceil; 
}

File: math.bl

trunc

trunc :: fn { 
    f32_trunc; 
    f64_trunc; 
}

File: math.bl

atan2

atan2 :: fn { 
    C.atan2f; 
    C.atan2; 
}

File: math.bl

copysign

copysign :: fn { 
    C.copysignf; 
    C.copysign; 
}

File: math.bl

asin

asin :: fn { 
    C.asinf; 
    C.asin; 
}

File: math.bl

acos

acos :: fn { 
    C.acosf; 
    C.acos; 
}

File: math.bl

tan

tan :: fn { 
    C.tanf; 
    C.tan; 
}

File: math.bl

atan

atan :: fn { 
    C.atanf; 
    C.atan; 
}

File: math.bl

fmod

fmod :: fn { 
    fn (x: f32, y: f32) f32; 
    fn (x: f64, y: f64) f64; 
}

File: math.bl

sign

sign :: fn (x: ?T) T #inline

File: math.bl

abs

abs :: fn { 
    f32_abs; 
    f64_abs; 
    s64_abs; 
}

File: math.bl

compare

compare :: fn { 
    f32_compare; 
    f64_compare; 
}

File: math.bl

degtorad

degtorad :: fn { 
    f32_degtorad; 
    f64_degtorad; 
}

File: math.bl

radtodeg

radtodeg :: fn { 
    f32_radtodeg; 
    f64_radtodeg; 
}

File: math.bl

max

max :: fn (a: ?T, b: T) T #inline

File: math.bl

min

min :: fn (a: ?T, b: T) T #inline

File: math.bl

lerp

lerp :: fn (a: ?T, b: T, fraction: T) T #inline

File: math.bl

smooth_step

smooth_step :: fn (a: ?T, b: T, fraction: T) T #inline

File: math.bl

clamp

clamp :: fn (v: ?T, minimum: T, maximum: T) T

File: math.bl

map

map :: fn (value: ?T, min1: T, max1: T, min2: T, max2: T) T #inline

File: math.bl