annotate fvector.yeti @ 21:6c5d2fe1b260
Some fixes to file opening & playback
author |
Chris Cannam |
date |
Thu, 20 Dec 2012 12:12:11 +0000 |
parents |
0b04bc5d2e53 |
children |
1633c56b9d87 |
rev |
line source |
Chris@10
|
1 module fvector;
|
Chris@5
|
2
|
Chris@9
|
3 import java.util: Arrays;
|
Chris@9
|
4
|
Chris@20
|
5 zeros n =
|
Chris@20
|
6 new double[n];
|
Chris@20
|
7
|
Chris@20
|
8 ones n =
|
Chris@20
|
9 (a = zeros n;
|
Chris@20
|
10 for [0..n-1] do i:
|
Chris@20
|
11 a[i] := 1.0;
|
Chris@20
|
12 done;
|
Chris@20
|
13 a);
|
Chris@5
|
14
|
Chris@8
|
15 vector l is list?<number> -> ~double[] =
|
Chris@8
|
16 (arr = array(l);
|
Chris@8
|
17 len = length arr;
|
Chris@10
|
18 v = zeros len;
|
Chris@20
|
19 for [0..len-1] do i:
|
Chris@20
|
20 v[i] := arr[i];
|
Chris@20
|
21 done;
|
Chris@8
|
22 v);
|
Chris@8
|
23
|
Chris@20
|
24 list' a is ~double[] -> list<number> =
|
Chris@20
|
25 list a;
|
Chris@5
|
26
|
Chris@20
|
27 length' =
|
Chris@20
|
28 length . list';
|
Chris@5
|
29
|
Chris@20
|
30 copyOf v is ~double[] -> ~double[] =
|
Chris@20
|
31 Arrays#copyOf(v, list' v |> length);
|
Chris@9
|
32
|
Chris@20
|
33 subset v start len is ~double[] -> number -> number -> ~double[] =
|
Chris@20
|
34 Arrays#copyOfRange(v, start, start + len);
|
Chris@12
|
35
|
Chris@5
|
36 {
|
Chris@20
|
37 zeros, ones,
|
Chris@20
|
38 vector,
|
Chris@20
|
39 length = length',
|
Chris@20
|
40 list = list',
|
Chris@20
|
41 copyOf, subset,
|
Chris@5
|
42 }
|
Chris@5
|
43
|