C#中的矢量化是通过向量类实现的.有不同大小的矢量,如Vector64/Vector128/Vector256.但我该如何使用它们呢?我已经用Vector256<T>编写了一个for循环,但是如果设备不支持这个向量,我想回退到Vector128<T>Vector64<T>.我怎么才能退回到那个.我是不是遗漏了某种通用的IVector<T>接口?我需要为每种大小的矢量复制并粘贴整个内容吗?

非常感谢你

推荐答案

这听起来可能很烦人,但当前使用的处理方法是实际上只使用copypaste的矢量化循环,并分别用Vector128Vector64替换Vector256.确保从最高的向量开始,向最低的方向努力. 微软可能真的应该考虑一个接口IVector<T>,它将这些方法抽象出来.使用新的静态抽象方法,这当然是可能的,但目前您必须坚持使用copypaste.

Csharp相关问答推荐

在C#中使用in修饰符

在. net毛伊岛窗口的深度链接已经创建""

使用命令初始化可绑定属性

如何在C#中从正则表达式中匹配一些数字但排除一些常量(也是数字)

静态对象构造顺序

从VS调试器而不是测试资源管理器运行的调试NUnitDotNet测试

Linux Docker上的.NET6在某个时间抛出后,在加密操作期间发生System.Security.Cryptography.CryptographicException:错误

如何在CSharp中将json字符串转换为DataTable?

将操作从编辑页重定向到带参数的索引页

当try 测试具有协变返回类型的抽象属性时,类似功能引发System.ArgumentException

使用动态键从请求体反序列化JSON

C#静态抽象属性不能被子接口覆盖

如何在C#.NET桌面应用程序中动态更改焦点工具上的后退 colored颜色

WPF如何获取有关从一个视图模型更改另一个视图模型的信息

Xamarin.Forms中具有类似AspectFill的图像zoom 的水平滚动视图

使用DI实例化带有动态参数的服务?

为什么我的属性即使没有显式地设置任何[必需]属性,也会显示验证?

ASP.NET核心MVC|如何在控制器方法之间传递值

C#If条件格式

将ValueTask发送给调用者