import ( "math.lib" ) ; import ( "complex.lib" ) ; concats = case { (1) => _, 1 : vectorize ; (m) => concats(m - 1), ( _, 1 : vectorize) : #; }; subvect_even(n) = par(i, (n/2), (_, (i, 2 : *) : [])) : concats(n/2); subvect_odd(n) = par(i, (n/2), (_, (i, 2 : * : _, 1 : +) : [])) : concats(n/2); //evens = case { // (2) => _,! ; // (n) => _,!,evens(n - 2); //}; //subvect_even(n) = _ <: evens(n); //odds = case { // (0) => [1] : vectorize(1); // (n) => odds(n - 2) # ( [n - 1] : vectorize(1)); //}; //subvect_odd(n) = _ <: odds(n); eo(n) = _ <: subvect_even(n), subvect_odd(n); output = serialize, serialize : vectorize(1), vectorize(1) : #; //process = (1,2,3,4,5,6,7,8) : evens(8); process = _ : eo(8);