Share to: share facebook share twitter share wa share telegram print page

 

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 merely moves the point to the nearest available value.

Y = clamp(X, 1, 3)
X Y
0 1
1 1
2 2
3 3
4 3

In Python, clamping can be defined as follows:

def clamp(x, minimum, maximum):
    if x < minimum:
        return minimum
    if x > maximum:
        return maximum
    return x

This is equivalent to max(minimum, min(x, maximum)) 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[1] and DataFrame.clip[2] methods. The NumPy library offers the clip[3] function. In the Wolfram Language, it is implemented as Clip[x, {minimum, maximum}].[4]

In OpenGL, the glClearColor function takes four GLfloat values which are then 'clamped' to the range .[5]

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()[6] can help to implement responsive typography or responsive designs generally.[7]

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,[8][9] or with cell function macros.[10] When attempting to do a clamp where the input is an array, other methods must be used.[11]

References

  1. ^ "Pandas Series.clip method documentation". Retrieved 2023-10-15.
  2. ^ "Pandas DataFrame.clip method documentation". Retrieved 2023-10-15.
  3. ^ "NumPy clip function documentation". Retrieved 2023-10-15.
  4. ^ "Wolfram Language Clip function documentation". Retrieved 2023-10-15.
  5. ^ "OpenGL 4 Reference Pages". www.khronos.org. Retrieved 2018-10-31.
  6. ^ "clamp()". MDN Web Docs. Mozilla.
  7. ^ Bece, Adrian. "Modern Fluid Typography Using CSS Clamp". Smashing Magazine. Smashing Media AG. Retrieved 29 January 2025.
  8. ^ Citi, Jasper. "How do I constrain a value to a range in excel?". Stack Overflow. Retrieved 29 January 2025.
  9. ^ "Clamp function in Excel". Excel Forum. Retrieved 29 January 2025.
  10. ^ "[Solved] Math Clamp Function?". Apache OpenOffice Community Forum. Retrieved 29 January 2025.
  11. ^ "Array-Safe Clamp Value in Google Sheets". Stack Exhange > Web Applications. Stack Overflow. Retrieved 29 January 2025.


Information related to Clamp (function)

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya