问题标签 [clamp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
56606 浏览

c - 钳制真实(固定/浮点)值的最快方法?

有没有比使用 if 语句或三元运算符更有效的方法来钳制实数?我想为双打和 32 位定点实现 (16.16) 执行此操作。我不是要求可以处理这两种情况的代码。它们将在单独的函数中处理。

显然,我可以这样做:

或者

固定点版本将使用函数/宏进行比较。

这是在代码的性能关键部分完成的,所以我正在寻找一种尽可能有效的方法来做到这一点(我怀疑这会涉及位操作)

编辑:它必须是标准/可移植的 C,平台特定的功能在这里没有任何意义。此外,MY_MIN并且MY_MAX与我想要钳制的值的类型相同(在上面的示例中为双精度)。

0 投票
10 回答
81748 浏览

c# - 我在哪里可以找到 .NET 中的“clamp”功能?

我想将一个值限制x在一个范围内[a, b]

这是非常基本的。但我在类库中没有看到函数“clamp”——至少在System.Math.

(对于不知道“钳制”一个值的人来说,要确保它位于一些最大值和最小值之间。如果它大于最大值,则将其替换为最大值等)

0 投票
4 回答
12727 浏览

c++ - 将向量钳制到最小值和最大值?

我遇到了这个: t = Clamp(t/d, 0, 1) 但我不确定如何对向量执行此操作。如果一个人正在编写自己的向量实现,那么钳位向量的步骤是什么?

谢谢

将向量钳位到最小值和最大值

前任:

0 投票
9 回答
139242 浏览

python - 如何将整数限制在某个范围内?

我有以下代码:

基本上,我计算一个新索引并使用它从列表中查找一些元素。为了确保索引在列表的范围内,我需要将这 2 个if语句写成 4 行。这很冗长,有点难看......我敢说,这很不符合pythonic

还有其他更简单、更紧凑的解决方案吗?(以及更多的pythonic

是的,我知道我可以if else在一行中使用,但它不可读:

我也知道我可以链接max()在一起min()。它更紧凑,但我觉得它有点晦涩,如果我输入错误更难找到错误。换句话说,我觉得它不是很简单。

0 投票
4 回答
6415 浏览

c++ - 我的钳位宏有问题

我的钳位宏有问题,当我的值超过 10 并且我的最高值超过 17 时,它停止工作。任何的想法?

0 投票
1 回答
10432 浏览

c++ - 在 OpenCv Mat 中钳位值的最有效方法

我有一个 OpenCv Mat,我将用于每像素重映射,称为remap,它包含CV_32FC2元素。

其中一些元素可能超出了重映射的允许范围。所以我需要将它们夹在Point2f(0, 0)和之间Point2f(w, h)。用 OpenCv 2.x 完成此任务的最短或最有效的方法是什么?

这是一个解决方案:

但我不确定它是否是最短的,或者拆分/合并是否有效。

0 投票
2 回答
1216 浏览

c# - Mathhelper.Clamp 不准确?

在我正在开发的游戏中使用 Mathhelper.Clamp 时遇到问题。这是导致我出现问题的代码片段:

本质上,我希望完成的是(从 x,0 开始)让玩家精灵向下移动直到它到达屏幕中间,然后背景将移动,直到它到达背景的底部减去一半屏幕高度,然后玩家精灵将再次移动,直到它到达屏幕底部。(我有实现这一点的代码) - 对我来说,这似乎是 2D 横向卷轴的典型相机功能。

但是,我遇到的问题是这些位置并没有准确地固定在它们应该是的数字上,这意味着依赖于它们被如此特别放置的代码也被破坏了。更具体地说,似乎允许在夹紧点之外多移动一帧。

谁能告诉我这不应该起作用的原因,或者我能做些什么来使它起作用?提前致谢!

0 投票
3 回答
43130 浏览

python - 在 Python 中限制浮点数?

Python 2.6 中是否有内置函数?

就像是:

0 投票
10 回答
153247 浏览

javascript - 将数字限制为段的最优雅的方法是什么?

假设x和是a数字b。我需要限制x在段的范围内[a, b]

换句话说,我需要一个钳位功能

任何人都可以想出一个更具可读性的版本吗?

0 投票
5 回答
9662 浏览

ruby - 有没有限制/钳位数字的方法?

我写了以下代码,它保持x在范围内(a..b)。在伪代码中:

在 Ruby 中,它会是这样的:

由于它是非常基本且有用的功能,我想知道在 ruby​​ 中是否有本地方法可以做到这一点。

从 Ruby 2.3.3 开始,显然没有这样的方法,那么最短/更易读的方法是什么?

我发现:

到目前为止,但我不确定它是否更具可读性。