#include import Crafter.Math; import std; using namespace Crafter; int main() { // std::random_device rd; // std::mt19937 gen(rd()); // std::uniform_real_distribution dist(0, 100); // Vector<_Float16, 8, 8> vA; // for(std::uint32_t i = 0; i < 8; i++) { // vA.v[i] = dist(gen); // } // VectorF16<4, 2, 1> vfA(&vA); // Vector<_Float16, 16, 16> vB; // for(std::uint32_t i = 0; i < 16; i++) { // vB.v[i] = dist(gen); // } // VectorF16<4, 2, 2> vfB(&vB); // VectorF16<4, 2, 1> vfC = vfA + vfB; // auto start = std::chrono::high_resolution_clock::now(); // for(std::uint32_t i = 0; i < 90000000; i++) { // vfC = vfC + vfB; // } // auto end = std::chrono::high_resolution_clock::now(); // std::cout << std::chrono::duration_cast(end-start) << std::endl; // std::println("{}", vfC); // Vector<_Float16, 8, 8> vA; // for(std::uint32_t i = 0; i < 8; i++) { // vA.v[i] = i; // } // VectorF16<8, 1, 1> vfA(&vA); // VectorF16<8, 1, 1> dot = VectorF16<8, 1, 1>::Dot(vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA, vfA); // std::println("{}", dot); // Vector vB; // for(std::uint32_t i = 0; i < 8; i++) { // vB.v[i] = i; // } // float test = Vector::Dot(vA, vA); // std::println("{}", test); }