On Wed, Aug 3, 2016 at 8:35 PM, Kevin Squire <[email protected]> wrote:
> 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>. > ... and was just reverted, because it caused massive performance issues <https://github.com/JuliaLang/julia/issues/17794#issuecomment-237455407>. > > Cheers, > Kevin > > On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz < > [email protected]> 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 >>>>> <[email protected]> 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 >>>>> >> <[email protected]> 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 >>>>> >> > >>>>> >>>> >
