unit math_m; interface function Clamp(val, min, max: integer): integer; function RandomBool: boolean; function Signum(a, b: integer): integer; implementation function Clamp(val, min, max: integer): integer; begin Clamp := val; if val < min then Clamp := min; if val > max then Clamp := max end; function Signum(a, b: integer): integer; begin if a < b then Signum := -1 else if a > b then Signum := 1 else Signum := 0 end; function RandomBool: boolean; begin RandomBool := Random(2) = 1 end; end.