JuliaML / MLDataUtils.jl

Utility package for generating, loading, splitting, and processing Machine Learning datasets
http://mldatautilsjl.readthedocs.io/
Other
102 stars 20 forks source link

Changed meaning of .+= in Julia 0.5 #7

Closed stevengj closed 8 years ago

stevengj commented 8 years ago

Your code uses x .+= y, so you should know that in Julia 0.5 this has changed meaning to be equivalent to broadcast!(identity, x, x .+ y), so that it mutates the x array (see JuliaLang/julia#17510 … in Julia 0.6 the whole operation will occur in-place without temporaries). So .+ should only be used if the left-hand side is a mutable array, and you don't mind mutating it.

At first glance, this looks like it is okay for you, because you use it in y .+= noise .* f_rand(n), where y seems like an array that you won't mind mutating. But if it were a problem you could always change it to +=.

Evizero commented 8 years ago

Thanks for checking the code and pointing this out. (I did read and check this a while ago but never took the time to say thank you. better late than never I suppose)