是否有标准的Haskell函数可以进行数字剪切?

时间:2015-04-12 23:35:32

标签: haskell math

我有以下代码:

clip n = if n < 0 then 0 else n

它属于同一类别&#34;类别&#34;作为absceilingfloor。我不认为有这样的标准功能吗?

2 个答案:

答案 0 :(得分:10)

当然有一个:

clip = max 0

答案 1 :(得分:4)

侧注,用于在闭合区间[a,b]内剪切n,即

  • n如果a&lt; = n&lt; = b
  • a if n&lt;一个
  • b如果n> b,

考虑

clip :: (Ord a) => a -> a -> a -> a
clip n a b = min b $ max n a

或者如果你喜欢无点式:

clip :: Ord a => a -> a -> a -> a
clip a b = (a `max`) . (`min` b)