The last example won't work even with this fixed. There is a PR for making 
that one work already, but that will have to wait a bit longer.

On Thursday, August 4, 2016 at 9:37:30 AM UTC+2, Oliver Schulz wrote:
>
> Thanks for the heads-up. I tried it out, and indeed
>
> broadcast(muladd, rand(5), rand(5), rand(5))
>
> and
>
> broadcast(muladd, rand(5), 1, rand(5))
>
> work now. Interestingly,
>
> broadcast(muladd, rand(5), rand(5), 1)
>
> Does not ("no method matching promote_eltype_op[...]"). Just curious, is 
> this to be expected?
>
> On Thursday, August 4, 2016 at 5:36:14 AM UTC+2, Kevin Squire 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>.
>>
>> Cheers,
>>    Kevin
>>
>> On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz <oliver...@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 
>>>>>> >> > 
>>>>>>
>>>>>
>>

Reply via email to