小编Sim*_*ier的帖子

SSE:将__m128转换为float

我有以下C代码:

__m128 pSrc1 = _mm_set1_ps(4.0f);
__m128 pDest;
int i;
for (i=0;i<100;i++) {
       m1 = _mm_mul_ps(pSrc1, pSrc1);      
       m2 = _mm_mul_ps(pSrc1, pSrc1);        
       m3 = _mm_add_ps(m1, m2);             
       pDest = _mm_add_ps(m3, m3); 
}

float *arrq = (float*) pDest;
Run Code Online (Sandbox Code Playgroud)

直到for循环结束的所有内容都有效.我现在要做的是将__m128类型转换回float.因为它存储了4个浮点数,我认为我很容易将其转换为浮动*.我究竟做错了什么?(这是一个测试代码,所以不要怀疑).我基本上尝试了所有可能的转换.谢谢你的帮助.

c c++ sse

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

如何在编写R扩展时返回命名的VECSXP

最近我遇到了一个错误,当我修复它时,我想知道是否有可能返回一个VECSXP(即一个R列表类型),其中元素被命名.这个c ++代码:

SEXP do_bla() 
{
   int prtCnt = 0;
   SEXP a = PROTECT(allocMatrix(REALSXP, 5, 5));
   prtCnt++;
   SEXP b = PROTECT(allocVector(REALSXP, 5));
   prtCnt++;
   SEXP OS = PROTECT(allocVector(VECSXP, 2));
   prtCnt++;
   SET_VECTOR_ELT(OS, 0, a);
   SET_VECTOR_ELT(OS, 1, b);
   UNPROTECT(prtCnt);
   return OS;
}
Run Code Online (Sandbox Code Playgroud)

会给我一个R中两个元素(矩阵和向量)的列表:

s <- .Call("do_bla", ....)
Run Code Online (Sandbox Code Playgroud)

可以像这样索引:

 s[[1]]; s[[2]]
Run Code Online (Sandbox Code Playgroud)

为了实现这一目标,我需要做些什么改变:

s$a; s$b
Run Code Online (Sandbox Code Playgroud)

或者这不可能吗?

c r s-expression r-extension

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

从命令行重命名多个文件

可能重复:
根据模式在Linux中重命名大量文件

我有这种格式的多个文件:

file_1.pdf
file_2.pdf
...
file_100.pdf
Run Code Online (Sandbox Code Playgroud)

我的问题是如何重命名所有文件,如下所示:

file_001.pdf
file_002.pdf
...
file_100.pdf
Run Code Online (Sandbox Code Playgroud)

我知道你可以用'rename'重命名多个文件,但在这种情况下我不知道怎么做.

bash perl rename file-rename

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

标签 统计

c ×2

bash ×1

c++ ×1

file-rename ×1

perl ×1

r ×1

r-extension ×1

rename ×1

s-expression ×1

sse ×1