2024-08-30 15:22:13 +00:00
|
|
|
SIZEOF_INT := 31
|
|
|
|
|
2024-08-20 12:03:39 +00:00
|
|
|
abs := fn(x: int): int {
|
2024-08-30 15:22:13 +00:00
|
|
|
mask := x >> SIZEOF_INT
|
2024-08-20 12:03:39 +00:00
|
|
|
return (x ^ mask) - mask
|
|
|
|
}
|
|
|
|
min := fn(a: int, b: int): int {
|
2024-08-30 15:22:13 +00:00
|
|
|
c := a - b
|
|
|
|
return b + (c & c >> SIZEOF_INT)
|
|
|
|
}
|
|
|
|
max := fn(a: int, b: int): int {
|
|
|
|
c := a - b
|
|
|
|
return a - (c & c >> SIZEOF_INT)
|
2024-08-20 12:03:39 +00:00
|
|
|
}
|