问题列表 - 第318102页

C++并行随机化

使用蒙特卡洛方法计算 pi。有没有办法使任意数量的线程的随机化都相同?本质上,我正在寻找的是为集合 n 和种子的每个固定组合获得相同的答案,无论我使用的线程数量如何。

double montecarlo(int n, int seed)
{
int pts = 0;
#pragma omp parallel
    {
        std::mt19937_64 rng(seed);
        std::uniform_real_distribution<double> dist(0.0, 1.0);

        #pragma omp for reduction(+:pts)
        for (int i = 0; i < n; ++i)
        {
            double x = dist(rng), y = dist(rng);
            pts += (x * x + y * y <= 1);
        }
    }

    double pi = 4.0 * pts / n;
    return pi;
}
Run Code Online (Sandbox Code Playgroud)

c++ openmp random-seed

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

调试期间在 MFC 对话框中显示工具栏和停靠窗口

我在 Visual Studio 中有一个以前的 MFC 应用程序,它在调试时在应用程序对话框中显示各种工具栏和停靠窗口(特别是带有“生成”、“调试”和“查找”选项卡的“输出”窗口)。

MFC对话框

上面的应用程序被创建为CFormView.

在新的 MFC 应用程序(创建为CDialogEx)中,我无法显示相同的工具栏和停靠窗口,并且无法在 Visual Studio 中进行任何设置来启用它们。知道在哪里可以找到 MFC 应用程序对话框的此类设置吗?CFormView也许这只是和之间的区别CDialogEx

c++ mfc dialog visual-studio visual-studio-debugging

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

为什么 BitVec 缺少序列化特征?

为了熟悉 Rust,我自己编写了一个由BitVec. 其中一部分将包括一个save使用 serde 序列化整个结构并将其写入文件的方法。不幸的是,我在派生特征时遇到编译器错误Serialize

use bitvec::vec::BitVec;
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
pub struct BloomFilter {
    n: u64,  // items added
    m: u32,  // slice size
    k: u32,  // number of slices
    buf: BitVec,  // buffer
    state: [u8; 8],  // random state
}
Run Code Online (Sandbox Code Playgroud)
error[E0277]: the trait bound `BitVec: Serialize` is not satisfied
    --> src/bloom.rs:12:10
     |
12   | #[derive(Serialize, Deserialize)]
     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `BitVec`
...
17   |     buf: BitVec, …
Run Code Online (Sandbox Code Playgroud)

traits rust serde bitvec

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

Postgres row_number 返回任意排序顺序

我跑

SELECT * 
FROM 
    (SELECT 
         *, 
         ROW_NUMBER() OVER () AS n 
     FROM 
         {table_name}) t 
WHERE 
    n < 10000 
Run Code Online (Sandbox Code Playgroud)

在 Postgres 中。我注意到每次运行的结果都不同。

为了测试除了顺序之外内容是否不同,我对列进行了平均。结果很有趣:有主键的表的返回值是一致的,而另一个没有主键的表在每次运行中都不同。

具有PK的表的执行计划:

"Aggregate  (cost=139391585.22..139391585.23 rows=1 width=32)"
"  ->  WindowAgg  (cost=0.58..99288350.02 rows=3208258816 width=9090)"
"        Run Condition: (row_number() OVER (?) < 10000)"
"        ->  Index Only Scan using mea_vit_pi_4221ef4deeadcabf_ix on {table_name}  (cost=0.58..59185114.82 rows=3208258816 width=8)"
Run Code Online (Sandbox Code Playgroud)

没有pk的表的执行计划:

"Aggregate  (cost=83580303.64..83580303.65 rows=1 width=32)"
"  ->  WindowAgg  (cost=0.00..61837074.84 rows=1739458304 width=650)"
"        Run Condition: (row_number() OVER (?) < 10000)"
"        ->  Seq Scan on {table_2}  (cost=0.00..40093846.04 rows=1739458304 …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

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

理解Scala 3.3.1中Tuple2类的继承层次结构

我希望更清楚地理解Scala 3.3.1 中 Tuple2 类的位置。

在其源代码中,可以清楚地看出该类继承了 Product2 特征。我仍然怀疑的是 Tuple2 是如何立即继承自:

  • 类 T1 *: T2 *: EmptyTuple.type
  • 特质可序列化

我一直无法理解这一点。

我已经阅读了相关的 Scala 文档和源代码。我可以理解这些层次结构的继承的整体设计思想,但我还没有理解更细致的点(以问题为例)

inheritance scala tuples scala-3

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

如何获取 HTML 中每个 href 的所有元素作为行并将其添加到 pandas 数据框中?

我试图从以下网站获取每个 href 元素内的不同值: https: //www.bmv.com.mx/es/mercados/capitales

\n

href对于HTML 文件中的每个不同元素,应有 1 行与提供的标题上的每个字段相匹配。

\n

这是我试图抓取的 HTML 部分之一:

