小编sha*_*zum的帖子

在 Common Lisp 中获取相对路径

给定目录的任意路径path和其他路径base,如何获取base文件系统中同一对象的新相对路径path

比如(relpath #p"~/foo" #p"~/bar/")必须给我#p"../foo"。例如,Julia 中就有这样一个函数,也称为relpath. Common Lisp 中有类似的东西吗(无论是标准库还是第三方库)?

common-lisp

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

SSE SIMD 代码中的性能问题

我有一个代码可以将一个向量围绕另一个向量旋转到给定角度。我使用四元数和这个快速公式来做到这一点。我编写了两个变体,使用和不使用 SIMD 编译器内在函数。

变体 1:

#include <xmmintrin.h>
#include <pmmintrin.h>
#include "test2.h"

static __v4sf cross_product_ (__v4sf a, __v4sf b)
{
    __v4sf r1 = a * _mm_shuffle_ps (b, b, _MM_SHUFFLE (1, 3, 2, 0));
    __v4sf r2 = b * _mm_shuffle_ps (a, a, _MM_SHUFFLE (1, 3, 2, 0));
    __v4sf r = r1 - r2;
    return _mm_shuffle_ps (r, r, _MM_SHUFFLE (1, 3, 2, 0));
}

static __v4sf rotate_vector_ (__v4sf base, __v4sf vect)
{
    __v4sf base_re = _mm_shuffle_ps (base, base, 0);
    __v4sf tmp …
Run Code Online (Sandbox Code Playgroud)

c performance x86 sse

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

标签 统计

c ×1

common-lisp ×1

performance ×1

sse ×1

x86 ×1