Programming-Idioms

This language bar is your friend. Select your favorite languages!

Idiom #208 Formula with arrays

Given the arrays a,b,c,d of equal length and the scalar e, calculate a = e*(a+b*c+cos(d)).
Store the results in a.

#include <math.h>
  for (i=0; i<n; i++)
    a[i] = e*(a[i]+b[i]*c[i]+cos(d[i]);
a = e*(a+b*c+cos(d))
import "math"
func applyFormula(a, b, c, d []float64, e float64) {
	for i, v := range a {
		a[i] = e * (v + b[i] + c[i] + math.Cos(d[i]))
	}
}
for i := 0 to High(a) do
    a[i] = e*(a[i]+b[i]*c[i]+cos(d[i]);
$a[$_] = $e * ($a[$_] + $b[$_] * $c[$_] + cos $d[$_]) for 0 .. $#a;
import math
for i in xrange(len(a)):
	a[i] = e*(a[i] + b[i] + c[i] + math.cos(a[i]))
a = a.zip(b,c,d).map{|i,j,k,l| e*(i+j*k+Math::cos(l)) }
for i in range 0..a.len() {
	a[i] = e*(a[i] + b[i] + c[i] + d[i].cos())
}

Do you know the best way to do this in your language ?
New implementation...

Idiom created by

tkoenig