+ // Product overflowed, use 96-bit operations.
+ // 96-bit value represented as W[1]:W[0].
+ uint64_t W[2];
+ mult96bit(Frequency, N, W);
+ Frequency = div96bit(W, D);
+ return;
+}
+
+BlockFrequency &BlockFrequency::operator*=(const BranchProbability &Prob) {
+ scale(Prob.getNumerator(), Prob.getDenominator());