【发布时间】:2014-10-12 07:58:41
【问题描述】:
我正在尝试在 Julia 中创建“integer mod p”类型。 (我确信已经有一个包,这只是一个个人练习。)
type Intp{p}
v::Int8
end
function add(a::Intp{p},b::Intp{p})
return Intp{p}((a.v + b.v) % p)
end
我在定义 add 时遇到错误,提示 p 未定义。如何从 add 内部引用 p?
(注意:我可以做类似的事情
type Intp
v::Int8
p
end
function add(a::Intp,b::Intp)
return Intp((a.v + b.v) % a.p,p)
end
但这需要将 p 与每个数字一起存储。我觉得这会效率低下,而且我会考虑泛化它确实效率低下。我宁愿 p 只为类型指定一次,并在以该类型作为参数的函数中引用。)
【问题讨论】:
标签: julia