Beispiel #1
0
 def test_get_stats(self):
     """test get_stats
     """
     qc = QCirc().x(0).z(2).h(0).h(0).cx(0, 1).h(0).h(1).crz(1,
                                                             0,
                                                             phase=0.1).rx(
                                                                 1,
                                                                 phase=0.2)
     qc.measure(qid=[0, 1], cid=[0, 1]).reset(qid=[0])
     stats = qc.get_stats()
     self.assertEqual(stats['qubit_num'], 3)
     self.assertEqual(stats['gate_num'], 12)
     self.assertEqual(stats['gate_freq']['h'], 4)
     self.assertEqual(stats['gate_freq']['x'], 1)
     self.assertEqual(stats['gate_freq']['z'], 1)
     self.assertEqual(stats['gate_freq']['cx'], 1)
     self.assertEqual(stats['gate_freq']['crz'], 1)
     self.assertEqual(stats['gate_freq']['rx'], 1)
     self.assertEqual(stats['gate_freq']['measure'], 2)
     self.assertEqual(stats['gate_freq']['reset'], 1)
     self.assertEqual(stats['gatetype_freq']['unitary'], 9)
     self.assertEqual(stats['gatetype_freq']['non-unitary'], 3)
     self.assertEqual(stats['gatetype_freq']['clifford'], 7)
     self.assertEqual(stats['gatetype_freq']['non-clifford'], 2)