<commit_before>
var EPSILON = 10e-12;
var TOLERANCE = 10e-6;
var MAX_RECURSE = 10;
var MAX_ITERATE = 20;

/**
 * This method is analogous to paperjs#PathItem.getIntersections
 */
function getIntersections2( path1, path2 ){
    // First check the bounds of the two paths. If they don't intersect,
    // we don't need to iterate through their curves.
    if (!path1.getBounds().touches(path2.getBounds()))
        return [];
    var locations = [],
        curves1 = path1.getCurves(),
        curves2 = path2.getCurves(),
        length2 = curves2.length,
        values2 = [];
    for (var i = 0; i < length2; i++)
        values2[i] = curves2[i].getValues();
    for (var i = 0, l = curves1.length; i < l; i++) {
        var curve1 = curves1[i],
            values1 = curve1.getValues();
        for (var j = 0; j < length2; j++){
            value2 = values2[j];
            var v1Linear = Curve.isLinear(values1);
            var v2Linear = Curve.isLinear(value2);
            if( v1Linear && v2Linear ){
                _getLineLineIntersection(values1, value2, curve1, curves2[j], locations);
            } else if ( v1Linear || v2Linear ){
                _getCurveLineIntersection(values1, value2, curve1, curves2[j], locations);
            } else {
                Curve.getIntersections2(values1, value2, curve1, curves2[j], locations);
            }
        }<commit_msg>Increase the recusion depth cut-off. And voilà!!<commit_after>
var EPSILON = 10e-12;
var TOLERANCE = 10e-6;
var MAX_RECURSE = 20;
var MAX_ITERATE = 20;

/**
 * This method is analogous to paperjs#PathItem.getIntersections
 */
function getIntersections2( path1, path2 ){
    // First check the bounds of the two paths. If they don't intersect,
    // we don't need to iterate through their curves.
    if (!path1.getBounds().touches(path2.getBounds()))
        return [];
    var locations = [],
        curves1 = path1.getCurves(),
        curves2 = path2.getCurves(),
        length2 = curves2.length,
        values2 = [], i;
    for (i = 0; i < length2; i++)
        values2[i] = curves2[i].getValues();
    for (i = 0, l = curves1.length; i < l; i++) {
        var curve1 = curves1[i],
            values1 = curve1.getValues();
        var v1Linear = Curve.isLinear(values1);
        for (var j = 0; j < length2; j++){
            value2 = values2[j];
            var v2Linear = Curve.isLinear(value2);
            if( v1Linear && v2Linear ){
                _getLineLineIntersection(values1, value2, curve1, curves2[j], locations);
            } else if ( v1Linear || v2Linear ){
                _getCurveLineIntersection(values1, value2, curve1, curves2[j], locations);
            } else {
                Curve.getIntersections2(values1, value2, curve1, curves2[j], locations);
            }
        }
{'fraction_non_alphanumeric': 0.126432664756447, 'fraction_numerical': 0.04154727793696275, 'mean_word_length': 2.2858823529411763, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 3, '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': '6233037', 'n_tokens_mistral': 924, 'n_tokens_neox': 885, 'n_words': 237}