// node_modules/ol/math.js function clamp(value, min, max) { return Math.min(Math.max(value, min), max); } function squaredSegmentDistance(x, y, x1, y1, x2, y2) { const dx = x2 - x1; const dy = y2 - y1; if (dx !== 0 || dy !== 0) { const t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy); if (t > 1) { x1 = x2; y1 = y2; } else if (t > 0) { x1 += dx * t; y1 += dy * t; } } return squaredDistance(x, y, x1, y1); } function squaredDistance(x1, y1, x2, y2) { const dx = x2 - x1; const dy = y2 - y1; return dx * dx + dy * dy; } function solveLinearSystem(mat) { const n = mat.length; for (let i = 0; i < n; i++) { let maxRow = i; let maxEl = Math.abs(mat[i][i]); for (let r = i + 1; r < n; r++) { const absValue = Math.abs(mat[r][i]); if (absValue > maxEl) { maxEl = absValue; maxRow = r; } } if (maxEl === 0) { return null; } const tmp = mat[maxRow]; mat[maxRow] = mat[i]; mat[i] = tmp; for (let j = i + 1; j < n; j++) { const coef = -mat[j][i] / mat[i][i]; for (let k = i; k < n + 1; k++) { if (i == k) { mat[j][k] = 0; } else { mat[j][k] += coef * mat[i][k]; } } } } const x = new Array(n); for (let l = n - 1; l >= 0; l--) { x[l] = mat[l][n] / mat[l][l]; for (let m = l - 1; m >= 0; m--) { mat[m][n] -= mat[m][l] * x[l]; } } return x; } function toDegrees(angleInRadians) { return angleInRadians * 180 / Math.PI; } function toRadians(angleInDegrees) { return angleInDegrees * Math.PI / 180; } function modulo(a, b) { const r = a % b; return r * b < 0 ? r + b : r; } function lerp(a, b, x) { return a + x * (b - a); } function toFixed(n, decimals) { const factor = Math.pow(10, decimals); return Math.round(n * factor) / factor; } function round(n, decimals) { return Math.round(toFixed(n, decimals)); } function floor(n, decimals) { return Math.floor(toFixed(n, decimals)); } function ceil(n, decimals) { return Math.ceil(toFixed(n, decimals)); } function wrap(n, min, max) { if (n >= min && n < max) { return n; } const range = max - min; return ((n - min) % range + range) % range + min; } export { clamp, squaredSegmentDistance, squaredDistance, solveLinearSystem, toDegrees, toRadians, modulo, lerp, toFixed, round, floor, ceil, wrap }; //# sourceMappingURL=chunk-54BTDBAD.js.map