예제 #1
0
double ArrayKindProfile::fraction(ArrayData::ArrayKind kind) const {
  auto const idx = getKindIndex(kind);
  if (idx == kNumProfiledArrayKinds - 1) return 0; // untracked kinds
  auto const tot = total();
  if (tot == 0) return 0;
  return (double)m_count[idx] / tot;
}
예제 #2
0
double ArrayKindProfile::fraction(ArrayData::ArrayKind kind) const {
  const auto idx = getKindIndex(kind);
  if (idx == kNumProfiledArrayKinds - 1) return 0; // untracked kinds
  return (double)count[idx] / total();
}
예제 #3
0
void ArrayKindProfile::report(ArrayData::ArrayKind kind) {
  count[getKindIndex(kind)]++;
}