小编kir*_*off的帖子

使用C++或Python生成随机数

我听说计算结果对随机数发生器的选择非常敏感.

1我想知道是否与编程自己的Mersenne-Twister或其他伪随机例程相关以获得一个好的数字生成器.另外,我不明白为什么我不应该将本机或库生成器作为numpy中的random.uniform(),在C++中使用rand().据我所知,我可以自己构建生成器,用于除均匀以外的分布(反向重分配函数方法,极坐标方法).但使用一个内置发电机进行均匀采样是不是很邪恶?

2默认的'时间'种子有什么问题?应该重新播种代码样本中的种子和频率(以及为什么)?

3也许你对这些主题有一些很好的联系!

--edit更准确地说,我需要多分量优化例程的随机数,以及统一空间样本来初始化一些其他优化例程参数.我还需要蒙特卡罗方法的随机数(敏感性分析).我希望精确有助于找出问题的范围.

c++ python random simulation probability

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

c ++/Qt - 计算时间

用STL C++或Qt测量计算时间的最佳方法是什么?

我知道ctime,但我知道Qt可以在这里使用.

谢谢!

c++ qt

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

googleTest继续测试

我想知道我是否正在测试我在此测试中列出的所有等值,或者我是否只测试第一个.

class SomethingTest : public testing::Test
{
public:
    SomethingTest() { }
    virtual ~SomethingTest() { }
};

      TEST_F(SomethingTest, Score)
    {
        Computer computer;
        FourInARowStrategy* strategy = new FourInARowStrategy();

        vector<vector<int>> brd;
        for(int i=0; i<6 ;i++)
        {
            vector<int> row ;
            for(int j=0;j<7;j++)
               row.push_back(0);
            brd.push_back(row);
         }

         brd[5][5]=1;
         brd[5][4]=2;
         brd[5][3]=1;
         brd[5][2]=1;
         brd[5][1]=1;
         brd[4][5]=2;
         brd[4][4]=2;
         brd[4][3]=1;
         brd[4][2]=1;
         brd[3][2]=2;
         brd[3][1]=2;
         brd[4][1]=2;

         strategy->setGameBoard(brd);
         strategy->displayBoard();
         EXPECT_EQ(9,computer.rowScoreAPlay(2,3,3,strategy));
         EXPECT_EQ(9,computer.scoreAPlay(2,3,3,strategy));
         EXPECT_EQ(0,computer.colScoreAPlay(2,3,3,strategy));
         EXPECT_EQ(5,computer.colScoreAPlay(1,3,3,strategy));
     }

     //... 
     }
Run Code Online (Sandbox Code Playgroud)

你有没有参考google的单元测试和良好的单元测试开发?

感谢致敬.

c++ unit-testing googletest

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

C++转换Base*到Derived*和constness

从转换Base*Derived*始终允许吗?从转换const Base*const Derived*始终允许吗?

我正在使用Qt QSharedPointers.我有一个QSharedPointer Base对象,我想将QSharedPointer转换为Derived对象.我事先检查了指针的类型Derived.

是否有可能获得100%的成功机会

  • static_cast<QSP<Derived>>
  • dynamic_cast<QSP<Derived>>
  • 直接演员 QSP<Derived>(my_base_pointer)

例如,对于直接转换:

QSP<Derived> inpf = QSP<Derived>(my_base_pointer) ;
Run Code Online (Sandbox Code Playgroud)

我有错误

Error 1 error C2440: 'initializing' : cannot convert from 'Base *' to 'Derived *'
Run Code Online (Sandbox Code Playgroud)

my_base_pointer类型const QSP<Base>.

是因为常数吗?我应该const_cast吗?我认为constness不是根本原因,因为如果我

const QSP<Derived> inpf = static_cast<const QSP<Derived>>(my_base_pointer);
Run Code Online (Sandbox Code Playgroud)

发生同样的错误.

c++ casting compiler-errors const

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

Excel SortFields添加然后排序

你能帮助我理解这个snippset:

首先,似乎添加了排序规则

MainSheet.Sort.SortFields.Clear
For lI = 1 To vSortKeys(0, 1)   
    MainSheet.Sort.SortFields.Add Key:=Range(vSortKeys(lI, 1) & 2), 
       SortOn:=xlSortOnValues, Order:=vSortKeys(lI, 2), DataOption:=xlSortNormal
Next
Run Code Online (Sandbox Code Playgroud)

然后,我了解以下代码有效地运行排序

With MainSheet.Sort
    .SetRange Range("A" & lFrom & ":" & GEN_REV_END & lTo)
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Run Code Online (Sandbox Code Playgroud)

这种解释是否正确 - 首先需要添加排序规则,然后将其应用于第二部分?

然后,我们为什么要在第二部分中定义一个排序范围

