I think the libgit2 design of 0 to 100 is probably a mistake. At the very least, I think we should probably have a constant `GIT_DIFF_MAX_SIMILARITY` and scale the value to that. I seem to recall that core Git uses a 0 to 10,000 scale internally and then normalize it to 0-100 before displaying.

Given that, normalizing the value to a range that makes sense to you seems reasonable to me. I don't know what would feel most "Objective C"-ish. If floats are common in the API, then a normalized float makes sense. I think a lot of C code is super old school and avoids floats because 20 years ago they were really slow.