Mercurial > hg > may
annotate fvector.yeti @ 12:2afcb56f57b1
Add (rather clumsy) overlapping framer
author | Chris Cannam |
---|---|
date | Thu, 13 Dec 2012 16:21:07 +0000 |
parents | 149d6911ca12 |
children | 327dac3a8e1f |
rev | line source |
---|---|
Chris@10 | 1 module fvector; |
Chris@5 | 2 |
Chris@9 | 3 import java.util: Arrays; |
Chris@9 | 4 |
Chris@5 | 5 zeros n = new double[n]; |
Chris@5 | 6 ones n = (a = zeros n; for [0..n-1] do i: a[i] := 1.0 done; a); |
Chris@5 | 7 |
Chris@8 | 8 vector l is list?<number> -> ~double[] = |
Chris@8 | 9 (arr = array(l); |
Chris@8 | 10 len = length arr; |
Chris@10 | 11 v = zeros len; |
Chris@10 | 12 for [0..len-1] do i: v[i] := arr[i] done; |
Chris@8 | 13 v); |
Chris@8 | 14 |
Chris@5 | 15 arrayWrap a is ~double[] -> array<number> = array(a); |
Chris@5 | 16 |
Chris@10 | 17 vectorLength v = length (arrayWrap v); |
Chris@5 | 18 |
Chris@9 | 19 copyOfVector v is ~double[] -> ~double[] = Arrays#copyOf(v, length(arrayWrap v)); |
Chris@9 | 20 |
Chris@12 | 21 subVector v start len is ~double[] -> number -> number -> ~double[] = Arrays#copyOfRange(v, start, start + len); |
Chris@12 | 22 |
Chris@5 | 23 { |
Chris@8 | 24 zeros, ones, vector, |
Chris@10 | 25 vectorLength, |
Chris@12 | 26 copyOfVector, subVector, |
Chris@5 | 27 } |
Chris@5 | 28 |