With MainSheet.Sort
    .SetRange Range("A" & lFrom & ":" & GEN_REV_END & lTo)

End With
Run Code Online (Sandbox Code Playgroud)

是不是已经在我们排序的规则中了Key:=Range(vSortKeys(lI, 1) & 2)?有效运行哪种细胞范围?

sorting excel vba range excel-vba

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

openMP 许可证信息

我想使用 openMP 和编译器 VS2010。openMP 的许可证状态是什么?它可以在商业软件中自由使用吗?你能指出相关文档吗?

谢谢和问候

c++ licensing openmp

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

Python I/O找不到文件,但路径似乎没问题

我是一个python脚本.我想打开一个文件来检索里面的数据.我添加正确的路径sys.path:

 sys.path.append('F:\WORK\SIMILITUDE\ALGOCODE')
 sys.path.append('F:\WORK\SIMILITUDE\ALGOCODE\DTW')
Run Code Online (Sandbox Code Playgroud)

更确切地说,file.txt我将打开的文件位于DTW文件夹中,我还添加了上层文件夹ALGOCODE.然后,我有命令

inputASTM170512 = open("file.txt","r")
Run Code Online (Sandbox Code Playgroud)

我有这个礼物:

Traceback (most recent call last):
   File "<pyshell#24>", line 1, in <module>
   inputASTM170512 = open("ASTM-170512.txt","r")
IOError: [Errno 2] No such file or directory: 'ASTM-170512.txt'
Run Code Online (Sandbox Code Playgroud)

为什么?你有什么主意吗?

python io file-io

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

Qt QComboBox - 不按预期更改当前索引

我想在打开编辑器时选择comboBox中的给定项目,以及加载应在编辑器中更新的给定数据.Combobox没有按预期工作!

我打开窗口时已经选择了这些项目:

normBox = new QComboBox(page1);
gridBox->addWidget(normBox, 2, 1, 1, 1);
QStringList normsLst;
normsLst.append(tr("sum"));
normsLst.append(tr("maxF"));
normsLst.append(tr("sumF"));
setComboBoxItems(normsLst, m_normBox);
m_normBox->setCurrentIndex(0);
Run Code Online (Sandbox Code Playgroud)

但是当我创建编辑器时,第一项"Sum"不会显示在组合框中.

然后,我实现了我的'load'函数,它应该在接口中加载保存的数据,并以刷新器结束:

normBox->setCurrentIndex(model->getNormIdx());
Run Code Online (Sandbox Code Playgroud)

其中model具有准确的成员normIdx.

如何在Qt的组合框中实现正确的选择?

c++ user-interface qt combobox refresh

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

逆时针排列凹多边形顶点

我有一组位于凹多边形边界上的点.我想找到一个非交叉多边形,将这些点作为顶点.换句话说,我想以凹面多边形的ccw(或cw)方式排序.

我看一下评估多边形是以ccw还是cw方式排序的方法(计算和求和交叉乘积).这不是我的问题:我有随机序列的顶点,我想订购它们,以便在多边形的外壳上有cw或ccw.

我想到了最初的顶点序列,并连续识别交叉点.如果初始点序列是[x1,y1; x2,y2; x3,y3; ...]和第2和第3点正在交叉,我们继续序列[x1,y1; x2,y3; x3,y2; ...]

你能想到什么算法?什么是背后的概念?你有提示吗?

阿尔法形状

Regds

algorithm geometry graph polygon counterclockwise

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

NSIS 使用 InstalldirRegKey 进行操作

从 NSIS 文档中,我们有

root_key subkey key_name 此属性告诉安装程序检查注册表中的字符串,如果该字符串有效,则将其用于安装目录。如果存在此属性,并且注册表项有效,它将覆盖 InstallDir 属性,否则它将回退到 InstallDir 默认值。

所以,如果我在.nsi文件中有这些行:

InstallDir "D:\myFolder\myFile"

InstallDirRegKey HKCU "Software\${PRODUCT_COMPANY}\${PRODUCT_NAME}" "Install_Dir"
Run Code Online (Sandbox Code Playgroud)

我知道我将安装目录设置为D:\myFolder\myFile默认目录,但如果Software\${PRODUCT_COMPANY}\${PRODUCT_NAME}是有效路径,那么我将使用它。那是对的吗?

从另一篇文章中,我了解到该InstallDirRegKey指令用于覆盖同一位置的先前安装。它如何更精确地工作?如果我有以下情况,

InstallDir "D:\myFolder\myFile"

InstallDirRegKey HKCU "D:\myFolder\myFile" "Install_Dir"
Run Code Online (Sandbox Code Playgroud)

.exeNSIS 脚本生成的新文件会覆盖之前的文件吗?或者这是否意味着可执行文件将覆盖前一个文件?

installation nsis build instructions

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