aqua-lib/math.aqua
2024-01-12 13:13:52 +01:00

49 lines
1.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

aqua MathLib declares *
service Math("math"):
-- x + y
add(x: i64, y: i64) -> i64
-- x - y
sub(x: i64, y: i64) -> i64
-- x * y
mul(x: i64, y: i64) -> i64
-- floor(x * y)
fmul(x: f64, y: f64) -> i64
-- x / y
div(x: i64, y: i64) -> i64
-- division remainder, x % y
rem(x: i64, y: i64) -> i64
-- x^y
pow(x: i64, y: u32) -> i64
-- logarithm of y to base x
-- x logarithm base
log(x: i64, y: i64) -> u32
service Compare("cmp"):
-- x > y
gt(x: i64, y: i64) -> bool
-- x >= y
gte(x: i64, y: i64) -> bool
-- x < y
lt(x: i64, y: i64) -> bool
-- x <= y
lte(x: i64, y: i64) -> bool
-- compare x and y
-- x < y, return -1
-- x = y, return 0
-- x > y, return 1
cmp(x: i64, y: i64) -> i8
service Array("array"):
-- sum of all numbers in array
sum(xs: []i64) -> i64
-- remove duplicates, not stable
dedup(xs: []string) -> []string
-- set-intersection of two arrays, not stable, deduplicates
intersect(xs: []string, ys: []string) -> []string
-- set-difference of two arrays, not stable, deduplicates
diff(xs: []string, ys: []string) -> []string
-- symmetric difference of two arrays, not stable, deduplicates
sdiff(xs: []string, ys: []string) -> []string