4
SIMDのためSystem.Numericsライブラリで4倍の倍精度のベクトルを作成しようとしています。だから私はこの構造体を作った:System.Numerics.Vectorを含む構造体へのポインタC#の<double>
public struct Vector4D
{
System.Numerics.Vector<double> vecXY, vecZW;
...
}
この段階では、私は128ビットSIMDレジスタ用にそれをコード化する。 それは正常に動作しますが、私はこのような何かしたいとき:
Vector4D* pntr = stackalloc Vector4D[8];
を私はこれを取得:
「(のサイズを取得、またはマネージ型へのポインタを宣言し、のアドレスを取ることができませんVector4D ')
System.Numerics.Vectorでstackallocを使用するにはどうすればよいですか? System.Numerics.Vector4(浮動小数点精度)では、ポインタに問題はありませんが、倍精度が必要です。
http://stackoverflow.com/questions/1631754/c-using-a-generic-to-create-a-pointer-arrayを参照してください。ジェネリックタイプのアドレスは取得できません。 – Rotem
わかりましたが、動作させる方法はありますか? –