在Julia中优先于运算符

时间:2018-08-08 21:30:06

标签: julia

在电气工程中,阻抗的并行连接可以由并行运算符表示。对于阻抗为z[k]的矢量,可以定义以下函数:

function ∥(z...)
    ypar = 0
    for k=1:length(z)
        ypar = ypar + 1/z[k]
    end
    return 1/ypar
end

Julia运算符的优先级在https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm中定义。并行运算符的定义优先级与关系运算符相同。考虑以下示例:

julia> Base.operator_precedence(:∥)
6
julia> Base.operator_precedence(:+)
9
julia> Base.operator_precedence(:*)
11
julia> Base.operator_precedence(:^)
13

在两个阻抗z [1]和z [2]的简单情况下,并联阻抗等于z[1]*z[2]/(z[1]+z[2])。根据我个人的理解,并行运算符的优先级高于或至少等于乘法运算符*

我的问题是:如何将运算符的优先级从6更改为11、12或13?

0 个答案:

没有答案