Chris@10: module fvector; Chris@5: Chris@9: import java.util: Arrays; Chris@9: Chris@20: zeros n = Chris@20: new double[n]; Chris@20: Chris@20: ones n = Chris@20: (a = zeros n; Chris@20: for [0..n-1] do i: Chris@20: a[i] := 1.0; Chris@20: done; Chris@20: a); Chris@5: Chris@8: vector l is list? -> ~double[] = Chris@8: (arr = array(l); Chris@8: len = length arr; Chris@10: v = zeros len; Chris@20: for [0..len-1] do i: Chris@20: v[i] := arr[i]; Chris@20: done; Chris@8: v); Chris@8: Chris@20: list' a is ~double[] -> list = Chris@20: list a; Chris@5: Chris@20: length' = Chris@20: length . list'; Chris@5: Chris@20: copyOf v is ~double[] -> ~double[] = Chris@20: Arrays#copyOf(v, list' v |> length); Chris@9: Chris@20: subset v start len is ~double[] -> number -> number -> ~double[] = Chris@20: Arrays#copyOfRange(v, start, start + len); Chris@12: Chris@5: { Chris@20: zeros, ones, Chris@20: vector, Chris@20: length = length', Chris@20: list = list', Chris@20: copyOf, subset, Chris@5: } Chris@5: