From dd38d0d1dda2be42bf280aeca110542f2f2fef1b Mon Sep 17 00:00:00 2001 From: Calvin Date: Tue, 28 May 2013 10:47:11 -0400 Subject: removed files --- src/nbc/kahan.sml | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 src/nbc/kahan.sml (limited to 'src/nbc/kahan.sml') diff --git a/src/nbc/kahan.sml b/src/nbc/kahan.sml deleted file mode 100644 index 70c6b47..0000000 --- a/src/nbc/kahan.sml +++ /dev/null @@ -1,31 +0,0 @@ -(* Kahan summation *) - -signature KAHAN = sig - type t - val zero: t - val add: t * real -> t - val sum: t -> real - val sequence: real Sequence.t -> real - val list: real list -> real - val array: real array -> real -end - -structure Kahan :> KAHAN = struct - type t = real * real - val zero = (0.0, 0.0) - fun add ((s, c), x) = - let - val y = x - c - val t = s + y - in - (t, t - s - y) - end - fun sum (s, c) = s - local - fun swappedAdd (a, b) = add (b, a) - in - fun sequence e = sum (Sequence.fold swappedAdd zero e) - fun list l = sum (foldl swappedAdd zero l) - fun array a = sum (Array.foldl swappedAdd zero a) - end -end -- cgit v1.2.3