| 61 | |
| 62 | template <typename data_t > |
| 63 | QError CPUImplQPU<data_t>::pMeasure(Qnum& qnum, prob_tuple &probs, int select_max) |
| 64 | { |
| 65 | pMeasure(qnum, probs); |
| 66 | if (select_max == -1 || probs.size() <= select_max) |
| 67 | { |
| 68 | stable_sort(probs.begin(), probs.end(), probcompare); |
| 69 | return qErrorNone; |
| 70 | } |
| 71 | else |
| 72 | { |
| 73 | stable_sort(probs.begin(), probs.end(), probcompare); |
| 74 | probs.erase(probs.begin() + select_max, probs.end()); |
| 75 | } |
| 76 | return qErrorNone; |
| 77 | } |
| 78 | |
| 79 | template <typename data_t > |
| 80 | QError CPUImplQPU<data_t>::pMeasure(Qnum& qnum, prob_vec &probs) |