-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathrelease_notes.html
More file actions
207 lines (162 loc) · 10.7 KB
/
release_notes.html
File metadata and controls
207 lines (162 loc) · 10.7 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!DOCTYPE html>
<html lang="en" data-content_root="./">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Release Notes — OpenQASM Live Specification documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=d1102ebc" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=12dfc556" />
<link rel="stylesheet" type="text/css" href="_static/colors.css?v=3aae764c" />
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="OpenQASM 3.0 Grammar" href="grammar/index.html" />
<link rel="stylesheet" href="_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="release-notes">
<h1>Release Notes<a class="headerlink" href="#release-notes" title="Link to this heading">¶</a></h1>
<section id="spec-v3-1-0-71">
<span id="release-notes-spec-v3-1-0-71"></span><h2>spec/v3.1.0-71<a class="headerlink" href="#spec-v3-1-0-71" title="Link to this heading">¶</a></h2>
<section id="new-features">
<span id="release-notes-spec-v3-1-0-71-new-features"></span><h3>New Features<a class="headerlink" href="#new-features" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>The types <code class="docutils literal notranslate"><span class="pre">bool</span></code> and (scalar) <code class="docutils literal notranslate"><span class="pre">bit</span></code> are now explicitly described as being completely
interchangeable in expression (r-value) positions, and that <code class="docutils literal notranslate"><span class="pre">bit</span></code> and <code class="docutils literal notranslate"><span class="pre">bit[1]</span></code> are distinct
types. The difference between the types <code class="docutils literal notranslate"><span class="pre">bool</span></code> and <code class="docutils literal notranslate"><span class="pre">bit</span></code> is only in their intended storage
mechanisms; <code class="docutils literal notranslate"><span class="pre">bit</span></code> is the scalar of the register-type <code class="docutils literal notranslate"><span class="pre">bit[n]</span></code>, which is explicitly a
bit-packed type, so cannot be used as the base type of an <code class="docutils literal notranslate"><span class="pre">array</span></code>, while <code class="docutils literal notranslate"><span class="pre">bool</span></code> is a
byte-aligned single-bit integer-like type. <code class="docutils literal notranslate"><span class="pre">bit[1]</span></code> is a register (sequence) type that
happens to be of length one.</p></li>
</ul>
<ul class="simple">
<li><p>Adds a recommendation that pragmas and annotations start with a namespaced
identifier to avoid naming collisions between pragmas and annotations
specified by different implementations.
To support namespaced annotations, the annotations keyword may now include
a dotted (‘.’) list of identifiers.</p></li>
</ul>
<ul class="simple">
<li><p>Added an explicit no-operation statement <code class="docutils literal notranslate"><span class="pre">nop</span> <span class="pre"><qubits>;</span></code>, which can be used to mark qubits as
“used” by a scope (such as a <code class="docutils literal notranslate"><span class="pre">box</span></code>) without implying any operations on them. See <a class="reference internal" href="language/insts.html#nop"><span class="std std-ref">Explicit no-operation</span></a>
for full details.</p></li>
</ul>
</section>
<section id="known-issues">
<span id="release-notes-spec-v3-1-0-71-known-issues"></span><h3>Known Issues<a class="headerlink" href="#known-issues" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>Clarified that <code class="docutils literal notranslate"><span class="pre">sizeof()</span></code> does not operate on bit or qubit registers.</p></li>
</ul>
<ul class="simple">
<li><p>Removed the <cite>pow</cite> function from the built-in arithmetic functions list in the specification.
The <cite>pow</cite> function could not be parsed by the reference grammar because it conflicted with
the <cite>pow</cite> gate modifier. It was also not mentioned in the OpenQASM 3 paper. Use the <cite>**</cite>
operator instead.</p></li>
</ul>
</section>
<section id="upgrade-notes">
<span id="release-notes-spec-v3-1-0-71-upgrade-notes"></span><h3>Upgrade Notes<a class="headerlink" href="#upgrade-notes" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>It has been clarified that arrays and registers of size zero are
allowed; however, integers and angles must have size greater than
zero.</p></li>
</ul>
<ul class="simple">
<li><p>The <code class="docutils literal notranslate"><span class="pre">qubit</span></code> type is no longer a valid base type for an <code class="docutils literal notranslate"><span class="pre">array</span></code>, and it is no longer stated
that the register type <code class="docutils literal notranslate"><span class="pre">qubit[n]</span></code> is equivalent to an <code class="docutils literal notranslate"><span class="pre">array</span></code>; there is no need for these
semantics, and they clashed with the classical considerations and alignment concerns of arrays
in general.</p></li>
</ul>
</section>
<section id="bug-fixes">
<span id="release-notes-spec-v3-1-0-71-bug-fixes"></span><h3>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>Fix a typo in a example of the <code class="docutils literal notranslate"><span class="pre">durationof</span></code> keyword.</p></li>
</ul>
<ul class="simple">
<li><p>Clarify that array type variables are supported as inputs.</p></li>
</ul>
<ul class="simple">
<li><p>Some minor mathematical errors in the descriptions of the explicit gate
actions in <a class="reference internal" href="language/standard_library.html#sdg" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">sdg</span></code></a>, <a class="reference internal" href="language/standard_library.html#rx" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">rx</span></code></a>, <a class="reference internal" href="language/standard_library.html#ry" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">ry</span></code></a>, <a class="reference internal" href="language/standard_library.html#rz" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">rz</span></code></a>, <a class="reference internal" href="language/standard_library.html#crx" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">crx</span></code></a> and
<a class="reference internal" href="language/standard_library.html#cry" title="language/standard_library"><code class="xref oq oq-gate docutils literal notranslate"><span class="pre">cry</span></code></a> were corrected. The gates have not changed their intended
meanings.</p></li>
</ul>
</section>
<section id="other-notes">
<span id="release-notes-spec-v3-1-0-71-other-notes"></span><h3>Other Notes<a class="headerlink" href="#other-notes" title="Link to this heading">¶</a></h3>
<ul class="simple">
<li><p>Update copyright notices.</p></li>
</ul>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="index.html">OpenQASM Live Specification</a></h1>
<h3>Navigation</h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="intro.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="language/index.html">Language</a></li>
<li class="toctree-l1"><a class="reference internal" href="grammar/index.html">OpenQASM 3.0 Grammar</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Release Notes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#spec-v3-1-0-71">spec/v3.1.0-71</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#new-features">New Features</a></li>
<li class="toctree-l3"><a class="reference internal" href="#known-issues">Known Issues</a></li>
<li class="toctree-l3"><a class="reference internal" href="#upgrade-notes">Upgrade Notes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#bug-fixes">Bug Fixes</a></li>
<li class="toctree-l3"><a class="reference internal" href="#other-notes">Other Notes</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/openqasm/openqasm/">GitHub</a></li>
</ul>
<hr />
<ul>
<li class="toctree-l1"><a href="/index.html">Live Version</a></li>
<li class="toctree-l1"><a href="/versions/3.1/index.html">Version 3.1</a></li>
<li class="toctree-l1"><a href="/versions/3.0/index.html">Version 3.0</a></li>
<li class="toctree-l1"><a href="https://github.com/openqasm/openqasm/">GitHub</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="index.html">Documentation overview</a><ul>
<li>Previous: <a href="grammar/index.html" title="previous chapter">OpenQASM 3.0 Grammar</a></li>
</ul></li>
</ul>
</div>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©Copyright 2017-2025, OpenQASM Contributors..
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 7.3.7</a>
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
<a href="_sources/release_notes.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>