For completeness, PR #17389 was merged <https://github.com/JuliaLang/julia/pull/17389>, and issue #17314 was closed <https://github.com/JuliaLang/julia/issues/17314>.
Cheers, Kevin On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz <oliver.sch...@tu-dortmund.de> wrote: > Thanks, Pablo. Uh, do you think that PR will make it into 0.5? > > > On Monday, August 1, 2016 at 3:41:23 PM UTC+2, Pablo Zubieta wrote: >> >> This should work if https://github.com/JuliaLang/julia/pull/17389 gets >> merged. >> >> On Monday, August 1, 2016 at 3:06:36 PM UTC+2, Oliver Schulz wrote: >>> >>> > Not before the bug is fixed and this is also orthogonal to loop >>> fusion. >>> >>> Sure, I get that. But that means then that bug is fixed, things like >>> broadcasting with (e.g.) muladd will be possible again? That would be >>> wonderful! >>> >>> >>> >>> On Monday, August 1, 2016 at 2:47:44 PM UTC+2, Yichao Yu wrote: >>>> >>>> On Mon, Aug 1, 2016 at 8:41 PM, Oliver Schulz >>>> <oliver...@tu-dortmund.de> wrote: >>>> > So cases like >>>> > >>>> > broadcast((x,y,z)->..., A, B, C) >>>> > >>>> > can't be supported any longer? Darn. :-( I love the things you guys >>>> are >>>> > doing in regard to fusing operations, but that was a very, very >>>> useful thing >>>> > to have. Is there any other way to do this now? >>>> >>>> Not before the bug is fixed and this is also orthogonal to loop fusion. >>>> >>>> > >>>> > On Monday, August 1, 2016 at 2:22:07 PM UTC+2, Yichao Yu wrote: >>>> >> >>>> >> On Mon, Aug 1, 2016 at 8:15 PM, Oliver Schulz >>>> >> <oliver...@tu-dortmund.de> wrote: >>>> >> > Hi, >>>> >> > >>>> >> > sorry if this is already covered somewhere - have the semantics of >>>> >> > broadcast >>>> >> > changed in Julia 0.5? >>>> >> >>>> >> Essentially https://github.com/JuliaLang/julia/issues/17314 >>>> >> The promote_op basically assumes everything is a pure unary or >>>> binary >>>> >> operator. >>>> >> >>>> >> > >>>> >> > In 0.4, I can do >>>> >> > >>>> >> > broadcast(muladd, rand(5), rand(5), rand(5)) >>>> >> > >>>> >> > But in 0.5 (0.5.0-rc0+86), I get >>>> >> > >>>> >> > ERROR: MethodError: no method matching muladd(::Float64, >>>> ::Float64) >>>> >> > Closest candidates are: >>>> >> > muladd(::Float64, ::Float64, ::Float64) at float.jl:247 >>>> >> > muladd(::Real, ::Real, ::Complex{T<:Real}) at complex.jl:177 >>>> >> > muladd{T<:Number}(::T<:Number, ::T<:Number, ::T<:Number) at >>>> >> > promotion.jl:239 >>>> >> > ... >>>> >> > [...] >>>> >> > >>>> >> > >>>> >> > Is this a bug, or to be expected? >>>> >> > >>>> >> > Cheers, >>>> >> > >>>> >> > Oliver >>>> >> > >>>> >>>