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