![]() |
1
1
编译器可以很好地理解如何应用乘法的单位规则,这里的问题是你有一个包装类型。在你的第一个例子中,当你写
当你有一个
鉴于类公开的方法,我认为使用
类似这样的东西可以给你一个单位友好向量:
在这种情况下,单位被附加到向量上,向量相乘可以按照正确的单位行为正常工作。
问题是,现在我们可以在
您可以将具有度量单位的特定类型的数组转换为
然后返回:
一个破旧的替代方案:
如果放弃泛型类型
|
![]() |
2
1
我想出了一个解决方案,它满足了我的大多数要求(看起来)。它的灵感来自
TheInnerLight's ideas
(包装
一个简化的、简单的、快速的、肮脏的实现将如下所示:
现在,我们可以使用这两种数据结构在 相当地 优雅、高效的方式:
最重要的是,重新实现单元感知的常规数组操作可能很有用
等
缺点:对于基础数字类型而言不是泛型的(
…这意味着我们基本上不是通过使用诸如
不过,我还是希望有人能想出更好的主意 |
![]() |
jww avp · vec\u sld endian是否敏感? 7 年前 |
![]() |
Timmmm · Eigen的矢量化回退是如何工作的? 7 年前 |
![]() |
Green goblin · 乱序16位矢量SSE 9 年前 |
|
John · 两个8位阵列协方差的快速实现 9 年前 |
![]() |
user1235183 · 通过函数指针使用内部函数时的链接器错误 9 年前 |
![]() |
ishaan arora · 在C中将代码从SSE2转换为SSE4 9 年前 |
![]() |
Thomas · FMA指令集的硬件支持有多丰富 9 年前 |