backup
This commit is contained in:
@ -159,22 +159,25 @@ process = hmtx(16);
|
||||
fn hmtx(n:int)-> <[float;n]->[float;n]>{
|
||||
assert!(n>=2 && n%2 == 0);
|
||||
if(n==2){
|
||||
`|list|{ [list[0]+list[1], list[0]-list[1]] }
|
||||
`|list|{
|
||||
let l = list[0];
|
||||
let r = list[1];
|
||||
[l+r, l-r]
|
||||
}
|
||||
}else{
|
||||
`|list:[float]|{
|
||||
let mixer = interleave
|
||||
|> |(l1,l2)| {zipwith(l1,l2).map(|(a,b)| a + b)};
|
||||
|> ~hmtx(n/2);
|
||||
|> |(l1,l2)| {zipwith(l1,l2).map(|(a,b)| a + b)}
|
||||
|> ~hmtx(n/2);
|
||||
let upper = list |> mixer;
|
||||
let lower = list
|
||||
|> split(_,2)
|
||||
|>|(l1,l2)| {(l1,l2.map(|a| -a))}
|
||||
|> mixer;
|
||||
|> split(_,2)
|
||||
|>|(l1,l2)| {(l1,l2.map(|a| -a))}
|
||||
|> mixer;
|
||||
join(upper,lower)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
項でインデックスされた型=依存型な気がするのよな
|
||||
|
Reference in New Issue
Block a user