Thank you so much for all your help! ;)
On Tuesday, October 4, 2016 at 4:12:43 PM UTC+2, Greg Plowman wrote:
>
> Not sure what the best way is, especially on Julia 0.5 where maybe some
> sort of view.
>
> But you could always use an Array of Arrays if you don't really need a
> true multi-dimensional array elsewhere:
>
> d = randn(3,n)
> d2 = [ d[:,i]::Vector{Float64} for i=1:n ]
> r = randn(3,m)
> r2 = [ r[:,i]::Vector{Float64} for i=1:m ]
>
> function nested_loop!(Y::Array{Complex{Float64}},X::Array{Complex{Float64
> }},
> d::Vector{Vector{Float64}},r::Vector{Vector{Float64
> }},n::Int64,m::Int64,f::Int64)
> for i_1 = 1:f
> for i_3 = 1:n
> k = 2*π*i_1*d[i_3]
> for i_2 = 1:m
> A = exp(im*dot(k,r[i_2]))
> Y[i_1,i_2] += X[i_1,i_3] * A
> end
> end
> end
> end
>
> nested_loop!(Y,X,d2,r2,n,m,f)
>
> On V0.4 this has less allocations and runs slightly faster (maybe 2-3x)
>
>
> On Tuesday, October 4, 2016 at 11:45:53 PM UTC+11, Niccolo' Antonello
> wrote:
>
>> what is the best way to slice an array without allocating? I thank you!
>>
>> On Tuesday, October 4, 2016 at 1:20:29 PM UTC+2, Kristoffer Carlsson
>> wrote:
>>>
>>> The slicing of "r" will also make a new array and thus allocate.
>>
>>