#include <iostream>
#include <vector>
#include <numeric>
#include <cmath>
#include <algorithm>
#include <execution>
// 复杂计算函数
double complexCalculation(double num) {
return std::sin(num) + std::cos(num) + std::log(num);
}
int main() {
std::vector<double> data = {1.0, 2.0, 3.0, 4.0, 5.0};
// 对data中的每个元素应用complexCalculation
std::vector<double> results(data.size());
std::transform(std::execution::par, data.begin(), data.end(), results.begin(), complexCalculation);
// 计算平均值
double sum = std::accumulate(results.begin(), results.end(), 0.0);
double mean = sum / results.size();
// 计算标准差
double squaredDiffSum = 0.0;
std::for_each(std::execution::par, results.begin(), results.end(), [&](double num) {
squaredDiffSum += std::pow(num - mean, 2);
});
double stdDev = std::sqrt(squaredDiffSum / results.size());
// 标准化结果
std::transform(std::execution::par, results.begin(), results.end(), results.begin(), [&](double num) {
return (num - mean) / stdDev;
});
// 输出结果
for (double result : results) {
std::cout << result << " ";
}
std::cout << std::endl;
return 0;
}