changeset 40:27eaa557fe76

Add divide
author Chris Cannam
date Sun, 23 Dec 2012 15:49:22 +0000
parents cc13f311430a
children 06d7d07bb72c
files blockfuncs.yeti test/test_blockfuncs.yeti
diffstat 2 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/blockfuncs.yeti	Sun Dec 23 15:41:35 2012 +0000
+++ b/blockfuncs.yeti	Sun Dec 23 15:49:22 2012 +0000
@@ -15,6 +15,9 @@
 multiply b1 b2 =
     b.fromList (map2 (*) (b.list b1) (b.list b2));
 
+divideBy n bl =
+    b.fromList (map (/ n) (b.list bl));
+
 sqr bl =
     multiply bl bl;
 
@@ -37,7 +40,7 @@
 {
 sum = sum',
 mean,
-multiply, sqr,
+multiply, divideBy, sqr,
 sqrt = sqrt',
 rms,
 fftshift,
--- a/test/test_blockfuncs.yeti	Sun Dec 23 15:41:35 2012 +0000
+++ b/test/test_blockfuncs.yeti	Sun Dec 23 15:49:22 2012 +0000
@@ -4,7 +4,7 @@
 stdSqrt = sqrt;
 
 { zeros, consts, ones, fromList, list } = load block;
-{ sum, mean, multiply, sqr, sqrt, rms, fftshift, ifftshift } = load blockfuncs;
+{ sum, mean, multiply, divideBy, sqr, sqrt, rms, fftshift, ifftshift } = load blockfuncs;
 { declare, compare } = load test.test;
 
 declare [
@@ -28,6 +28,11 @@
         compare (list (multiply (consts (-3) 4) (fromList [1,2,3]))) [-3,-6,-9]
 ),
 
+"divideBy": \(
+    compare (list (divideBy 5 (ones 0))) [] and
+        compare (list (divideBy 5 (fromList [1,2,-3]))) [0.2,0.4,-0.6]
+),
+
 "sqr": \(
     compare ((list . sqr . zeros) 0) [] and
         compare ((list . sqr . ones) 5) [1,1,1,1,1] and