小编Wil*_*ill的帖子

关于ARM的预取指令

较新的ARM处理器包括PLD和PLI指令.

我正在编写紧密的内部循环(在C++中),它具有非顺序的内存访问模式,但是我的代码完全理解的模式.如果我可以在处理当前内存位置的同时预取下一个位置,我预计会有大幅加速,我希望这很快就足以尝试值得实验!

我正在使用来自ARM的新的昂贵的编译器,它似乎没有在任何地方包含PLD指令,更不用说在我关心的这个特定循环中.

如何在C++代码中包含显式预取指令?

c++ assembly arm

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

访问位域中的所有空闲位置

我有一个uint64数组,对于所有未设置的位(0),我做了一些评估.

评估并不是非常昂贵,但很少有人没有设置.分析表明我花了很多时间在寻找下一个未设置位逻辑.

有没有更快的方法(在Core2duo上)?

我当前的代码可以跳过很多高1:

for(int y=0; y<height; y++) {
  uint64_t xbits = ~board[y];
  int x = 0;
  while(xbits) {
    if(xbits & 1) {
      ... with x and y
    }
    x++;
    xbits >>= 1;
  }
}
Run Code Online (Sandbox Code Playgroud)

(以及关于如何/如果SIMD/CUDA的任何讨论,这将是一个有趣的切线!)

c++ algorithm performance bit-manipulation

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

Flash中的透视图

我有一个2D图像,我想用真正的3D绘制,并围绕它的中心旋转.

我正在使用Actionscript 3代码(实际上是Haxe,没有IDE),我正在努力通过实验发现这些值.

我有一个DisplayObject.如果我使用rotateZ = 45,物体围绕它的左上角而不是中心旋转; 更复杂的Display.transform.matrix事情,如同rotate(Math.PI/4)工作方式.如何围绕DisplayObject的XY中心在Z轴上旋转?

那么我如何让观点发挥作用呢?透视是相对于父级还是旋转后的对象?

我在DisplayObject实例上使用什么旋转和位置?透视变换的值是什么,以及我应用它们的对象是什么?

flash 3d haxe actionscript-3

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

what happens when you plug in a new USB device?

I have an embedded device with a USB connection. When the user plugs the device into their PC (Windows, OSX), how does the operating system discover what drivers to install? How do I get my drivers to be selected? Can they reside on some central server (run by the OS vendor)?

windows macos usb device-driver

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

Python:pyx导入依赖于本机库的pyx

我的pyx依赖于本机库

怎么pyximport.install()办 pyxinstall中的自动构建不知道与本机库的链接,因此构建失败...

python cython

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

从Python调用OpenGL扩展

我在Ubuntu Natty上使用PyOpenGL 3.

我想使用这个glDrawElementsBaseVertex功能.

我可以看到它列在我的glxinfo输出中,所以我知道我的卡有它.

但是,我找不到如何实际调用它.如果我尝试使用它,当我import OpenGL.GL得到NameError它.(与它不同None).

python opengl pyopengl

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

语言选择者应该用英语还是母语列出?

在允许用户选择语言的UI中,该列表中的语言是否应在以下位置命名:

  1. 英语
  2. UI当前已本地化的语言
  3. 母语本身

user-interface localization internationalization

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

将极角映射到0..1

给定笛卡尔位置,如何将原点的角度映射到范围0 .. 1?

我试过了:

sweep = atan(pos.y,pos.x) + PI) / (2.*PI);
Run Code Online (Sandbox Code Playgroud)

(扫描应在0到1之间)

这是GLSL,因此atan函数对两个参数(y然后是x)感到满意并返回-PI ... PI

这在左上象限中给出1,右上角的一个漂亮的渐变绕到右下象限,然后在左下象限中为0:

严重映射的阿坦

我如何获得一个漂亮的单梯度扫描呢?我想在某个地方进行最大扫描,并且逆时针方向与其相邻.

这是我的GLSL着色器代码:

顶点着色器:

uniform mat4 MVP_MATRIX;
attribute vec2 VERTEX;
varying vec2 pos;
void main() {
    gl_Position = MVP_MATRIX * vec4(VERTEX,-2,1.);
    pos = gl_Position.xy;
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:

uniform vec4 COLOUR;
varying vec2 pos;
void main() {
    float PI = 3.14159265358979323846264;
    float sweep = (atan(pos.y,pos.x) + PI) / (2.*PI);
    gl_FragColor = vec4(COLOUR.rgb * sweep,COLOUR.a);
}
Run Code Online (Sandbox Code Playgroud)

math trigonometry glsl

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

从平面上的2D点转换为3D

给定三角形表面上的2D点,三角形的每个角都是3D点,如何计算2D点的相应3D点?

math graphics geometry

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

尝试多次插入并获取失败的ID列表

在MySQL中,您可以在表中插入多行并获取成功或失败的行的列表吗?

或者您必须在其自己的语句中单独插入每一行,以确定插入是否成功?

(可以批量提交多个插入,但是每个插件的成功是否在任何其他数据库中单独占用?例如PostgreSQL?)

mysql sql

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

python使用时区解析日期时间

我试图以下面的格式解析日志文件中的字符串: 2011-06-27 10:29:56+0200

如果我使用datetime.datetime.strptime('%Y-%m-%d %H:%M:%S%z')我会ValueError("'z' is a bad directive in format '%Y-%m-%d %H:%M:%S%z'")被抛出

如何以这种格式解析日期?

python time date

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

MySQL,Java和UTF8

我有一个数据库MEDIUMBLOB与表中的字段ENGINE=InnoDB DEFAULT CHARSET=utf8上每个表.

我通过useUnicode=true&characterEncoding=UTF8&character_set_client=UTF8&character_set_database=UTF8&character_set_results=UTF8&character_set_server=UTF8&character_set_system=UTF8URL 连接到数据库.

(我尝试过useUnicode=true&characterEncoding=UTF8同样的结果.)

当我使用mysql命令行查看数据库中的值时,我可以看到非ASCII字符就好了.

但是当我从数据库读取字符串时,executeQuery() getString()我得到了胡言乱语.如何正确读取值?

我正在使用log4j来显示我写入数据库的字符串,以及我读回的字符串,以及我写的那些字符串.

java mysql unicode utf-8

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

memcmp排序

我有一个缓冲区,并有几个指针.我想根据指向的缓冲区中的字节对指针进行排序.

可以为qsort()和stl :: sort()提供自定义比较函数.例如,如果缓冲区为零终止,我可以使用strcmp:

int my_strcmp(const void* a,const void* b) {
  const char* const one = *(const char**)a,
  const two = *(const char**)b;
  return ::strcmp(one,two);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果缓冲区不是零终止,我必须使用需要长度参数的memcmp().

在没有全局变量的情况下,是否有一种整齐有效的方法可以将缓冲区的长度放入我的比较函数中?

c c++ sorting performance stl

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