#include "tensor.h"


int main(int argc, char** args){
	// std::vector<int> gre({1,0,3,0,5,0,7,0,0,0,0,12});
	std::vector<int> gre(12);
	
	for (auto [x,i] : std::views::zip(gre,std::views::iota(1,13))) x=i;

	// std::vector<int> gre(16,1);
	// // std::cout<< "	tes\n"; 
	tensor::static_tensor_view<int, int> base(&gre[0], {2,3,2});
	auto [pts, weights] = base.sparsify(true);
	tensor::static_tensor_view_view<int,int> truc(base, {{1},{0,2}, {0,1}}, true);
	// // truc.free_coordinates = {{1},{0,1,2,3,4},{2,3}};
	// std::cout << base[{1,2,1}] << std::endl;
	// tensor::static_tensor_view<int,int> base(&gre[0], {4,4});
	// std::cout << base << std::endl;
	// truc.print_data();
	
	// std::cout << truc << std::endl;
	// base.differentiate(1);
	// std::cout << base << std::endl;
	// base.differentiate(0);
	// std::cout << base << std::endl;
	return 0;
}