ex3
This commit is contained in:
parent
f0cd37fddc
commit
7a02dff345
29 changed files with 3943 additions and 1 deletions
33
ex3/code/task_5.cpp
Normal file
33
ex3/code/task_5.cpp
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
#include "task_4+6.h"
|
||||
#include "task_5.h"
|
||||
#include "timing.h"
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
using namespace std;
|
||||
|
||||
double norm(vector<double> const &x) {
|
||||
size_t N = x.size();
|
||||
double sum = 0.0;
|
||||
for (size_t i = 0; i < N; ++i) {
|
||||
sum += x[i] * x[i];
|
||||
}
|
||||
return sqrt(sum);
|
||||
}
|
||||
|
||||
vector<double> init_norm(size_t N) {
|
||||
vector<double> x(N);
|
||||
for (size_t i = 0; i < N; ++i) {
|
||||
x[i] = i%219 + 1.0;
|
||||
}
|
||||
return x;
|
||||
}
|
||||
|
||||
void benchmark_norm(vector<double> const &x, size_t NLOOPS) {
|
||||
double s(0.0), sum(0.0);
|
||||
for (size_t i = 0; i < NLOOPS; ++i) {
|
||||
s = norm(x);
|
||||
sum += s;
|
||||
}
|
||||
printf("||x|| = %f\n", sum/NLOOPS);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue