问题列表 - 第40236页

矩阵乘法:Strassen vs. Standard

我尝试使用C++ 实现Strassen算法进行矩阵乘法,但结果不是我所期望的.正如您所看到的,strassen总是花费更多时间,然后标准实现,并且只有2的幂的维度与标准实现一样快.什么地方出了错? 替代文字

matrix mult_strassen(matrix a, matrix b) {
if (a.dim() <= cut)
    return mult_std(a, b);

matrix a11 = get_part(0, 0, a);
matrix a12 = get_part(0, 1, a);
matrix a21 = get_part(1, 0, a);
matrix a22 = get_part(1, 1, a);

matrix b11 = get_part(0, 0, b);
matrix b12 = get_part(0, 1, b);
matrix b21 = get_part(1, 0, b);
matrix b22 = get_part(1, 1, b);

matrix m1 = mult_strassen(a11 + a22, b11 + b22); 
matrix m2 = mult_strassen(a21 + a22, …
Run Code Online (Sandbox Code Playgroud)

c++ performance matrix matrix-multiplication strassen

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

重新安排工作

有没有办法更改使用unix at命令发出的作业的日期?

我需要这样做,因为我的应用程序同时安排了太多的工作,这将使机器停止运转.

unix shell at-job

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

父类是否应该引用子类?

早上好,

我在工作中继承了一些遗留代码,它使用了一种相当不寻常的设计模式.我在论坛上找到的类似模式的唯一参考就在这里.情况是原始设计者有一个通用的父类(非抽象),它有一个直接引用子类的静态工厂方法.

以下是遗留代码中的几个位置的编码样式示例:

public static LoggerFactory getLoggerFactory(LogType type) {
    switch (type) {
    case LOG4J:
        return Log4JLoggerFactory.getInstance();
    case LOGBACK:
        return LogBackLoggerFactory.getInstance();
    default:
        throw new RuntimeException("No logger factory defined for type " + type);
    }
}
Run Code Online (Sandbox Code Playgroud)

Log4JLoggerFactory和LogBackLoggerFactory扩展LoggerFactory的位置.

这对我来说真的很陌生,但在我重新考虑代码之前,这个设计模式是否有任何目的或好处(甚至还有正式名称)?

任何想法或建议表示赞赏.谢谢!

编辑:在阅读了Yishai的回复后,我想我会在维基百科的战略模式文章中加入一个链接,以便于参考.感谢大家的回复!

java inheritance design-patterns

3
推荐指数
2
解决办法
969
查看次数

让R在库目录中查找文件

我在linux上使用R.我有一个经常使用的函数集,并且我保存在不同的.r脚本文件中.那些文件在〜/ r_lib /中.

我想包含这些文件,而不必使用完全限定的名称,但只是"file.r".基本上我在c ++编译器中看起来与-I相同的命令.

我有办法在.Rprofile或.Renviron文件中设置来自R的包含文件吗?

谢谢

linux r

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

如何在Mac OS X中监听应用程序启动事件?

我写了一个AppleScript安装SparseBundle图像,我希望它在Time Machine启动时完全执行.

现在,我定期检查Time Machine是否使用AppleScriptusing on idle语句运行:

on idle
    ....
    return <interval>
end idle
Run Code Online (Sandbox Code Playgroud)

这不是一种强有力的方式.在我看来,为Application Launch事件添加事件触发器将是一种更好的方法.

能否请你帮忙?

一个Objective-CPython示例代码(我更喜欢Python)非常受欢迎.

macos pyobjc objective-c

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

从Com Object获取进程ID

可以从这个新的Com对象($ ie)获取进程ID吗?

$ie=New-Object -comobject InternetExplorer.Application  
$ie.visible=$true  
$ie.Navigate("www.stackoverflow.com")
Run Code Online (Sandbox Code Playgroud)

powershell process comobject

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

连接字符串不能按预期工作

我知道这是一个常见的问题,但是在寻找参考资料和其他材料时,我找不到这个问题的明确答案.

请考虑以下代码:

#include <string>

// ...
// in a method
std::string a = "Hello ";
std::string b = "World";
std::string c = a + b;
Run Code Online (Sandbox Code Playgroud)

编译器告诉我它找不到重载的运算符char[dim].

这是否意味着在字符串中没有+运算符?

但在几个例子中,存在类似这样的情况.如果这不是连接更多字符串的正确方法,那么最好的方法是什么?

c++ string-concatenation standard-library stdstring operator-keyword

84
推荐指数
4
解决办法
22万
查看次数

为什么@AfterReturning只在@AfterThrowing异常后执行?

我有以下内容:

@AfterReturning("executionOfTrustedAnnotatedMethod()")
public void afterReturningFromTrustedMethodExecution() { ... }

@AfterThrowing(pointcut = "executionOfTrustedAnnotatedMethod()")
public void afterThrowingByExecutionOfTrustedAnnotatedMethod() { ... }
Run Code Online (Sandbox Code Playgroud)

我观察到这种对我没有意义的行为:

  • 如果此切入点捕获的方法没有抛出异常,则执行@AfterReturning
  • 如果方法抛出异常,@ AfterReturning仅在@AfterThrowing存在且先执行时执行

我想要完成的是在方法执行结束时运行一些代码,无论是否抛出异常.但现在这个代码运行了两次(如果我同时有afterReturning和afterThrowing)或根本没有(如果我只有afterReturning),如果抛出异常.

有什么建议?

谢谢,彼得

java aop spring aspectj

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

在PHP中将数组乘以/除以$ var的最佳方法

有一个类型的数组:

$arr = array(23,4,13,50,231,532,3);

$factor = 0.4;
Run Code Online (Sandbox Code Playgroud)

我需要生成一个新数组,其中所有值$arr都乘以/除以$factor.我知道foreach方法.试想,必须有一个更优雅的方法.

php arrays

5
推荐指数
2
解决办法
7489
查看次数

delphi 7 TImage和TImageList

让我是整数私人

代码

procedure TForm1.Image1Click(Sender: TObject);
begin
  inc(i);
  ImageList1.GetIcon(i mod 4,Image1.Picture.Icon);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i:=0;
  ImageList1.GetIcon(i mod 4,Image1.Picture.Icon);
end;
Run Code Online (Sandbox Code Playgroud)

如何从列表中拉伸图标以适合Image1的大小?

delphi timage delphi-7 timagelist

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