@leolee9086/string-metrics-dice
Version:
Sørensen-Dice 系数算法库
51 lines (46 loc) • 1.69 kB
JavaScript
// 导入所有算法实现
import { computeDiceCoefficientUnroll8, computeDiceDistanceUnroll8, metadata as unroll8Metadata } from '../ultra-unroll8.js';
/**
* 计算两个字符串的 Sørensen-Dice 系数
*
* 使用当前最优算法(Unroll8版本)
*
* @param {string} str1 - 第一个字符串
* @param {string} str2 - 第二个字符串
* @param {import('../schema.js').DiceCoefficientOptions} options - 计算选项
* @returns {number} Dice系数,范围[0,1]
*/
export const computeDiceCoefficient = computeDiceCoefficientUnroll8;
/**
* 计算两个字符串的 Dice 距离(1 - Dice系数)
*
* 使用当前最优算法(Unroll8版本)
*
* @param {string} str1 - 第一个字符串
* @param {string} str2 - 第二个字符串
* @param {import('../schema.js').DiceCoefficientOptions} options - 计算选项
* @returns {number} Dice距离,范围[0,1]
*/
export const computeDiceDistance = computeDiceDistanceUnroll8;
/**
* 获取当前使用的算法信息
* @returns {import('../schema.js').AlgorithmMetadata} 算法元数据
*/
export const getCurrentAlgorithm = () => unroll8Metadata;
/**
* 获取所有可用算法
* @returns {import('../schema.js').StringDistanceAlgorithm[]} 算法列表
*/
export const getAllAlgorithms = () => [
{
name: unroll8Metadata.name,
version: unroll8Metadata.version,
compute: computeDiceCoefficientUnroll8,
metadata: unroll8Metadata
}
];
// 向后兼容的中文函数名
export const 计算Dice系数 = computeDiceCoefficient;
export const 计算Dice距离 = computeDiceDistance;
export const 获取当前算法 = getCurrentAlgorithm;
export const 获取所有算法 = getAllAlgorithms;