ClampInt :: proc(val: int, min: int, max: int): int { result := val; if (val < min) result = min; if (val > max) result = max; return result; } MinInt :: proc(a: int, b: int): int { result := a; if (a > b) result = b; return result; } MaxInt :: proc(a: int, b: int): int { result := b; if (a > b) result = a; return result; } MaxFloat :: proc(a: float, b: float): float { if a > b return a; return b; } MinFloat :: proc(a: float, b: float): float { if a > b return b; return a; } ClampFloat :: proc(val: float, min: float, max: float): float { if (val > max) return max; if (val < min) return min; return val; }