Clamp (function)


In computer science, clamping, or clipping is the process of limiting a value to a range between a minimum and a maximum value. Unlike wrapping, Clamping moves a value to the nearest boundary if it is outside the allowed range.
In Python, clamping can be defined as follows:

def clamp:
if x < minimum:
return minimum
if x > maximum:
return maximum
return x

This is equivalent to for languages that support the functions min and max.

Uses

Several programming languages and libraries provide functions for fast and vectorized clamping. In Python, the pandas library offers the Series.clip and DataFrame.clip methods. The NumPy library offers the clip function. In the Wolfram Language, it is implemented as.
In OpenGL, the glClearColor function takes four GLfloat values which are then 'clamped' to the range.
One of the many uses of clamping in computer graphics is the placing of a detail inside a polygon—for example, a bullet hole on a wall. It can also be used with wrapping to create a variety of effects.
In CSS, clamp can help to implement responsive typography or responsive designs generally.
Although spreadsheets like Excel, Open Office Calc, or Google Sheets don't provide a clamping function directly, the same effect can be achieved by using functions like MAX & MIN together, by MEDIAN, or with cell function macros. When attempting to do a clamp where the input is an array, other methods must be used.