95 for (
size_t d = 1; d < order; d += 2) {
96 auto sampled = aarand::standard_normal<Data_>(engine);
97 vector[d - 1] = sampled.first;
98 vector[d] = sampled.second;
101 vector[order - 1] = aarand::standard_normal<Data_>(engine).first;
103 if (normalize(order, vector)) {
133 auto& l2 = stats.
value;
135 std::vector<Data_> buffer(order);
138 multiply(buffer, vector);
139 l2 = normalize(order, buffer.data());
143 for (
size_t d = 0; d < order; ++d) {
144 Data_ diff = buffer[d] - vector[d];
152 std::copy(buffer.begin(), buffer.end(), vector);