小编use*_*187的帖子

强制编译器忽略程序中的某些行

假设我有10,000行C++代码.此代码的200行用于测试目的(例如,检查程序并显示错误消息).

在C++中有没有办法忽略或考虑代码的某些行(可能有预处理器关键字)?

c++ preprocessor-directive

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

如何在Eclipse中调试R包(使用C和C++代码)?

在Visual Studio中,我们可以使用"附加到进程"来调试DLL.

有没有办法在Eclipse/StatET 中调试 R包的C/C++代码(例如调试链接到Scilab的外部代码的示例)?

c++ eclipse debugging r statet

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

取消列出具有矩阵元素到矩阵列表的列表

假设A,B和C是矩阵.我有一个这样的列表:

  list(A,list(B,C))
Run Code Online (Sandbox Code Playgroud)

我想将其转换为:

  list(A,B,C)
Run Code Online (Sandbox Code Playgroud)

unlist函数将矩阵转换为向量!

例如:

A=matrix(1:10,nrow=2)
B=list(A,list(A,A))
unlist(B)
Run Code Online (Sandbox Code Playgroud)

r

15
推荐指数
4
解决办法
1416
查看次数

在data.table(速度比较)中有条件地替换数据值的最快方法

为什么第二种方法会因增加data.table大小而变慢:

library(data.table)
DF = data.table(x=rep(c("a","b","c"),each=40000000), y=sample(c(1,3,6),40000000,T), v=1:9)
Run Code Online (Sandbox Code Playgroud)

1:

DF1=DF2=DF

system.time(DF[y==6,"y"]<-10)
user  system elapsed 
2.793   0.699   3.497 
Run Code Online (Sandbox Code Playgroud)

2:

system.time(DF1$y[DF1$y==6]<-10)
user  system elapsed 
6.525   1.555   8.107 
Run Code Online (Sandbox Code Playgroud)

3:

system.time(DF2[y==6, y := 10]) # slowest!
user  system elapsed 
7.925   0.626   8.569 

>sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.3 LTS
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来做到这一点?

r data.table

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

在插入新密钥时保持unordered_map的顺序

unordered_map用这段代码插入了元素:

    myMap.insert(std::make_pair("A", 10));
    myMap.insert(std::make_pair("B", 11));
    myMap.insert(std::make_pair("C", 12));
    myMap.insert(std::make_pair("D", 13));
Run Code Online (Sandbox Code Playgroud)

但是当我用这个命令来打印键时

for (const auto i : myMap)
{
    cout  << i.first << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

它们与插入它们的顺序不同.

是否可以保留订单?

c++ c++11

9
推荐指数
2
解决办法
7249
查看次数

如何在每行输入中找到唯一字符?

有没有办法提取每一行的独特字符?

我知道我可以找到使用的文件的唯一行

sort -u file
Run Code Online (Sandbox Code Playgroud)

我想确定每一行的独特字符(类似于sort -u每一行).

澄清:鉴于此输入:

111223234213
111111111111
123123123213
121212122212
Run Code Online (Sandbox Code Playgroud)

我想得到这个输出:

1234
1
123
12
Run Code Online (Sandbox Code Playgroud)

bash awk grep sed

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

用sse累积整数向量

我试图改变这个代码来处理std::vector<int>.

float accumulate(const std::vector<float>& v)
{
 // copy the length of v and a pointer to the data onto the local stack
 const size_t N = v.size();
 const float* p = (N > 0) ? &v.front() : NULL;

 __m128 mmSum = _mm_setzero_ps();
 size_t i = 0;

 // unrolled loop that adds up 4 elements at a time
 for(; i < ROUND_DOWN(N, 4); i+=4)
 {
  mmSum = _mm_add_ps(mmSum, _mm_loadu_ps(p + i));
 }

 // add up single values until all …
Run Code Online (Sandbox Code Playgroud)

c++ x86 sse vector simd

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

删除向量元素使用向量<bool>中的条件

我有两个矢量a和b,大小相同.

vector<int>  a{    4,    3,   1,    3,   1};
vector<bool> b{false,false,true,false,true};
Run Code Online (Sandbox Code Playgroud)

a如果b(同一索引)中的相同元素为真,我想删除元素.

应用函数后:a = 4,3,3

注意:我想使用std算法或函数而不是简单的for循环.

c++ c++11

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

根据内容确定R中的文件类型

在linux中,我们可以使用file命令根据文件的内容(不是扩展名)获取文件类型。R中是否有类似的功能?

r file

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

将两个向量<bool>与SSE进行比较

我有两个 vector<bool> A和B.

我想比较它们并计算相等的元素数量:

例如:

A = {0,1,0,1}
B = {0,0,1,1}
Run Code Online (Sandbox Code Playgroud)

结果将等于2.

我可以使用,_mm_cmpeq_epi8但它只比较16个元素(即我应该将0和1转换为char然后进行比较).是否可以每次使用SSE(或SIMD指令)比较128个元素?

c++ x86 sse simd

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

标签 统计

c++ ×6

r ×4

c++11 ×2

simd ×2

sse ×2

x86 ×2

awk ×1

bash ×1

data.table ×1

debugging ×1

eclipse ×1

file ×1

grep ×1

preprocessor-directive ×1

sed ×1

statet ×1

vector ×1