在 repa-3.2.3.3 中是否有一种紧凑的方法可以通过常数来缩放矩阵?现在我正在使用这个:
(.*) :: (Num d, Shape sh, Source r d) => Array r sh d -> d -> Array D sh d
(.*) m c = R.map ((*) c) m
我很困惑,因为这样的函数通常包含在数组库中。
在 repa-3.2.3.3 中是否有一种紧凑的方法可以通过常数来缩放矩阵?
不,没有。毕竟,map
它为您提供了一种按元素应用任何功能的方法。但是,请记住,您可能应该内联您的函数(source):
编写快速代码的建议:
[...]
2. 将
INLINE
编译指示添加到代码中的所有叶函数,特别是计算数字结果的叶函数。非内联惰性函数调用每个可能花费超过 50 个周期,而每个数字运算符只花费一个(或更少)。内联叶函数还确保它们专门用于适当的数字类型。