Return a value clamped to a given range using vals type
clamp_val(val, min, max);
val
current value
min
minimum allowable value
max
maximum allowable value
This macro does no typechecking and uses temporary variables of whatever type the input argument 'val' is. This is useful when val is an unsigned type and min and max are literals that will otherwise be assigned a signed integer type.