# HG changeset patch # User Chris Cannam # Date 1369316380 -3600 # Node ID 0011c9a8c0ec1a64e913f3ade3563eff3787e78f # Parent b5cd42899526e32e41c983cfdad27d56966254d5 Add repeated diff -r b5cd42899526 -r 0011c9a8c0ec yetilab/vector/test/test_vector.yeti --- a/yetilab/vector/test/test_vector.yeti Thu May 23 14:39:18 2013 +0100 +++ b/yetilab/vector/test/test_vector.yeti Thu May 23 14:39:40 2013 +0100 @@ -90,6 +90,13 @@ vec.equal (vec.resizedTo 2 (vec.fromList [1,2,3])) (vec.fromList [1,2]); ), +"repeated": \( + vec.equal (vec.repeated (vec.fromList []) 2) (vec.fromList []) and + vec.equal (vec.repeated (vec.fromList [1,2,3]) 0) (vec.fromList []) and + vec.equal (vec.repeated (vec.fromList [1,2,3]) 1) (vec.fromList [1,2,3]) and + vec.equal (vec.repeated (vec.fromList [1,2,3]) 2) (vec.fromList [1,2,3,1,2,3]) +), + "reversed": \( vec.equal (vec.reversed (vec.fromList [])) (vec.fromList []) and vec.equal (vec.reversed (vec.fromList [1,2,3])) (vec.fromList [3,2,1]) and diff -r b5cd42899526 -r 0011c9a8c0ec yetilab/vector/vector.yeti --- a/yetilab/vector/vector.yeti Thu May 23 14:39:18 2013 +0100 +++ b/yetilab/vector/vector.yeti Thu May 23 14:39:40 2013 +0100 @@ -96,6 +96,9 @@ done; vout); +repeated v n is ~double[] -> number -> ~double[] = + concat (map \(v) [1..n]); + { zeros, consts, @@ -115,6 +118,7 @@ slice, resizedTo, reversed, + repeated, concat, } as { zeros is number -> vector, @@ -135,6 +139,7 @@ slice is vector -> number -> number -> vector, resizedTo is number -> vector -> vector, reversed is vector -> vector, + repeated is vector -> number -> vector, concat is list? -> vector, }