MCPcopy Create free account
hub / github.com/idank/explainshell / diff_options

Function diff_options

tools/experiments/eval_size_routing.py:67–87  ·  view source on GitHub ↗
(left_opts: list[Option], right_opts: list[Option])

Source from the content-addressed store, hash-verified

65
66
67def diff_options(left_opts: list[Option], right_opts: list[Option]) -> dict[str, Any]:
68 li = {opt_key(o): o for o in left_opts}
69 ri = {opt_key(o): o for o in right_opts}
70 only_left = set(li) - set(ri)
71 only_right = set(ri) - set(li)
72 common = set(li) & set(ri)
73 text_diffs = sum(1 for k in common if li[k].text.strip() != ri[k].text.strip())
74 arg_diffs = sum(
75 1 for k in common if bool(li[k].has_argument) != bool(ri[k].has_argument)
76 )
77 denom = max(len(li), len(ri), 1)
78 return {
79 "left_n": len(li),
80 "right_n": len(ri),
81 "only_left": len(only_left),
82 "only_right": len(only_right),
83 "common": len(common),
84 "text_diffs": text_diffs,
85 "arg_diffs": arg_diffs,
86 "agreement": len(common) / denom,
87 }
88
89
90def run_extractor(

Callers 1

mainFunction · 0.85

Calls 1

opt_keyFunction · 0.85

Tested by

no test coverage detected