rem: return static_cast<int> (- ai->quality * ai->capability + bi->quality * bi->capability);
add: float acmp, bcmp; acmp = ai->quality * ai->capability; bcmp = bi->quality * bi->capability; if (acmp == bcmp) return 0; else if (acmp > bcmp) return -1; else return 1;
context: compare_data(const void *a, const void *b){	register const translator_info *ai = 		reinterpret_cast<const translator_info *> (a);			register const translator_info *bi = 		reinterpret_cast<const translator_info *> (b);		return static_cast<int> (- ai->quality * ai->capability +		bi->quality * bi->capability);}