小编act*_*ual的帖子

用于计算大基数的LogLog和HyperLogLog算法

哪里可以找到LogLog算法的有效实现?试图自己实现它,但我的草案实现产生了奇怪的结果.

是:

function LogLog(max_error, max_count)
{
    function log2(x)
    {
         return Math.log(x) / Math.LN2;
    }

    var m = 1.30 / max_error;
    var k = Math.ceil(log2(m * m));
    m = Math.pow(2, k);

    var k_comp = 32 - k;

    var l = log2(log2(max_count / m));
    if (isNaN(l)) l = 1; else l = Math.ceil(l);
    var l_mask = ((1 << l) - 1) >>> 0;

    var M = [];
    for (var i = 0; i < m; ++i) M[i] = 0; …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm counting loglog hyperloglog

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

出于什么原因在CSS中引入了保证金折叠规则?

当这套聪明的规则有所帮助时,无法弄清楚情况.它们打破了盒子模型的简单性,并在将不同的布局组合在一起时提供无限的麻烦来源.那是什么原因?

参考规则.

更新:规则对于兄弟元素是非常合乎逻辑的,但为什么边距应该传播到父元素直到树?解决了什么样的问题?

例如:

<div style="margin: 20px; background-color: red;">
    <div style="margin: 20px;">
        <p style="margin: 100px;">red</p>
    </div>
</div>
<div style="margin: 20px; background-color: blue;">blue</div>
Run Code Online (Sandbox Code Playgroud)

顶级div相互间隔100px.

css margin collapse

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

如何在两个DOM节点之间插入HTML字符串?

考虑以下DOM片段:

<div id="div-1">foo</div>
<div id="div-2">bar</div>
Run Code Online (Sandbox Code Playgroud)

是否可以在div之间插入HTML字符串(EDIT:包含要呈现的标记)而不将其包装在通过document.createElement创建的另一个div(EDIT:或其他标记)中并设置其innerHTML属性?

html javascript dom

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

没有隐藏状态,是否有"好"的PRNG生成值?

我需要一些好的伪随机数生成器,它可以像以前的输出中的纯函数一样计算,而不会隐藏任何状态.在"好"下我的意思是:

  1. 我必须能够参数化以这样的方式产生器,其运行它用于2^n与任何参数(或与他们的一些大的子集)的迭代应涵盖之间所有或几乎所有的值02^n - 1,其中n是在输出值的比特数.

  2. 组合的发生器n + p比特输出必须覆盖所有或几乎所有的值0,2^(n + p) - 1如果我2^n为其参数的每个可能组合进行迭代运行,其中p是参数中的位数.

例如,LCG可以像纯函数一样计算,它可以满足第一个条件,但它不能满足第二个条件.比方说,我们有32位LCG,m = 2^32它是常量,我们p = 64(两个32位参数ac)n + p = 96,所以我们必须从输出中查看数据三个整数以满足第二个条件.不幸的是,由于输出中奇数和偶数整数的严格交替顺序,条件不能满足.为了克服这个问题,必须引入隐藏状态,但这会使函数变得不纯净并破坏第一个条件(长隐藏期).

编辑:严格来说,我希望函数族通过p位和完整的n位状态进行参数化,每个函数都p + n以独特的"随机"方式生成所有可能的二进制位串,而不仅仅是连续递增(p + n)-bit int.选择独特方式所需的参数化.

我想要太多了吗?

algorithm prng bijection

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

用于构建和查找整数范围集的数据结构

我有一组uint32整数,集合中可能有数百万个项目.其中50-70%是连续的,但在输入流中它们以不可预测的顺序出现.

我需要:

  1. 将此集合压缩到范围内以实现空间有效表示.已经使用普通算法实现了这一点,因为只计算一次速度的范围在这里并不重要.在此转换之后,所得范围的数量通常在5 000-10 000之间,当然,其中许多是单项.

  2. 测试某些整数的成员资格,不需要有关集合中特定范围的信息.这个必须非常快 - O(1).正在考虑最小的完美哈希函数,但它们不能很好地适应范围.位集空间效率很低.其他结构,如二叉树,具有O(log n)的复杂性,最糟糕的是它们实现了许多条件跳转,而处理器无法很好地预测它们,从而导致性能不佳.

是否有专门用于整数范围的数据结构或算法来解决此任务?

algorithm integer range set data-structures

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

如何暂时关闭睿频加速?

在我们的应用程序中,我们有针对不同类型的处理器架构优化的同一例程的多个版本。在安装过程中,我们运行性能测试并选择最佳版本的例程。

如果使用的核心很少,最新的处理器可以提高频率,因此有时我们的测试会看到错误的例程版本。有什么方法可以暂时关闭睿频加速吗?

testing performance

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

如何解决GCC中的包含文件名冲突?

我有两个string.h在不同库中命名的头文件,它们相互冲突,甚至与同名的标准C包含文件冲突.

string.h除了标准之外,不需要使用任何标准,但我需要在GCC搜索路径中包含库标题路径.目前我使用的东西一样-I /usr/local/include/lib1 -I /usr/local/include/lib2,但这样我可以不包括标准C string.h.

解决此类冲突的正确方法是什么?

c gcc header-files

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

用JavaScript编写的JSON循环引用破坏程序

我只知道一个,cycle.js来自Crockford的JSON-JS,但它是递归的并且看起来很慢,需要2-5秒才能JSON.stringify(JSON.decycle(random_graph_with_30_vertices))达到较大图形的递归深度限制.是否有更好的非递归替代方案?

javascript json circular-reference

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

如何使用 input type=button/submit 进行边距折叠?

考虑以下代码

<p style="margin: 30px 0; padding: 0;">Some text some text some text some text some
text some text some text some text</p>

<p style="margin: 30px 0; padding: 0;">Some text some text some text some text some
text some text some text some text</p>

<input type="button" value="Button" style="margin: 30px 0; padding: 0; float: right;"/>?????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

30px预期在最后p和之间的边距,input但有60px边距。显然边距崩溃不起作用。如何修复 CSS 规则,input同时保持在顶部input产生30px垂直边距的能力?

css input margin

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

将double(不是指针)转换为void指针

这种方式是合法的吗?

void probability(void **value)
{
    double v = 0.1234;
    *value = (void *) *(uint64_t *) &v;
}
Run Code Online (Sandbox Code Playgroud)

我知道,这是一件坏事,但我100%肯定sizeof(double)= sizeof(void *)= sizeof(uint64_t)在目标机器上.

c pointers casting

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