KahanSum example
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sat, 1 Jul 2006 16:21:11 +0000 (16:21 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Sat, 1 Jul 2006 16:21:11 +0000 (16:21 +0000)
ir/be/test/kahansum.c [new file with mode: 0644]

diff --git a/ir/be/test/kahansum.c b/ir/be/test/kahansum.c
new file mode 100644 (file)
index 0000000..5ef0745
--- /dev/null
@@ -0,0 +1,12 @@
+float kahanSum(const float A[], int n) {
+       float sum = 0.0, C = 0.0, Y, T;
+       int i;
+
+       for (i = 0; i < n; ++i) {
+               Y = A[i] - C;
+               T = sum + Y;
+               C = T - sum - Y;
+               sum = T;
+       }
+       return sum;
+}
\ No newline at end of file