\n
\n  <tbody>\n    \n  <tr role="row" class="odd">\n<td class="sorting_1"><a href="/es/mercados/cotizacion/1959">AC\n  \n</a></td><td><span class="series">*</span>\n</td><td>03:20</td><td><span class="color-2">191.04\n\n</span></td><td>191.32</td>\n<td>194.51</td>\n<td>193.92</td>\n<td>191.01</td>\n<td>380,544</td>\n<td>73,122,008.42</td>\n<td>2,793</td>\n<td>-3.19</td><td>-1.64</td></tr><tr role="row" class="even">\n  <td class="sorting_1"><a href="/es/mercados/cotizacion/203">ACCELSA</a>\n  </td>\n  <td><span class="series">B</span>\n  </td><td>03:20</td><td>\n    <span class="">22.5</span></td><td>0</td>\n    <td>22.5</td><td>0</td><td>0\n\n    </td><td>3</td><td>67.20</td>\n    <td>1</td><td>0</td><td>0</td></tr>\n    <tr role="row" class="odd">\n      <td class="sorting_1">\n        <a href="/es/mercados/cotizacion/6096">ACTINVR</a></td>\n      <td><span class="series">B</span></td><td>03:20</td><td>\n        <span class="">15.13</span></td><td>0</td><td>15.13</td><td>0</td>\n        <td>0</td><td>13</td><td>196.69</td><td>4</td><td>0</td>\n        <td>0</td></tr><tr role="row" class="even"><td class="sorting_1">\n          <a href="/es/mercados/cotizacion/339083">AGUA</a></td>\n          <td><span class="series">*</span>\n          </td><td>03:20</td><td>\n            <span class="color-1">29</span>\n          </td><td>28.98</td><td>28.09</td>\n            <td>29</td><td>28</td><td>296,871</td>\n            <td>8,491,144.74</td><td>2,104</td><td>0.89</td>\n            <td>3.17</td></tr><tr role="row" class="odd"><td class="sorting_1">\n              <a href="/es/mercados/cotizacion/30">ALFA</a></td><td><span class="series">A</span></td>\n              <td>03:20</td>\n              <td><span class="color-2">13.48</span>\n              </td><td>13.46</td>\n              <td>13.53</td><td>13.62</td><td>13.32</td>\n              <td>2,706,398</td>\n …
Run Code Online (Sandbox Code Playgroud)

python dataframe web-scraping pandas python-requests

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

Github:在文件中添加版本号

假设两个开发人员正在处理不同的 PR。他们各自的 PR 包含相同的文件,其中有版本号。作为 PR 的一部分,两位开发者都打算提高这个版本号。如何确保第二个合并 PR 进行开发的人,即使只比第一个开发人员晚一秒钟,相对于第一个开发人员的版本号会增加版本号?PR 的合并是在 GitHub 中完成的。

版本是开放的 API 规范编号。存储库中实际上有几个这样的文档。请注意,在第一个 PR 之后合并的 PR 中不会出现合并冲突,因为两个开发人员都会使用相同的版本。

我想要的是:

  1. Dev 1 的首次提交:1.123.0
  2. Dev 2 的第二次提交:1.124.0

实际发生的情况:

  1. Dev 1 的首次提交:1.123.0
  2. Dev 2 的第二次提交:1.123.0

git version-control github pull-request

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

两个有限范围变量与一个全局变量

使用 C++,假设我需要两个函数的 pi (3.14) 值。关于我的程序的性能,哪个更好,将 pi 声明为全局变量并在我的两个函数中使用它,还是在函数内将其声明两次作为有限范围变量,当每个函数内存不足时该变量将消失?显然,对于这个例子来说,差异是微乎其微的,但是如果你将这种情况乘以 x100 对于一个更大的程序,也许它实际上很重要,这就是我问的原因。

\n

c++ data-structures

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

Java:使用 Class.cast() 将对象转换为原始数组

使用 Class.cast 方法将伪装成对象的已知原始数组转换回其原始原始数组类型涉及到首先将操作分解为两个赋值,然后才能正确编译它的使用。


import java.util.Arrays;

class Scratch {
    public static void main(String[] args) {
        Object src = new int[]{1,2,3}; 
        castAndSet(src);
    }

    // assign index i of src to dest after casting src to int[]
    public static void castAndSet(Object src){ 
        int[] dst = new int[]{4,5,6};
        int i = 0; // assume array length greater than zero.
        if(dst.getClass().equals(src.getClass())){ // assert both are same class
            // src should also be an int[], so no ClassCastException to worry about

            dst[i] = ((int[])src)[i];  //this works …
Run Code Online (Sandbox Code Playgroud)

java arrays primitive casting object

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

bash 在 for 中正确扩展变量

像这样的东西:

for i in a1 'a2 a3'
do
  echo ${i}
done
Run Code Online (Sandbox Code Playgroud)

我的理解是正确的:

a1
a2 a3
Run Code Online (Sandbox Code Playgroud)

虽然通过放入a1 'a2 a3'变量我无法让它工作

VAR="a1 'a2 a3'"

for i in ${VAR}
do
  echo ${i}
done
Run Code Online (Sandbox Code Playgroud)

在声明中如何声明VAR或使用它for

bash

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