diff --git a/mainEx4.cpp b/mainEx4.cpp deleted file mode 100644 index 2d9a96a..0000000 --- a/mainEx4.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include -using namespace std; - -double NormalSeries(size_t N) -{ - double sum = 0.0; - for (size_t i = 1; i <= N; ++i) - { - sum += 1.0 / (double(i) * double(i)); - } - return sum; -} - - -double KahanSeries(size_t N) -{ - double sum = 0.0; - double c = 0.0; - for (size_t i = 1; i <= N; ++i) { - double term = 1.0 / (double(i) * double(i)); - double y = term - c; - double t = sum + y; - c = (t - sum) - y; - sum = t; - } - return sum; -} - -int main() -{ - const double pi2_over_6 = (M_PI * M_PI) / 6.0; - // vector ns = {10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000}; - vector ns = {1000000, 10000000, 100000000, 500000000, 1000000000}; - - - for (size_t n : ns) - { - double s_norm = NormalSeries(n); - double s_kahan = KahanSeries(n); - double err_norm = fabs(s_norm - pi2_over_6); - double err_kahan = fabs(s_kahan - pi2_over_6); - - cout.setf(ios::fixed); - cout.precision(10); - cout << "\n--- n = " << n << " ---" << endl; - cout << "Normal summation: " << s_norm << endl; - cout << "Normal error: " << err_norm << endl; - cout << "Kahan summation: " << s_kahan << endl; - cout << "Kahan error: " << err_kahan << endl; - } - - return 0; -}