小编San*_*bar的帖子

指向包含C#中System.Numerics.Vector <double>的struct的指针

由于SIMD,我正在尝试使用System.Numerics库制作带有4个双打的向量.所以我做了这个结构:

public struct Vector4D
{
    System.Numerics.Vector<double> vecXY, vecZW;

    ...

}
Run Code Online (Sandbox Code Playgroud)

在这个阶段,我将其编码为128位SIMD寄存器.它工作正常,但当我想要这样的东西:

Vector4D* pntr = stackalloc Vector4D[8];
Run Code Online (Sandbox Code Playgroud)

我明白了:

不能取地址,获取大小,或声明指向托管类型的指针('Vector4D')

知道如何在System.Numerics.Vector中使用stackalloc吗?使用System.Numerics.Vector4(浮点精度)指针没有问题,但我需要双精度.

c# pointers simd stackalloc system.numerics

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

标签 统计

c# ×1

pointers ×1

simd ×1

stackalloc ×1

system.numerics ×1