<commit_before>#ifndef ASTI_IMPLICIT
#define ASTI_IMPLICIT
#include <vector>
#include <memory>
#include "point_fwd.hpp"
#include "bspline_fwd.hpp"
#include "spline_traits.hpp"

namespace geom {
struct implicitCurveFormBase
{
    implicitCurveFormBase(std::vector<double> coefficients_,
                          int qdeg_):coefficients(std::move(coefficients_)),
        qdeg(qdeg_)
    {
    }
	double eval3d(const point3d_t &p3d) const;
    virtual double eval(const point3d_t& p) const = 0 ;
	double eval(const point2d_t& p) const;
protected:
    int qdeg;
    std::vector<double> coefficients;
};


std::vector<std::unique_ptr < implicitCurveFormBase> >
implicitize(const rational_bspline<point2d_t, regular_tag>& spl, int qdeg);

std::vector<std::unique_ptr < implicitCurveFormBase> >
implicitize(const bspline<point2d_t>& spl, int qdeg);

std::unique_ptr < implicitCurveFormBase >
implicitize(const std::function<point3d_t(double )>&, int qdeg, int sdeg);

}
#endif // ASTI_IMPLICIT<commit_msg>leak fix<commit_after>#ifndef ASTI_IMPLICIT
#define ASTI_IMPLICIT
#include <vector>
#include <memory>
#include "point_fwd.hpp"
#include "bspline_fwd.hpp"
#include "spline_traits.hpp"

namespace geom {
struct implicitCurveFormBase
{
    implicitCurveFormBase(std::vector<double> coefficients_,
                          int qdeg_):coefficients(std::move(coefficients_)),
        qdeg(qdeg_)
    {
    }
    double eval3d(const point3d_t &p3d) const;
    virtual double eval(const point3d_t& p) const = 0 ;
    double eval(const point2d_t& p) const;
    virtual ~implicitCurveBase(){}
protected:
    int qdeg;
    std::vector<double> coefficients;
};


std::vector<std::unique_ptr < implicitCurveFormBase> >
implicitize(const rational_bspline<point2d_t, regular_tag>& spl, int qdeg);

std::vector<std::unique_ptr < implicitCurveFormBase> >
implicitize(const bspline<point2d_t>& spl, int qdeg);

std::unique_ptr < implicitCurveFormBase >
implicitize(const std::function<point3d_t(double )>&, int qdeg, int sdeg);

}
#endif // ASTI_IMPLICIT
{'fraction_non_alphanumeric': 0.11738703339882121, 'fraction_numerical': 0.008840864440078585, 'mean_word_length': 5.248466257668712, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5790612', 'n_tokens_mistral': 729, 'n_tokens_neox': 729, 'n_words': 142}