Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-04 Thread Pablo Zubieta
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 
>> , and issue #17314 was 
>> closed .
>>
>> Cheers,
>>Kevin
>>
>> On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz  
>> 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 
>>  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 
>> >>  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 
>> >> > 
>>
>
>>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-04 Thread Oliver Schulz
Hi Tony and Kevin,

thanks for the info. I understand why it can't go stay in in this state - 
fingers crossed that you guys will come up with some magic to fix it. :-)

On Thursday, August 4, 2016 at 8:33:42 AM UTC+2, Tony Kelman wrote:
>
> It's still on master for now to see if we can come up with a fix that 
> doesn't require reverting, but it will be reverted on the just-created 
> release-0.5 branch for now - see 
> https://github.com/JuliaLang/julia/pull/17804
>
>
> On Wednesday, August 3, 2016 at 11:29:54 PM UTC-7, Kevin Squire wrote:
>>
>>
>> On Wed, Aug 3, 2016 at 8:35 PM, Kevin Squire  wrote:
>>
>>> For completeness, PR #17389 was merged 
>>> , and issue #17314 was 
>>> closed .
>>>
>>
>> ... and was just reverted, because it caused massive performance issues 
>> .
>>
>>  
>>
>>>
>>> Cheers,
>>>Kevin
>>>
>>> On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz  
>>> 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 
>>>  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 
>>> >>  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 
>>> >> > 
>>>
>>
>>>
>>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-04 Thread Oliver Schulz
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 
> , and issue #17314 was 
> closed .
>
> Cheers,
>Kevin
>
> On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz  > 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 
>  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 
> >>  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 
> >> > 
>

>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-04 Thread Tony Kelman
It's still on master for now to see if we can come up with a fix that 
doesn't require reverting, but it will be reverted on the just-created 
release-0.5 branch for now - see 
https://github.com/JuliaLang/julia/pull/17804


On Wednesday, August 3, 2016 at 11:29:54 PM UTC-7, Kevin Squire wrote:
>
>
> On Wed, Aug 3, 2016 at 8:35 PM, Kevin Squire  > wrote:
>
>> For completeness, PR #17389 was merged 
>> , and issue #17314 was 
>> closed .
>>
>
> ... and was just reverted, because it caused massive performance issues 
> .
>
>  
>
>>
>> Cheers,
>>Kevin
>>
>> On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz > > 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 
>>  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 
>> >>  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 
>> >> > 
>>
>
>>
>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-04 Thread Kevin Squire
On Wed, Aug 3, 2016 at 8:35 PM, Kevin Squire  wrote:

> For completeness, PR #17389 was merged
> , and issue #17314 was
> closed .
>

... and was just reverted, because it caused massive performance issues
.



>
> 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
>  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
> >>  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
> >> >
>

>


Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-03 Thread Kevin Squire
For completeness, PR #17389 was merged
, and issue #17314 was closed
.

Cheers,
   Kevin

On Mon, Aug 1, 2016 at 8:28 AM, Oliver Schulz 
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
  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
 >>  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
 >> >

>>>


Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Oliver Schulz
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 
>>>  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 
>>> >>  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 
>>> >> > 
>>>
>>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Pablo Zubieta
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 
>>  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 
>> >>  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 
>> >> > 
>>
>

Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Oliver Schulz
> 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 
>  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 
> >>  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 
> >> > 
>


Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Yichao Yu
On Mon, Aug 1, 2016 at 8:41 PM, Oliver Schulz
 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
>>  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
>> >


Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Oliver Schulz
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?

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 
>  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 
> > 
>


Re: [julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Yichao Yu
On Mon, Aug 1, 2016 at 8:15 PM, Oliver Schulz
 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
>


[julia-users] Changed broadcast semantics in 0.5?

2016-08-01 Thread Oliver Schulz
Hi,

sorry if this is already covered somewhere - have the semantics of 
broadcast changed in Julia 0.5?

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