我想为广播操作编写自定义方法
f.(v)
我的自定义功能
f
。为此我需要做什么?
您需要谷歌搜索julia接口(非广播)才能找到相关手册
摘录:
实施方法 | 简要说明 |
---|---|
|
|
|
输出容器的分配 |
可选方法 | |
|
混合风格的优先规则 |
|
根据 声明 的索引。 |
|
将 转换为具有 且支持索引的对象 |
绕过默认机制 | |
|
自定义实现
|
|
自定义实现 ,专注于
|
|
自定义实现 ,专注于
|
|
覆盖融合表达式中的默认惰性行为 |
|
覆盖惰性广播轴的计算 |
您可能会发现this线程很有用。简而言之,
Broadcast.broadcasted
结构允许您专门化广播操作的特定情况。例如,考虑 v
是向量的情况,那么操作 f.(v)
的重载将如下所示:
function Broadcast.broadcasted(::typeof(f), v::Vector{T}) where T
# Write your custom implementation here to compute the output
...
return output
end
如果您有多种情况想要专门化,那么您要么必须逐一进行,要么编写自定义广播样式,如另一个答案提到的那样。