小编Jef*_*oom的帖子

QWORD使用SIMD SSE ... AVX将连续的7位与字节对齐进行混洗

我想知道在任何SIMD系列指令中是否可以使用以下内容.

我有一个带有63位有效位的qword输入(从不为负).从LSB开始的每个连续7位是随机对齐到一个字节,左填充为1(除了最重要的非零字节).为了说明,为了清楚起见,我会使用字母.

结果只有有效字节,因此大小为0-9,转换为字节数组.

In:         0|kjihgfe|dcbaZYX|WVUTSRQ|PONMLKJ|IHGFEDC|BAzyxwv|utsrqpo|nmlkjih|gfedcba
Out: 0kjihgfe|1dcbaZYX|1WVUTSRQ|1PONMLKJ|1IHGFEDC|1BAzyxwv|1utsrqpo|1nmlkjih|1gfedcba
Run Code Online (Sandbox Code Playgroud)

大小= 9

In:  00|nmlkjih|gfedcba
Out: |0nmlkjih|1gfedcba
Run Code Online (Sandbox Code Playgroud)

大小= 2

我知道填充是分开的.洗牌调整是我的问题.这可能吗?

编辑2

这是我更新的代码.在单线程Core 2 Duo 2 GHz,64位上获得持续长度输入的持续46 M /秒.

