小编Die*_*lan的帖子

如何使cplex不输出到终端

我正在使用IBM cplex优化器来解决优化问题,我不希望优化器执行所有终端打印.是否有成员在IloCplex或IloModel类中关闭此功能?这些是关于剪切和迭代的打印.打印到终端是昂贵的,我的问题最终将是数百万变量的数量级,我不想浪费时间与这些多余的输出.谢谢.

c++ mathematical-optimization linear-programming cplex ilog

10
推荐指数
1
解决办法
8033
查看次数

如何判断Codec.Picture加载的DynamicImage的类型

我正在尝试使用JuicyPixels库加载PNG,我能够成功完成此操作但我无法弄清楚底层图像的类型.在库中,DynamicImage定义如下.

data DynamicImage =
       ImageY8   (Image Pixel8)
     | ImageYA8  (Image PixelYA8)
     | ImageRGB8 (Image PixelRGB8)
     | ImageRGBA8 (Image PixelRGBA8)
     | ImageYCbCr8 (Image PixelYCbCr8)
Run Code Online (Sandbox Code Playgroud)

通过简单的试验和错误,我能够通过这样做发现它是ImageRGBA8.

img = (\(ImageRBA8 t) -> t) dynImage
Run Code Online (Sandbox Code Playgroud)

然后就是这么做

imageData img
Run Code Online (Sandbox Code Playgroud)

在ghci中打印图像数据,所有其他类型都会出错.那么如何DynamicImage在没有试验错误的情况下找出已加载的类型.我确信这很简单,我只是遗漏了一些东西.

haskell types codec

5
推荐指数
1
解决办法
288
查看次数

显示IO阵列

因为我一直在学习haskell,所以我很享受纯粹的部分,但现在我在monadic和IO部分遇到困难,可能会遇到一些人真正对这种语言感到愤怒的事情.我解决了一个项目euler问题,我简单地想要一个可变数组,因为我必须经常通过索引更新元素.我试过矢量但无法让它们工作,所以我尝试了Data.Array.IO.我可以读取和写入元素,但我不能按照我想要的方式在终端中显示数组.到目前为止,我有这个.

test = do
    arr <- newArray (1,10) 37 :: IO (IOArray Int Int)
    a <- readArray arr 1
    writeArray arr 1 64
    b <- readArray arr 1
    dispArray arr 
    return ()

dispArray arr = do
    (a,b) <- getBounds arr
    printf "["
    dispArray' arr a
    printf "]\n"
        where dispArray' arr i = do
                (a,b) <- getBounds arr
                if i < a || i > b
                    then return ()
                    else do
                        v <- readArray arr i
                        print v
                        dispArray' arr (i+1) …
Run Code Online (Sandbox Code Playgroud)

arrays io haskell

4
推荐指数
2
解决办法
1057
查看次数

为什么不能在Haskell中像这样定义列表?

[(a,b) | a <- [1..5], b <- [1..5], a+b <- [1..10] ]
Run Code Online (Sandbox Code Playgroud)

尝试定义遵循这些规则的列表.我知道它不允许我添加a和b的方式,但我不明白为什么.

编辑忘了"< - "

haskell

1
推荐指数
1
解决办法
207
查看次数