小编Cpp*_*ner的帖子

混淆XMM寄存器的位图

对不起我没有好头衔......

我正在读这个帖子: SSE中的矢量矩阵乘法

原始海报有以下代码

// xmm0 = (v0,v1,v2,v3)
movups xmm0, [eax]

// xmm0 = (v0,v0,v0,v0)
// xmm1 = (v1,v1,v1,v1)
// xmm2 = (v2,v2,v2,v2)
// xmm3 = (v3,v3,v3,v3)
shufps xmm3, xmm0, 255
shufps xmm2, xmm0, 170
shufps xmm1, xmm0, 85
shufps xmm0, xmm0, 0
Run Code Online (Sandbox Code Playgroud)

有人说以下:

但是根据手册真正发生了什么:(a,b,c,d)意味着a是0到31位,b是32到63位等等

// xmm0 = (v0,v1,v2,v3)
movups xmm0, [eax]

// xmm0 = (v0, v0, v0, v0)
shufps xmm0, xmm0, 0
Run Code Online (Sandbox Code Playgroud)

这对我来说很有意义,因为在线性数组模型中[elt0,elt1,elt2,....] elt0是Array [0].

令我困惑的是,根据手册,xmm寄存器的位图是[127 ... 0](见下图).

我就像看着位图的原始海报,并认为[elt0,elt2,elt3,elt4]的最左边是"11"位.

所以如果我想xmm0只包含v0

shufps xmm0, xmm0, 0xFF  // 11 11 11 11 …
Run Code Online (Sandbox Code Playgroud)

sse bitmap

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

Visual Studio C++ 中的 v4sf 和 __attribute__ 等效项是什么?

typedef float v4sf __attribute__ ((mode(V4SF)));
Run Code Online (Sandbox Code Playgroud)

这是在海湾合作委员会。有人知道等价语法吗?

VS 2010将显示__attribute__没有此类型的存储类,并且模式未定义。

我在网上搜索了一下,上面说

相当于__attribute__( aligned( size ) )GCC 中的

对于以前的 UNIX 开发人员或编写在多个平台上工作的代码的人来说,这很有帮助,在 GCC 中,您可以使用 属性(aligned(...))获得相同的结果

有关更多信息,请参阅此处: http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Type-Attributes.html#Type-Attributes

完整的 GCC 代码在这里: http: //pastebin.com/bKkTTmH1

c++ gcc sse intrinsics visual-c++

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

根据架构查找在MySQL中拥有汽车的总人数

嘿伙计们我正在做一些考试修改,并通过过去的论文可以有人告诉我,如果我在正确的轨道上.

考虑下面给出的保险数据库:

person (driver-id, name, address)<br>
car (license, model, year)<br>
accident (report-number, date, location)<br>
owns (driver-id, license) <br>
participated (driver-id, car, report-number, damage-amount)<br>
Run Code Online (Sandbox Code Playgroud)

1)查找2004年拥有涉及事故的汽车的总人数.

这是我想出的:

SELECT COUNT(driver-id)
FROM participated
WHERE participated.reportnumber=accident.reportnumber
AND accident.date = 2004
Run Code Online (Sandbox Code Playgroud)

我是在正确的轨道上吗?任何帮助,将不胜感激.

mysql

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

grep 返回 "&lt;regular expression&gt;" 没有那个文件或目录

我有以下正则表达式来匹配电话号码。正则表达式有效(123)123-123,但我对最后的结果感到困惑。

user@host: grep -l -v -f *.txt -E "(\d{3})-\d{3}-\d{3}"
f2.txt
f3.txt
f4.txt
grep: (\d{3})-\d{3}-\d{3}: No such file or directory
Run Code Online (Sandbox Code Playgroud)

为什么要grep搜索正则表达式?

这是ls

user@host:/tmp# ls
f1.txt  f2.txt  f3.txt  f4.txt  
Run Code Online (Sandbox Code Playgroud)

regex shell grep quoting

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

<boost/lexcal_cast.hpp>在哪里?

我刚刚下载了boost 1.4.7.0,但是编译器找不到boost/lexcal_cast.hpp

我正在尝试使用boost将字符串转换为数字.示例代码:

#include <boost/lexcal_cast.hpp>

// ...
int i = 42;
std::string s = boost::lexical_cast<std::string>(i);
int j = boost::lexical_cast<int>(s)
Run Code Online (Sandbox Code Playgroud)

哪里可以找到??? 除标准外,我还需要额外的库吗?

谢谢.

c++ boost

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

内联比递归定义如何有效?

我的《编程范例》教科书,《编程语言基础》(第3版)第1章有一个练习:

练习1.12

通过用subst-in-s-exp的定义代替它的定义并简化生成的过程,消除对subst-in-s-exp的一次调用。结果将是不需要subst-in-s-exp的subst版本。这项技术称为内联,用于优化编译器。

原始代码将具有两个功能:subst并且subst-in-sexp基本上将输入符号中所有出现的旧符号替换为新符号。

(define subst
  (lambda (new old slist)
    (if (null? slist) '()
        (cons
         (subst-in-s-exp new old (car slist))
         (subst new old (cdr slist))))))

(define subst-in-s-exp
  (lambda (new old sexp)
    (if (symbol? sexp)
        (if (eqv? sexp old) new sexp)
        (subst new old sexp))))
Run Code Online (Sandbox Code Playgroud)

这个问题的答案是消除subst-in-sexp,这就是

(define subst
  (lambda (slist old new)
    (cond
      [ (null? slist) '()]
      [ (eqv? (car slist) old) (cons new (subst (cdr slist) old new))]
      [ else (cons (car …
Run Code Online (Sandbox Code Playgroud)

language-agnostic paradigms scheme inline

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

叉重复两次?

#include <stdio.h>
#include <unistd.h>

int main()
{
    int a = 1, b = 1;
    int rval, pid;

    pid = fork();
    switch(pid)
    {
        case -1:
            printf("I am bad.\n");

        case 0:
            printf("I am in child.\n");
            rval = a + b;
            printf("leaving child.\n");
        default:
            wait();
            printf("I am back to parent.\n");
            //wait();
            printf("%d \n", rval);
            printf("leaving parent.\n");
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我首先期待孩子的陈述,然后是父母.但是不应该有任何好处.代替,

>> ./demo
I am in child.
leaving child.
I am back to parent.
2 
leaving parent.
I am back to parent.
134513584 …
Run Code Online (Sandbox Code Playgroud)

c fork

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

Go如何进行系统调用?

据我所知,在CPython的,open()read()-的API来读取一个文件是用C代码。C代码可能会调用一些C库,该C库知道如何进行系统调用。

像Go这样的语言呢?现在Go本身不是用Go编写的吗?Go会在后台调用C库吗?

go

0
推荐指数
3
解决办法
540
查看次数

标签 统计

c++ ×2

sse ×2

bitmap ×1

boost ×1

c ×1

fork ×1

gcc ×1

go ×1

grep ×1

inline ×1

intrinsics ×1

language-agnostic ×1

mysql ×1

paradigms ×1

quoting ×1

regex ×1

scheme ×1

shell ×1

visual-c++ ×1