File: prism-qsharp.html

package info (click to toggle)
node-prismjs 1.30.0%2Bdfsg%2B~1.26.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,220 kB
  • sloc: javascript: 27,628; makefile: 9; sh: 7; awk: 4
file content (33 lines) | stat: -rw-r--r-- 847 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<h2>Full example</h2>
<pre><code>namespace Bell {
  open Microsoft.Quantum.Canon;
  open Microsoft.Quantum.Intrinsic;

  operation SetQubitState(desired : Result, target : Qubit) : Unit {
      if desired != M(target) {
          X(target);
      }
  }

  @EntryPoint()
  operation TestBellState(count : Int, initial : Result) : (Int, Int) {

      mutable numOnes = 0;
      use qubit = Qubit();
      for test in 1..count {
          SetQubitState(initial, qubit);
          let res = M(qubit);        

          // Count the number of ones we saw:
          if res == One {
                set numOnes += 1;
          }
      }

      SetQubitState(Zero, qubit); 

  // Return number of times we saw a |0> and number of times we saw a |1>
  Message("Test results (# of 0s, # of 1s): ");
  return (count - numOnes, numOnes);
  }
}</code></pre>