20 lines
405 B
WDTE
20 lines
405 B
WDTE
let a => import 'arrays';
|
|
let s => import 'stream';
|
|
|
|
let vmath f v1 v2 =>
|
|
s.zip (a.stream v1) (a.stream v2)
|
|
-> s.map (@ m v =>
|
|
let [v1 v2] => v;
|
|
f (v1 { == s.end => 0 }) (v2 { == s.end => 0 });
|
|
)
|
|
-> s.collect
|
|
;
|
|
|
|
let smath f scalar vector => a.stream vector -> s.map (f scalar) -> s.collect;
|
|
|
|
let v+ => vmath +;
|
|
let v- => vmath -;
|
|
|
|
let s* => smath *;
|
|
let s/ => smath /;
|