IMPALGEBRA_BEGIN_NAMESPACE ParabolicFit2D::ParabolicFit2D(const algebra::Vector2Ds& data) { // check that there are at least 3 points IMP_USAGE_CHECK(data.size() > 2, "At least 3 points are required for ParabolicFit2D " << data.size() << " given"); find_regression(data); evaluate_error(data); }
IMPALGEBRA_BEGIN_NAMESPACE LinearFit2D::LinearFit2D(const algebra::Vector2Ds& data, const Floats &errors) { // check that there are at least 3 points IMP_USAGE_CHECK(data.size() > 1, "At least 2 points are required for LinearFit2D " << data.size() << " given"); IMP_USAGE_CHECK(errors.empty() || errors.size()==data.size(), "Either there must be no error bars given or one per" << " point."); find_regression(data, errors); evaluate_error(data, errors); }