# HG changeset patch # User Chris Cannam # Date 1382634086 -3600 # Node ID a926ad176efb52b01d64e89ff090c72a9ec08a6c # Parent c11bf7397e0e94cdb5518d23e45742c7f712a17c Add negative diff -r c11bf7397e0e -r a926ad176efb src/may/vector/blockfuncs.yeti --- a/src/may/vector/blockfuncs.yeti Thu Oct 24 15:13:02 2013 +0100 +++ b/src/may/vector/blockfuncs.yeti Thu Oct 24 18:01:26 2013 +0100 @@ -107,6 +107,9 @@ abs' = vec.fromList . (map abs) . vec.list; +negative = + vec.fromList . (map (0-)) . vec.list; + sqrt' = vec.fromList . (map sqrt) . vec.list; @@ -137,6 +140,7 @@ divideBy is number -> vector -> vector, scaled is number -> vector -> vector, abs is vector -> vector = abs', +negative is vector -> vector, sqr is vector -> vector, sqrt is vector -> vector = sqrt', rms is vector -> number, diff -r c11bf7397e0e -r a926ad176efb src/may/vector/test/test_blockfuncs.yeti --- a/src/may/vector/test/test_blockfuncs.yeti Thu Oct 24 15:13:02 2013 +0100 +++ b/src/may/vector/test/test_blockfuncs.yeti Thu Oct 24 18:01:26 2013 +0100 @@ -4,7 +4,7 @@ stdSqrt = sqrt; { zeros, consts, ones, fromList, list } = load may.vector; -{ sum, max, min, maxindex, minindex, mean, add, subtract, multiply, divideBy, scaled, abs, sqr, sqrt, rms, unityNormalised, fftshift, ifftshift } = load may.vector.blockfuncs; +{ sum, max, min, maxindex, minindex, mean, add, subtract, multiply, divideBy, scaled, abs, negative, sqr, sqrt, rms, unityNormalised, fftshift, ifftshift } = load may.vector.blockfuncs; { compare } = load may.test.test; [ @@ -83,6 +83,11 @@ compare (list (abs (fromList [1,2,-3]))) [1,2,3] ), +"negative": \( + compare (list (negative (ones 0))) [] and + compare (list (negative (fromList [1,2,-3]))) [-1,-2,3] +), + "sqr": \( compare ((list . sqr . zeros) 0) [] and compare ((list . sqr . ones) 5) [1,1,1,1,1] and