ref: 14c0d8b03e8390c4f06bde071294a0c2325e8c7f
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 ;; }