组合min()和max()的函数是否有"规范"名称?

Kip*_*Kip 23 language-agnostic standards nomenclature

我发现我经常最终编写一个我总称之为" clamp()" 的函数,这是一种组合min()max().这个功能有标准的"规范"名称吗?

它总是看起来像这样:

function clamp($val, $lower, $upper)
{
  if ($val < $lower)
    return $lower;
  else if ($val > $upper)
    return $upper;
  else
    return $val;
}
Run Code Online (Sandbox Code Playgroud)

或者只是使用内置min()max()功能:

function clamp($val, $lower, $upper)
{
  return max($lower, min($upper, $val));
}
Run Code Online (Sandbox Code Playgroud)

存在变化:您还可以检查无效输入,在哪里lower > upper,并抛出异常或反转输入.或者你可以忽略输入的顺序并将其称为三次中值函数,但这可能会令人困惑.

Niy*_*yaz 37

是个好名字.

让我们把它作为标准.

  • 似乎已经是标准(至少在图形中):http://en.wikipedia.org/wiki/Clamping_%28graphics%29 (2认同)
  • C++17 有 `std::clamp`。 (2认同)

Jim*_*m C 5

在某些语言中,您具有功能限制

num = limit(val,min,max)