Not quite sure, but shouldn't `@progress * 100 / @length` do basically the same?