28 std::random_device rd;
29 std::mt19937 gen(rd());
30 std::uniform_real_distribution<> dis(0, 1);
31 for (
size_t i = 0; i < x.size(); i += 9)
34 real_t e1 = 2 * M_PI * dis(gen);
35 real_t e2 = 2 * M_PI * dis(gen);
36 real_t e3 = 2 * M_PI * dis(gen);
46 x[i + 0] = c1 * c3 - c2 * s1 * s3;
47 x[i + 1] = -c1 * s3 - c2 * c3 * s1;
49 x[i + 3] = c3 * s1 + c1 * c2 * s3;
50 x[i + 4] = c1 * c2 * c3 - s1 * s3;