ref: 18da4d07e56cdbc6f6e170c4023c4c7d9ca0bd3e
dir: /libstd/extremum.myr/
pkg std =
generic min : (a : @a::numeric, b : @a::numeric -> @a::numeric)
generic max : (a : @a::numeric, b : @a::numeric -> @a::numeric)
generic clamp : (a : @a::numeric, min : @a::numeric, max : @a::numeric -> @a::numeric)
generic abs : (a : @a::numeric -> @a::numeric)
;;
generic min = {a, b
if a < b
-> a
else
-> b
;;
}
generic max = {a, b
if a > b
-> a
else
-> b
;;
}
generic clamp = {a, min, max
if a < min
-> min
elif a > max
-> max
else
-> a
;;
}
generic abs = {a : @a::numeric
if a < (0 castto(@a::numeric))
-> -a
else
-> a
;;
}