/* int isum(int[] values, int len) { int result = 0; int i; for (i = 0; i < len; i++) result += values[i]; return result; } // isum(int[]) float fsum(float[] values, int len) { float result = 0; int i; for (i = 0; i < len; i++) result += values[i]; return result; } // fsum(float[]) */ #define SUM(TYPE,PREFIX) \ TYPE PREFIX ## sum(TYPE *values, int len) \ { \ TYPE result = 0; \ int i; \ for (i = 0; i < len; i++) \ result += values[i]; \ return result; \ } // isum(TYPE[]) SUM(int,i) SUM(float,f) SUM(double,d)