如何将Double转换为Foreign.C.Types.CInt

时间:2014-05-03 20:49:45

标签: opengl haskell

我正在尝试根据另一个函数的输出设置initialWindowSize Graphics.UI.GLUT.Size,返回一些Double s。

首先我愚蠢地插入我的Double,当然我得到了这个:

Couldn't match type `Double' with `Foreign.C.Types.CInt'
Expected type: GLsizei
  Actual type: Double
In the first argument of `G.Size', namely `x'
In the second argument of `($=)', namely `G.Size x y'
In a stmt of a 'do' block: initialWindowSize $= G.Size x y

我似乎无法找到任何可以让我将Double转换为CInt

的函数

我试过toInteger,但我得到了:

Couldn't match type `Integer' with `Foreign.C.Types.CInt'

进行此转换的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

怎么样:

round (2.25 :: Double) :: CInt

甚至更好:

round (2.25 :: Double) :: GLsizei