Permutation matrices research.
at master 1.0 kB view raw
1#include "lib.hpp" 2#include "prelude.hpp" 3#include <cmath> 4#include <format> 5 6using namespace std; 7/* 8function unseq(lst::Vector{<:Integer})::Vector{Integer} 9 acc = [] 10 for (idx, elem) ∈ enumerate(lst) 11 l, r = splitat(acc, elem) 12 acc = [l;[idx];r] 13 end 14 acc 15end 16*/ 17fn from_indices(Vec<U8> lst) -> Vec<U8> { 18 cout << format("lst: "); 19 for (let e : lst) cout << e << ' '; 20 cout << endl; 21 Vec<U8> acc; 22 for (let [idx, elem] : std::views::enumerate(lst)) { 23 var left = Vec<U64>(acc.begin(), acc.begin() + elem); 24 cout << format("left: "); 25 for (let e : left) cout << e << ' '; 26 cout << endl; 27 let right = Vec<U64>(acc.begin() + elem, acc.end()); 28 cout << format("right: "); 29 for (let e : right) cout << e << ' '; 30 cout << endl; 31 left.push_back(idx); 32 left.insert(left.end(), right.begin(), right.end()); 33 cout << "both: "; 34 for (let e : left) cout << e << ' '; 35 cout << endl; 36 } 37 return acc; 38}