UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

27 lines (21 loc) 781 B
/** * @file Calculate average similarity for a group of blocks * @description Single responsibility: Calculate average similarity score across multiple code blocks */ const { calculateSemanticSimilarity } = require('../../ast/semanticSimilarityCalculator'); /** * Calculate average similarity for a group of blocks */ function calculateAverageSimilarity(blocks) { if (blocks.length < 2) return 1.0; let totalSimilarity = 0; let comparisons = 0; for (let i = 0; i < blocks.length - 1; i++) { for (let j = i + 1; j < blocks.length; j++) { totalSimilarity += calculateSemanticSimilarity(blocks[i], blocks[j]); comparisons++; } } return comparisons > 0 ? totalSimilarity / comparisons : 0; } module.exports = calculateAverageSimilarity;