d8d*_*f42 14 floating-point haskell coercion
什么是惯用的方式Double -> Float
?
是uncurry encodeFloat . decodeFloat
吗?
(我正在使用gloss
,这需要Floats)
找到这些问题答案的推荐方法是什么?
我正在尝试这个hoogle查询,但答案都非常无益(尝试一下 - 它unsafeCoerce
位于列表的顶部)
ham*_*mar 19
使用realToFrac :: (Real a, Fractional b) => a -> b
.
它从任何实数类型(如Int
,Float
或Double
)转换为任何小数类型(如Float
,Double
或Rational
).
请注意,即使此函数(fromRational . toRational
)的一般定义通过Rational
类型进行缓慢转换,也存在重写规则,这些规则使用更高效的实现来实现Float
和之间的转换Double
.