小编pet*_*bel的帖子

无符号长整型数组的sse和

基于SSE浮点向量的减少,我试图对无符号长数组求和,但是很不幸,没有成功。

uint64_t vsum_uint64 (uint64_t *a, int n)
{
    uint64_t sum;    // lets say sum fits
    __m128 vsum = _mm_set1_ps(0);

    for (int i = 0; i < n; i += 2) {    // 2 unit64 in single __m128
        __m128 v = _mm_loadl_epi64(&a[i]);
        vsum = _mm_add_epi64(vsum, v);
    }

    _mm_store_ss(&sum, vsum);
    uint64_t *p = &vsum;
    sum+=*(p+1);

    // vsum = _mm_hadd_ps(vsum, vsum);
    // vsum = _mm_hadd_ps(vsum, vsum);
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

这应该是正确的,但是gcc仍然无法编译它。我搜索了答案,但没有找到答案。

这就是gcc所说的:

main.cpp: In function ‘uint64_t vsum_uint64(const uint64_t*, int)’:
main.cpp:73:35: …
Run Code Online (Sandbox Code Playgroud)

c++ sse sum simd uint64

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

一个^(2 ^ I)语言的语法的结构

我是那种一卡与自动机和语法问题.我搜索了很多但没有成功.

它甚至有可能构建一个语法生成这种语言L?

 L = { a(2i) | i >= 0} 

谁能为我提供简单的解决方案?

grammar context-free-grammar automaton exponential context-free-language

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

使用std :: thread时c ++ 11意外的多态性beahviour

基于C++多态与可变参数函数参数我尝试编写类似的(非模板化,带构造函数)程序

码:

#include <thread>
#include <iostream>
#include <vector>

class Base
{
public:
    Base (int count) { run(count); } // this-> does not help

    virtual void run (int count) { // non-virtual does not help eighter
        for (int i=0; i<count; ++i)
            threads.emplace_back(std::ref(*this));
    }

    virtual ~Base () {
        for (auto& t : threads)
            t.join();
    }

    virtual void operator() () = 0;

protected:
    std::vector< std::thread > threads;
};


class Derived : public Base
{
public:
    using Base::Base;
    virtual void operator() () …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism multithreading pure-virtual c++11

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

scala 引用比较是否类似于 c++ 指针?

我可以使用=它们的引用来测试两个对象的相等性吗?我的意思是引用的行为是否像C++ 指针(在比较方面)?

示例 - 我可以确保ll列表的每个对象都只打印一次吗?

val ll: List[MyObject] = // definition of list of my very complicated objects

for (x <- ll) {
    for (y <- ll) {
        if (x == y) println(x)
    }
}
Run Code Online (Sandbox Code Playgroud)

我想上比较同一如果对象失败的引用是不同的(如果具有相同的对象上的不同的引用甚至有可能)。

如果将列表作为参数传递给某个方法,这种行为会改变吗?

谢谢澄清

comparison scala reference

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

如何编写参数类函数,其中参数类在scala中声明一些方法?

我处理Scala问题,我无法正确命名,所以也许这里已经有答案(请耐心等待).

假设这段代码:

class A {def foo() = 5}
class B {def foo() = 6}
def fooer[T](x:T) = x.foo()
Run Code Online (Sandbox Code Playgroud)

我收到错误:

<console>:7: error: value foo is not a member of type parameter T
    def fooer[T](x:T) = x.foo
Run Code Online (Sandbox Code Playgroud)

这完全有道理,因为编译器不可能知道T将传递什么类型.最后问题 - 如何实现类型化函数,因此只接受foo声明方法的类型?

请注意,我不寻求enum替代项(参见doc),因为我不知道有多少类(外部库).这些类也没有共同的前任类或特征,因此无法修改它们.

这甚至可能吗?C++语言使用模板支持此行为.我更喜欢不使用反射API的解决方案.

谢谢 :)

我尝试了一些定义,fooer

def fooer[T <: {def foo(): Integer}](x:T) = x.foo()
fooer[A](new A)
<console>:10: error: type arguments [A] do not conform to method fooer's type parameter bounds [T <: AnyRef{def …
Run Code Online (Sandbox Code Playgroud)

polymorphism scala

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

'Java反射中的[L'前缀

使用Java6反射API,Class.getDeclaredFields返回非常奇怪的值.类字段示例:

protected String[] arrF = new String[15];
Run Code Online (Sandbox Code Playgroud)

使用getDeclaredFields正确Class,Field返回a:

  • name = arrF
  • type = [Ljava.lang.String;

问题:[L前缀是否意味着它arrF是一个数组?我可以一直依赖它,即字段是一个数组iff类型的前缀[L?如果不是,我如何获得有关该字段"数组"的一些信息?

java arrays reflection

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

如何使用通用VecDeque?

基本上,我需要包含一个结构VecDequeState秒.我的代码到目前为止:

type State = [[bool]];
pub struct MyStruct {
    queue: VecDeque<State>,
}
impl MyStruct {...}
Run Code Online (Sandbox Code Playgroud)

在编译这段代码时,我结束了

error: the trait `core::marker::Sized` is not implemented for the type `[[bool]]` [E0277]
note: `[[bool]]` does not have a constant size known at compile-time
Run Code Online (Sandbox Code Playgroud)

我想State在队列中根本不是好主意,所以我尝试了一个引用队列(这也适合我的应用程序).

type State = [[bool]];
pub struct MyStruct {
    queue: VecDeque<&State>,
}
impl MyStruct {...}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,更奇怪的错误发生:

error: missing lifetime specifier [E0106]
Run Code Online (Sandbox Code Playgroud)

如何创建这样的结构,以便按照我上面的方式工作?我真的不是Rust专家.

lifetime rust

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