private static int DecodeIS8(long j, ref byte[] result)
{
    if (j <= 0)
    {
        return 0;
    }

    int size;

    // neater code: gives something to break out of
    while (true)
    {
        result[0] = (byte)((j & 0x7F) | 0x80);
        size = 0;
        j >>= 7;

        if (j == 0) break;

        result[1] = (byte)((j & 0x7F) | 0x80); …
Run Code Online (Sandbox Code Playgroud)

x86 sse bit-manipulation simd avx

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

计算E在Python的极限10**12处变得混乱?

我编写了一个程序,使用以下众所周知的公式计算自然对数基数(在数学中称为e):

e =(1 + 1.0/n)**n

代码是:

def e_formula(lim):
    n = lim
    e = (1 + 1.0/n) **n
    return e
Run Code Online (Sandbox Code Playgroud)

我设置了一个从10 1到10 100 迭代的测试:

if __name__ == "__main__":
    for i in range(1,100):
        print e_formula(10**i)
Run Code Online (Sandbox Code Playgroud)

然而以下结果在10**11左右爆炸.

shell的实际结果:

2.5937424601

2.70481382942

2.71692393224

2.71814592682

2.71826823719

2.7182804691

2.71828169413

2.71828179835

2.71828205201

2.71828205323

2.71828205336

2.71852349604

2.71611003409

2.71611003409

3.03503520655

1.0

我正在寻找一个原因,要么是在32位机器中超过浮点数限制的结果,要么是因为Python本身计算浮点数的方式.我不是在寻找更好的解决方案; 我只是想明白为什么会爆炸.

python floating-point

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

在JavaScript中设置window.location时,页面不会重定向

我试图根据下拉框的值动态重定向页面.我在JavaScript中获得了下拉框的值.根据下拉值,我想重定向页面.

这是示例代码:

<script type="text/javascript">
        function RedirectMe(){
            var chosanDept = document.getElementById("Dept");
            var str = chosanDept.options[chosanDept.selectedIndex].text;
            if(str=='HR')
                { 
                    alert('Yes in IF' + str);
                    window.location = "http://www.google.com";
                }
        }
    </script>
Run Code Online (Sandbox Code Playgroud)

chosanDept是获取下拉框值的变量.但我无法使用window.location,location.replace,location.href等各种函数重定向页面.还有一个我的if条件有效,我收到警报'在IF HR中是'

这里出了什么问题?

html javascript redirect window.location

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

缺少带有开关的返回语句

public AlertStatus nextStatus(){
    int randNum = randNumGen.nextInt(3);
    switch(randNum){
        case 0: return new AlertStatusGreen();
        case 1: return new AlertStatusYellow();
        case 2: return new AlertStatusRed();
        default: System.out.println("ERROR: no random number.");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我必须为学校准备的课程的一种方法。开关采用随机整数,并使用它返回从AlertStatus类派生的某个特定类的对象。

由于某种原因,我在上面的代码块的第9行(上面的代码的最后一行)中始终收到错误消息“缺少返回语句}”。我不明白为什么这样说,尽管我已经看到每种情况的返回语句。

java return switch-statement

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

jol GraphLayout输出中的“(其他)”是什么?

当使用jol的GraphLayout类打印从对象实例引用的对象的图时,某些输出条目会说“(其他)”,而不是类型和引用路径。例如,考虑以下代码,该代码显示20个随机Integer对象的列表的图形:

List<Integer> foo = new Random().ints(20).boxed().collect(Collectors.toList());
System.out.println(GraphLayout.parseInstance(foo).toPrintable());
Run Code Online (Sandbox Code Playgroud)

此代码打印:

java.util.ArrayList object externals:
          ADDRESS       SIZE TYPE                PATH                           VALUE
         d642ecc8         24 java.util.ArrayList                                (object)
         d642ece0         16 java.lang.Integer   .elementData[0]                212716192
         d642ecf0         56 (something else)    (somewhere else)               (something else)
         d642ed28         16 java.lang.Integer   .elementData[1]                1503736768
         d642ed38         16 java.lang.Integer   .elementData[2]                -2099759732
         d642ed48         16 java.lang.Integer   .elementData[3]                445566433
         d642ed58         16 java.lang.Integer   .elementData[4]                -1528625708
         d642ed68         16 java.lang.Integer   .elementData[5]                -555424299
         d642ed78         16 java.lang.Integer   .elementData[6]                1607595284
         d642ed88         16 java.lang.Integer   .elementData[7]                763466772
         d642ed98         16 java.lang.Integer   .elementData[8]                638331919
         d642eda8         16 java.lang.Integer   .elementData[9]                -1742026575
         d642edb8         16 …
Run Code Online (Sandbox Code Playgroud)

java jol

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

Java 1.4是否有泛型?

查看Java 1.4中的一些旧代码,但我不熟悉Java.

Java 1.4是否有泛型?我一直在查看代码,并没有发现泛型的任何用途,但这并不一定意味着它们不受支持.

java java1.4

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

在Jekyll插件中调用“ markdownify”

我试图markdownify在Jekyll插件中手动调用过滤器。这是我所拥有的:

module Jekyll

class ColumnBlock < Liquid::Block
    include Jekyll::Filters

    def initialize(tag_name, markup, tokens)
        super
        @col = markup
    end

    def render(context)
        text = super

        '<div class="col-md-' + @col + '">' + markdownify(text) + '</div>'
    end
end

end

Liquid::Template.register_tag('column', Jekyll::ColumnBlock)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误: Liquid Exception: undefined method 'registers' for nil:NilClass

我对Jekyll和Ruby很陌生。我要使用markdownify过滤器时必须包含什么?

plugins liquid jekyll

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

Java默认接口方法

这是我在Java Tutorial中的简单代码.

public interface AnimalIntf {

    default public String identifyMyself(){
        return "I am an animal.";
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误:非法启动类型接口方法不能有body.该方法是default,默认关键字在方法签名的开头使用.你能告诉我有什么问题吗?

java interface java-8 default-method

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

C++ STL优先级队列未正确排序

我想要一个Waypoint*对象的向量,这些对象被排序,以便具有最低距离的航点位于队列的顶部.

这是我的比较课:

class WaypointCompare {
    public:
        bool operator()(Waypoint* left, Waypoint* right) const {
            return left->getDistance() < right->getDistance();
        }
};
Run Code Online (Sandbox Code Playgroud)

这是我如何初始化队列:

std::priority_queue<Waypoint*, std::vector<Waypoint*>, WaypointCompare> queue;
Run Code Online (Sandbox Code Playgroud)

每当我更新航点的距离时,我的队列似乎都没有正确重新排序.与此示例一样,距离值最小的Waypoint对象不应该位于队列的后(顶部)(索引10)吗?这是一个队列调试的图像,我已经注意到我认为是错误的:

在此输入图像描述

我认为这可能与我对pq的不稳定理解有关,或者我正在初始化到HUGE_VAL的所有距离.

c++ stl priority-queue

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

如何在 Go 中对包含空格或特殊字符的 URL 进行编码?

我有一个包含空格和特殊字符的 URL,如下例所示:

http://localhost:8182/graphs/graph/tp/gremlin?script=g.addVertex(['id':'0af69422 5be','date':'1968-01-16 00:00:00 +0000 UTC'])
Run Code Online (Sandbox Code Playgroud)

如何在 Go 中对这样的 URL 进行编码?

go

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