@@ -354,34 +354,37 @@ function injective(polar::Polar; start_i::Int64=2)
354354 alpha, cl = get_cl (polar)
355355 _, cd = get_cd (polar)
356356 _, cm = get_cm (polar)
357+ na = length (alpha)
357358
358359 # New polar data
359- out_a, out_cl, out_cd, out_cm = Float64[], Float64[], Float64[], Float64[]
360-
360+ out_a, out_cl, out_cd, out_cm = zeros (na), zeros (na), zeros (na), zeros (na)
361361 # Iterates over data averaging repeated angles
362- ave_val = Dict (" a" => 0.0 , " cl" => 0.0 , " cd" => 0.0 , " cm" => 0.0 , " cum_i" => 0 )
362+ ave_a, ave_cl, ave_cd, ave_cm, cum_i = 0.0 , 0.0 , 0.0 , 0.0 , 0
363+ count = 0
363364 for (i,this_a) in enumerate (alpha)
364365
365366 # Accumulates repeated values
366- ave_val[ " a " ] += this_a
367- ave_val[ " cl " ] += cl[i]
368- ave_val[ " cd " ] += cd[i]
369- ave_val[ " cm " ] += cm[i]
370- ave_val[ " cum_i" ] += 1
367+ ave_a += this_a
368+ ave_cl += cl[i]
369+ ave_cd += cd[i]
370+ ave_cm += cm[i]
371+ cum_i += 1
371372
372373 # Averages repeated values
373374 next_a = i!= size (alpha)[1 ] ? alpha[i+ 1 ] : nothing
374375 if i< start_i || this_a!= next_a
375- push! (out_a, ave_val[" a" ]/ ave_val[" cum_i" ])
376- push! (out_cl, ave_val[" cl" ]/ ave_val[" cum_i" ])
377- push! (out_cd, ave_val[" cd" ]/ ave_val[" cum_i" ])
378- push! (out_cm, ave_val[" cm" ]/ ave_val[" cum_i" ])
379- ave_val = Dict (" a" => 0.0 , " cl" => 0.0 , " cd" => 0.0 , " cm" => 0.0 , " cum_i" => 0 )
376+ count += 1
377+ out_a[count] = ave_a/ cum_i
378+ out_cl[count] = ave_cl/ cum_i
379+ out_cd[count] = ave_cd/ cum_i
380+ out_cm[count] = ave_cm/ cum_i
381+ ave_a, ave_cl, ave_cd, ave_cm, cum_i = 0.0 , 0.0 , 0.0 , 0.0 , 0
380382 end
381383 end
382384
383385 # Injective polar
384- new_polar = Polar (get_Re (polar), out_a, out_cl, out_cd, out_cm;
386+ new_polar = Polar (get_Re (polar), out_a[1 : count], out_cl[1 : count],
387+ out_cd[1 : count], out_cm[1 : count];
385388 _get_nonpypolar_args (polar)... )
386389
387390 return new_polar
0 commit comments