INNER CODE UNIT · Python

_canon

simonlin1212/Vibe-Research · calc/cli.py:73

def _canon(obj):
    """规范化用于哈希:整数值浮点转 int(含 -0.0 → 0),dict 键排序。"""
    if isinstance(obj, bool):
        return obj
    if isinstance(obj, float):
        return int(obj) if obj.is_integer() else obj  # 30.0 → 30,-0.0 → 0:数值相等则身份相等
    if isinstance(obj, dict):
        return {str(k): _canon(obj[k]) for k in sorted(obj, key=str)}
    if isinstance(obj, (list, tuple)):
        return [_canon(v) for v in obj]
    return obj


def normalize_refs(evidence_ids: list, calc_ids: list) -> list[dict]:
    refs = []
    for kind, ids in (("evidence", evidence_ids), ("calculation", calc_ids)):
        for rid in ids:
            rid = str(rid).strip()

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…