2024-01-12 12:13:52 +00:00
|
|
|
|
aqua MathLib declares *
|
|
|
|
|
|
2022-02-28 20:40:42 +00:00
|
|
|
|
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
|