double () { long progressLimit = getProgressLimit(); if (progressLimit == 0) return -1; long progressCount = getProgressCount(); return progressCount > progressLimit ? 1 : (double)progressCount / progressLimit; }