clamp
#数学
clampは、入力値を指定した下限値・上限値の間に制限する関数
clipと呼ばれることもある
$ {\rm clamp}(x) = {\rm min}({\rm max}(x, 0), 1)
https://en.wikipedia.org/wiki/Clamp_(function)
clampが提供されていない環境においては、上記の数式のように、min関数とmax関数を組み合わせて作る
通常、数値に対して適用される関数だが、後述するRubyの例のように、全順序を満たす型であれば数値以外にも適用可能だったりする
登場作品
as "clamp"
GLSL: clamp(x, minVal, maxVal) 🔗
ECMAScript: 2026年現在、 Math.clamp(value, min, max) が提案されており、Stage 2 🔗
CSS: clamp(min, val, max) 🔗
💀 min, val, max 💀
Three.js: clamp(value, min, max) 🔗
Rust: f32.clamp(min, max) 🔗
Ruby: num.clamp(min, max) 🔗
宇宙船演算子を用いており、数値以外でも利用可能
min, max には、それぞれ nil を渡すことができる
Rangeオブジェクトを用いて、 num.clamp(range) とも書ける
Dart: num.clamp(lowerLimit, upperLimit) 🔗
as "clip"
numpy: clip(a, a_min, a_max) 🔗
Wolfram: Clip(x, {min, max}, {v_min, v_max}) 🔗
min, max を超えた場合の返り値を指定できる
Cycling '74 Max: clip~ minimum maximum 🔗
Pure Data: clip~ lower upper 🔗
その他の名称
Processing: constrain(amt, low, high) 🔗