// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once class CorrelationCoefficient { double sum_x = 0.0; double sum_y = 0.0; double sum_x2 = 0.0; double sum_y2 = 0.0; double sum_xy = 0.0; double sum_w = 0.0; int n_cc = 0; public: void Add(double x, double y) { Add(x, y, 1.0); } // Weighted pair: a plain Pearson when every weight is the same. void Add(double x, double y, double w); [[nodiscard]] double GetCC() const; };