BranchProbability::print returns void now.
[oota-llvm.git] / lib / Support / BranchProbability.cpp
1 //===-------------- lib/Support/BranchProbability.cpp -----------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file implements Branch Probability class.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #include "llvm/Support/BranchProbability.h"
15 #include "llvm/Support/Debug.h"
16 #include "llvm/Support/raw_ostream.h"
17
18 using namespace llvm;
19
20 BranchProbability::BranchProbability(uint32_t n, uint32_t d) {
21   assert(d > 0 && "Denomiator cannot be 0!");
22   assert(n <= d && "Probability cannot be bigger than 1!");
23   N = n;
24   D = d;
25 }
26
27 void BranchProbability::print(raw_ostream &OS) const {
28   OS << N << " / " << D << " = " << ((double)N / D);
29 }
30
31 void BranchProbability::dump() const {
32   print(dbgs());
33   dbgs() << "\n";
34 }
35
36 namespace llvm {
37
38 raw_ostream &operator<<(raw_ostream &OS, const BranchProbability &Prob) {
39   Prob.print(OS);
40   return OS;
41 }
42
43 }