小编Kae*_*ure的帖子

在不断增长的scala.collections.mutable.Queue上有一种优雅的foldLeft方式吗?

我有一个递归函数,我试图@tailrec通过内部递归part(countR3)向队列添加元素(agenda是a scala.collections.mutable.Queue).我的想法是将功能的外部部分放在议程上并总结结果.

注意:这一个家庭作业问题,因此我不想发布整个代码; 然而,使实现尾递归不是功课的一部分.

以下是与我的问题相关的代码部分:

import scala.collection.mutable.Queue

val agenda: Queue[Tuple2[Int, List[Int]]] = Queue()

@tailrec
def countR3(y: Int, x: List[Int]): Int = {
  if (y == 0) 1
  else if (x.isEmpty) 0
  else if …
  else {
    agenda.enqueue((y - x.head, x))
    countR3(y, x.tail)
  }
}
?
agenda.enqueue((4, List(1, 2)))
val count = agenda.foldLeft(0) {
  (count, pair) => {
    val mohr = countR3(pair._1, pair._2)
    println("count=" + count + " countR3=" + …
Run Code Online (Sandbox Code Playgroud)

queue functional-programming scala mutable

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

如何让Cocoa NSTextView随着用户输入而增长?

对于我正在编写的Cocoa应用程序,我想支持主文档内容右侧的面板,用户可以在其中添加当前所选文档内容的注释.(如果您熟悉Microsoft Word或Scrivener,此功能类似于这些应用程序中的注释功能.)Scrivener可以很好地开始使用大小适合默认文本的文本字段,然后随着用户增长更高键入它.我想为我的Cocoa应用程序实现相同的行为.

什么是基本策略?

cocoa textbox objective-c nstextview

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

Akka Actors库是否随Scala IDE for Scala 2.10一起安装?

我最近开始探索Scala,并开始在我的Eclipse(Indigo)副本中安装Scala IDE.我最初为Scala 2.9安装了Scala IDE,但后来注意到Scala 2.10有一个更新的版本.在较旧的插件上安装较新的插件似乎已经奏效,但......

Scala 2.10已弃用旧的Scala Actors而转向Akka Actors.因此,我正在尝试向我的玩具Scala项目添加导入:

import akka.actor.Actor
Run Code Online (Sandbox Code Playgroud)

这在IDE中标记为错误

not found: object akka
Run Code Online (Sandbox Code Playgroud)

当我查看我的Scala项目的属性时,我确实没有看到Akka文档中提到的任何akka-*jar文件.

它们是否需要单独下载和安装,即使Scala IDE插件安装了Scala 2.10的其余部分?或者更改包名称作为整合Akka演员代替旧Scala演员的一部分?(文档没有这么说,但Scala 2.10版本是最新的...)

eclipse ide scala actor akka

6
推荐指数
2
解决办法
3218
查看次数

如何使用Eigen 3表示"<array-of-true-or-false> = <array> <= <scalar>"?

我正在使用Eigen 3模板库将一些MATLAB代码移植到C++,我正在为这个常见的MATLAB习惯寻找一个好的映射:

K>> [1 2 3 4 5] <= 3

ans =

     1     1     1     0     0
Run Code Online (Sandbox Code Playgroud)

因此,比较一个数组和一个标量,返回一个具有相同形状的布尔数组.

我知道Eigen的Array类有系数方面的比较运算符,但是如果我正确地解释文档它们只能用于另一个数组; 没有标量值.

是否有一些我错过的选项可以与标量进行比较?或者失败了,一个很好的惯用方法来创建一个适当形状的数组,其中填充了表达式RHS的标量值?

c++ matlab eigen vmat

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

如何在调用MATLAB的arrayfun时捕获多个返回值?

我有一个函数,它将一个图像作为参数,并生成一个标签和一个分数作为结果.我偶尔想要快速测试一个(单元格)图像数组,而我所知道的最方便的方法就是使用它arrayfun.这适用于获取我的函数生成的标签,但我真的希望输出是一个[label score]单元格列表.

我可以在我的函数周围编写一个包装器,它捕获两个值并将它们作为单元格矩阵返回,然后在其中调用该包装器arrayfun,但似乎这是一个常见的习惯用法,应该有一种方法来处理多个返回值更多方便.在那儿?(也许已经存在一个可以做到这一点的标准便利功能?类似于deal... 的反面)

arrays matlab return-value

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

在MATLAB图例中设置线条颜色?

我正在使用BNT的plotgauss2d函数来可视化当在网络中的其他地方观察到证据时2D高斯节点的响应如何变化.

eng = jtree_inf_engine(bnet);
evidence = cell(1, 2)
eng = enter_evidence(eng, evidence);
marginals = marginal_nodes(eng, 1); p_1 = marginals.T
marginals = marginal_nodes(eng, 2); p_2 = marginals.T
marginals
clf; plotgauss2d(marginals.mu, marginals.Sigma);
hold all;
evidence{1} = 1;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
set(p, 'Color', 'green');
evidence{1} = 2;
marginals = marginal_nodes(enter_evidence(eng, evidence), 2);
p = plotgauss2d(marginals.mu, marginals.Sigma);
set(p, 'Color', 'red');
legend({'Unknown', 'Class 1', 'Class 2'});
hold off;
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如您所见,图例没有拾取我必须手动设置的更改的绘图颜色.(遗憾的是,plotgauss2d不会像您希望的那样自动循环显示颜色.)

有没有办法设置图例中使用的线条颜色?

matlab plot colors legend

4
推荐指数
1
解决办法
3万
查看次数

如何自动执行lldb命令序列?

为了解决Apple的lldb中的错误(rdar:// 13702081),我经常需要按顺序键入两个命令,如下所示:

(lldb) p todo.matA
(vMAT_Array *) $2 = 0x000000010400b5a0
(lldb) po $2.dump
$3 = 0x0000000100503ce0 <vMAT_Int8Array: 0x10400b5a0; size: [9 1]> = 
1
1
1
1
1
1
1
1
1
Run Code Online (Sandbox Code Playgroud)

是否可以使用可以为我组合这些步骤的Python库(或其他东西)编写新的lldb命令?理想情况下:

(lldb) pmat todo
$3 = 0x0000000100503ce0 <vMAT_Int8Array: 0x10400b5a0; size: [9 1]> = 
1
1
1
1
1
1
1
1
1
Run Code Online (Sandbox Code Playgroud)

感谢Jason Molenda,这是从一个工作的lldb命令脚本输出的:

(lldb) pmat Z
$0 = 0x0000000100112920 <vMAT_DoubleArray: 0x101880c20; size: [9 3]> = 
       7        9 0.848715
       3        5 0.993378 …
Run Code Online (Sandbox Code Playgroud)

python lldb vmat

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

如何从-captureStillImageAsynchronouslyFromConnection获取的CMSampleBuffer获取NSImage:completionHandler:?

我有一个Cocoa应用程序,旨在从USB显微镜捕获静态图像,然后对它们进行一些后处理,然后将它们保存到图像文件中.目前,我被困在试图从CMSampleBufferRef传递给我的completionHandler块的那个,NSImage或者其他一些我可以使用熟悉的Cocoa API操作和保存的表示.

imageFromSampleBuffer()在AVFoundation文档中找到了这个函数,它声称将a转换CMSampleBuffer为a UIImage(叹气),并适当地修改它以返回一个NSImage.但它在这种情况下不起作用,作为对CMSampleBufferGetImageBuffer()返回的调用nil.

这是一个显示CMSampleBuffer传递给我的完成块的日志:

2012-01-21 19:38:36.293 LabCam[1402:cb0f] CMSampleBuffer 0x100335390 retainCount: 1 allocator: 0x7fff8c78620c
     invalid = NO
     dataReady = YES
     makeDataReadyCallback = 0x0
     makeDataReadyRefcon = 0x0
     buffer-level attachments:
          com.apple.cmio.buffer_attachment.discontinuity_flags(P) = 0
          com.apple.cmio.buffer_attachment.hosttime(P) = 79631546824089
          com.apple.cmio.buffer_attachment.sequence_number(P) = 42
     formatDescription = <CMVideoFormatDescription 0x100335220 [0x7fff782fff40]> {
     mediaType:'vide' 
     mediaSubType:'jpeg' 
     mediaSpecific: {
          codecType: 'jpeg'          dimensions: 640 x 480 
     } 
     extensions: {<CFBasicHash 0x100335160 [0x7fff782fff40]>{type = immutable dict, …
Run Code Online (Sandbox Code Playgroud)

image capture avfoundation

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

如今,使用步幅 1 对于 vDSP 性能仍然至关重要吗?

在2006 年 11 月一篇关于使用vDSP向量化代码的有用但有些过时的文章中,作者做出了这样的声明:

\n\n
\n

需要记住的重要一点是,只有步长等于 1 的操作才能提供速度极快的矢量化代码。

\n
\n\n

今天仍然如此吗?即使是在具有更强大矢量内在函数的较新英特尔处理器上?

\n\n

我问这个问题是因为我正在编写一些矩阵数学例程,并且刚刚开始将它们全部切换为使用类似Fortran的列优先顺序,以便更容易地与MATLABBLASLAPACK兼容。但现在我发现对vDSP的一些调用需要在不再连续的向量上工作\xe2\x80\xa6

\n\n

目前,这些vDSP调用是我的代码所执行的瓶颈例程。并不是说情况总是如此但至少现在我不想放慢它们的速度,只是为了使对其他库的调用更简单。

\n\n

我现在最常调用的vDSP例程是vDSP_distancesq例程是以防万一会产生影响。

\n

performance vectorization intrinsics vdsp vmat

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