nsqdriver 0.12.17__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nsqdriver/NS_CST.py +260 -0
- nsqdriver/NS_DDS_v3.py +591 -0
- nsqdriver/NS_DDS_v4.py +778 -0
- nsqdriver/NS_MCI.py +597 -0
- nsqdriver/NS_QSYNC.py +812 -0
- nsqdriver/__init__.py +10 -0
- nsqdriver/common.py +20 -0
- nsqdriver/compiler/__init__.py +0 -0
- nsqdriver/compiler/assembler.cp310-win_amd64.pyd +0 -0
- nsqdriver/compiler/ns_wave.cp310-win_amd64.pyd +0 -0
- nsqdriver/compiler/ns_wave.pyi +151 -0
- nsqdriver/compiler/py_wave_asm.cp310-win_amd64.pyd +0 -0
- nsqdriver/compiler/py_wave_asm.pyi +29 -0
- nsqdriver/nswave/__init__.py +9 -0
- nsqdriver/nswave/_asm.pyi +97 -0
- nsqdriver/nswave/_checkers.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_checkers.pyi +47 -0
- nsqdriver/nswave/_errors.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_errors.pyi +24 -0
- nsqdriver/nswave/_functions.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_functions.pyi +34 -0
- nsqdriver/nswave/_ir.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_ir.pyi +283 -0
- nsqdriver/nswave/_ir_pass.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_ir_pass.pyi +7 -0
- nsqdriver/nswave/_optimizations.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_optimizations.pyi +16 -0
- nsqdriver/nswave/_rules.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_rules.pyi +56 -0
- nsqdriver/nswave/_simulator.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_translate.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/_translate.pyi +12 -0
- nsqdriver/nswave/kernel.cp310-win_amd64.pyd +0 -0
- nsqdriver/nswave/kernel.pyi +57 -0
- nsqdriver/wrapper/AWG_ADC.py +534 -0
- nsqdriver/wrapper/ND_NSMCI.py +245 -0
- nsqdriver/wrapper/__init__.py +0 -0
- nsqdriver-0.12.17.dist-info/METADATA +117 -0
- nsqdriver-0.12.17.dist-info/RECORD +41 -0
- nsqdriver-0.12.17.dist-info/WHEEL +5 -0
- nsqdriver-0.12.17.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
from nsqdriver import MCIDriver, QSYNCDriver
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class _XYChannel:
|
|
6
|
+
def __init__(self, mci: "DeviceBase", ch=1):
|
|
7
|
+
self.mci = mci
|
|
8
|
+
self.ch = ch
|
|
9
|
+
self.to_zero = np.zeros((16,))
|
|
10
|
+
self.to_one = np.ones((16,))
|
|
11
|
+
self.en = True
|
|
12
|
+
self.mode = 0
|
|
13
|
+
self.off = 0
|
|
14
|
+
|
|
15
|
+
def wave(self, w):
|
|
16
|
+
self.wavex(w, self.ch)
|
|
17
|
+
|
|
18
|
+
def wavex(self, w, idx):
|
|
19
|
+
if np.max(np.abs(w)) < 1e-30:
|
|
20
|
+
wr = np.zeros(16)
|
|
21
|
+
else:
|
|
22
|
+
wr = w
|
|
23
|
+
self.mci.mci_driver.set("Waveform", wr, idx)
|
|
24
|
+
|
|
25
|
+
def arm(self, k=None):
|
|
26
|
+
self.mci.mci_driver.set('PushWaveCache')
|
|
27
|
+
|
|
28
|
+
def trig_del(self, delay):
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
def output_del(self, delay):
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
def __del__(self):
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
def output(self, b):
|
|
38
|
+
self.en = bool(b)
|
|
39
|
+
if not self.en:
|
|
40
|
+
self.mci.mci_driver.set("Waveform", self.to_zero, self.ch)
|
|
41
|
+
|
|
42
|
+
def mode(self, m_):
|
|
43
|
+
...
|
|
44
|
+
|
|
45
|
+
def offsetx(self, off, idx):
|
|
46
|
+
self.mci.mci_driver.set('Waveform', off*self.to_one, idx)
|
|
47
|
+
self.off = off
|
|
48
|
+
|
|
49
|
+
def offset(self, off):
|
|
50
|
+
self.offsetx(off, self.ch)
|
|
51
|
+
|
|
52
|
+
W = {
|
|
53
|
+
"wave": wave,
|
|
54
|
+
"output": output,
|
|
55
|
+
"trig_del": trig_del,
|
|
56
|
+
"output_del": output_del,
|
|
57
|
+
"mode": mode,
|
|
58
|
+
"offset": offset,
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Q = {"arm": arm}
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
class _ZChannel(_XYChannel):
|
|
65
|
+
pass
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class _Probe:
|
|
69
|
+
def __init__(self, mci: "DeviceBase", ch=1):
|
|
70
|
+
self.mci = mci
|
|
71
|
+
self.ch = ch
|
|
72
|
+
self.freqList = []
|
|
73
|
+
self.SGS = None # single shot temp cache
|
|
74
|
+
self.AVG = None # average temp cache
|
|
75
|
+
self.depth = 2000
|
|
76
|
+
self._width = 1000
|
|
77
|
+
self.start = 500
|
|
78
|
+
self.demod = 1
|
|
79
|
+
self.averaged_I = np.zeros((16384, )) # 直播直采,相当于只有I路数据
|
|
80
|
+
|
|
81
|
+
def depth(self, depth_):
|
|
82
|
+
self.depth = depth_
|
|
83
|
+
self.mci.mci_driver.set('PointNumber', depth_, self.ch)
|
|
84
|
+
|
|
85
|
+
def demodulation_on(self, demod_):
|
|
86
|
+
self.demod = int(demod_)
|
|
87
|
+
|
|
88
|
+
def start(self, start_):
|
|
89
|
+
self.start = start_
|
|
90
|
+
self.mci.mci_driver.set('TriggerDelay', start_, self.ch)
|
|
91
|
+
|
|
92
|
+
def width(self, width_):
|
|
93
|
+
self._width = width_/4e9
|
|
94
|
+
self.mci.mci_driver.set('PointNumber', width_, self.ch)
|
|
95
|
+
|
|
96
|
+
def freqs(self, *freqList_):
|
|
97
|
+
self.freqList = freqList_
|
|
98
|
+
self.mci.mci_driver.set('FreqList', freqList_, self.ch)
|
|
99
|
+
|
|
100
|
+
def shot(self, _shot):
|
|
101
|
+
self.mci.mci_driver.set('Shot', _shot)
|
|
102
|
+
|
|
103
|
+
def measure(self, k=None):
|
|
104
|
+
self.mci.mci_driver.set('StartCapture')
|
|
105
|
+
if self.demod:
|
|
106
|
+
self.SGS = self.mci.mci_driver.get('IQ', self.ch)
|
|
107
|
+
self.AVG = np.mean(self.SGS, axis=0)
|
|
108
|
+
else:
|
|
109
|
+
self.averaged_I = np.mean(self.mci.mci_driver.get('TraceIQ', self.ch), axis=0)
|
|
110
|
+
|
|
111
|
+
def single_shot(self, k=None):
|
|
112
|
+
return self.SGS
|
|
113
|
+
|
|
114
|
+
def average(self, k=None):
|
|
115
|
+
return self.AVG
|
|
116
|
+
|
|
117
|
+
def trace_I(self, k=None):
|
|
118
|
+
return self.averaged_I
|
|
119
|
+
|
|
120
|
+
def trace_Q(self, k=None):
|
|
121
|
+
return self.averaged_I
|
|
122
|
+
|
|
123
|
+
def __del__(self):
|
|
124
|
+
pass
|
|
125
|
+
|
|
126
|
+
W = {
|
|
127
|
+
"demod": demodulation_on,
|
|
128
|
+
"depth": depth,
|
|
129
|
+
"width": width,
|
|
130
|
+
"start": start,
|
|
131
|
+
"freqs": freqs,
|
|
132
|
+
"shot": shot,
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
Q = {
|
|
136
|
+
"measure": measure,
|
|
137
|
+
"A": average,
|
|
138
|
+
"S": single_shot,
|
|
139
|
+
"traceI": trace_I,
|
|
140
|
+
"traceQ": trace_Q
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
# one box need one class
|
|
145
|
+
class DeviceBase:
|
|
146
|
+
def __init__(self):
|
|
147
|
+
self.mci_driver = MCIDriver('127.0.0.1')
|
|
148
|
+
self.qsync_driver = QSYNCDriver('127.0.0.1')
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
class NS_MCI(DeviceBase):
|
|
152
|
+
def __init__(self, addr, srate=10e9, mixmode=2, ref_clk='in'):
|
|
153
|
+
"""!
|
|
154
|
+
此类涉及到系统同步,放到最后实例化
|
|
155
|
+
@param addr: 设备ip
|
|
156
|
+
@param srate: OUT通道采样率
|
|
157
|
+
@param mixmode: 为2时开启OUT通道混合模式,增强第二奈奎斯特区输出
|
|
158
|
+
@param ref_clk: 设备参考信号来源,不接外输出100M时都配置为'in'
|
|
159
|
+
"""
|
|
160
|
+
super(NS_MCI, self).__init__()
|
|
161
|
+
self.mci_driver = MCIDriver(addr)
|
|
162
|
+
self.qsync = QSYNCDriver(addr)
|
|
163
|
+
self.srate = srate
|
|
164
|
+
self.mixmode = mixmode
|
|
165
|
+
self.ref_clk = ref_clk
|
|
166
|
+
self.connect()
|
|
167
|
+
|
|
168
|
+
def connect(self):
|
|
169
|
+
mci_params = {'DArate': self.srate, 'MixMode': self.mixmode}
|
|
170
|
+
qsync_params = {'RefClock': self.ref_clk}
|
|
171
|
+
|
|
172
|
+
self.qsync.open(system_parameter=qsync_params)
|
|
173
|
+
self.mci_driver.open(system_parameter=mci_params)
|
|
174
|
+
self.qsync.sync_system()
|
|
175
|
+
|
|
176
|
+
self.mci_driver.set('EnableWaveCache', True)
|
|
177
|
+
|
|
178
|
+
for _ch in range(22):
|
|
179
|
+
xy_ch = _ch+1
|
|
180
|
+
setattr(self, f'OUT{xy_ch}', _XYChannel(self, xy_ch))
|
|
181
|
+
for _ch in range(2):
|
|
182
|
+
probe_ch = _ch+1
|
|
183
|
+
setattr(self, f'IN{probe_ch}', _Probe(self, probe_ch))
|
|
184
|
+
|
|
185
|
+
def trig_interval(self, interval):
|
|
186
|
+
self.interval = interval
|
|
187
|
+
self.qsync.set('TrigPeriod', int(interval))
|
|
188
|
+
|
|
189
|
+
def trig_count(self, count_):
|
|
190
|
+
self.qsync.set('Shot', int(count_))
|
|
191
|
+
|
|
192
|
+
def trig(self):
|
|
193
|
+
self.qsync.set('GenerateTrig', self.interval)
|
|
194
|
+
|
|
195
|
+
def awg_arm(self):
|
|
196
|
+
self.mci_driver.set('PushWaveCache')
|
|
197
|
+
|
|
198
|
+
def __del__(self):
|
|
199
|
+
pass
|
|
200
|
+
|
|
201
|
+
W = {
|
|
202
|
+
"trig_interval": trig_interval,
|
|
203
|
+
"trig_count": trig_count,
|
|
204
|
+
"connect": connect,
|
|
205
|
+
"trig": trig,
|
|
206
|
+
"awg_arm": awg_arm,
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
Q = {
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
class NS_Z(DeviceBase):
|
|
214
|
+
def __init__(self, addr, mixmode=2):
|
|
215
|
+
"""!
|
|
216
|
+
此类负责控制24 Z OUT通道的设备,采样率固定为2Gsps,mixmode固定为1
|
|
217
|
+
@param addr: 设备ip
|
|
218
|
+
@param mixmode: 为1时关闭OUT通道混合模式
|
|
219
|
+
"""
|
|
220
|
+
super(NS_Z, self).__init__()
|
|
221
|
+
self.mci_driver = MCIDriver(addr)
|
|
222
|
+
self.qsync = QSYNCDriver(addr)
|
|
223
|
+
self.srate = 2e9
|
|
224
|
+
self.mixmode = 1
|
|
225
|
+
self.connect()
|
|
226
|
+
|
|
227
|
+
def connect(self):
|
|
228
|
+
mci_params = {'DArate': self.srate, 'MixMode': self.mixmode}
|
|
229
|
+
self.mci_driver.open(system_parameter=mci_params)
|
|
230
|
+
|
|
231
|
+
self.mci_driver.set('EnableWaveCache', True)
|
|
232
|
+
|
|
233
|
+
for _ch in range(24):
|
|
234
|
+
xy_ch = _ch+1
|
|
235
|
+
setattr(self, f'OUT{xy_ch}', _ZChannel(self, xy_ch))
|
|
236
|
+
|
|
237
|
+
def awg_arm(self):
|
|
238
|
+
self.mci_driver.set('PushWaveCache')
|
|
239
|
+
|
|
240
|
+
W = {
|
|
241
|
+
"connect": connect,
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
Q = {
|
|
245
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nsqdriver
|
|
3
|
+
Version: 0.12.17
|
|
4
|
+
Summary: Q series measurement and control equipment driver interface
|
|
5
|
+
Home-page: https://g2hoyqcmh4.feishu.cn/wiki/Jgt1wxlKniveYQkqCgbcJHsMnoe
|
|
6
|
+
Classifier: Intended Audience :: Developers
|
|
7
|
+
Classifier: Topic :: Scientific/Engineering :: Interface Engine/Protocol Translator
|
|
8
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
9
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
10
|
+
Classifier: Operating System :: POSIX
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Requires-Dist: numpy>=1.18
|
|
19
|
+
Requires-Dist: astor>=0.8.1
|
|
20
|
+
Provides-Extra: waveforms
|
|
21
|
+
Requires-Dist: waveforms; extra == "waveforms"
|
|
22
|
+
Dynamic: classifier
|
|
23
|
+
Dynamic: description
|
|
24
|
+
Dynamic: description-content-type
|
|
25
|
+
Dynamic: home-page
|
|
26
|
+
Dynamic: provides-extra
|
|
27
|
+
Dynamic: requires-dist
|
|
28
|
+
Dynamic: requires-python
|
|
29
|
+
Dynamic: summary
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
_ _ ____ ___ ____ _
|
|
33
|
+
| \ | | / ___| / _ \ | _ \ _ __ (_) __ __ ___ _ __
|
|
34
|
+
| \| | \___ \ | | | | | | | | | '__| | | \ \ / / / _ \ | '__|
|
|
35
|
+
| |\ | ___) | | |_| | | |_| | | | | | \ V / | __/ | |
|
|
36
|
+
|_| \_| |____/ \__\_\ |____/ |_| |_| \_/ \___| |_|
|
|
37
|
+
```
|
|
38
|
+
***
|
|
39
|
+
|
|
40
|
+
### 简介
|
|
41
|
+
NSQDriver为一套测控系列设备的Python通用驱动接口。可使用Python作为编程语言,基于此驱动接口可以实现对测控设备的控制,进而完成各种超导量子芯片的表征实验和高保真门操作。
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
+------------------------+
|
|
45
|
+
| Python |
|
|
46
|
+
| +------------------+
|
|
47
|
+
| | NSQDriver |
|
|
48
|
+
+------------------------+
|
|
49
|
+
: : :
|
|
50
|
+
+---------- : -----+
|
|
51
|
+
: : :
|
|
52
|
+
V V V
|
|
53
|
+
+-----------+ +-----------+ +-----------+
|
|
54
|
+
| Device A | | Device B | | QSYNC |
|
|
55
|
+
+-----------+ +-----------+ +-----------+
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
NSQDriver接口可用于统一控制Q100/PQ系列测控仪器,可详细控制每台仪器每个OUT、IN通道的播放与采集行为,以及查看设备的运行状态等。在一个多台测控设备组成的多比特测控系统中,可以有效的在软件层面实现对系统中每台设备的详细控制。
|
|
59
|
+
|
|
60
|
+
***
|
|
61
|
+
### 快速开始
|
|
62
|
+
- 驱动接口的通用流程如下
|
|
63
|
+
```python
|
|
64
|
+
from nsqdriver import MCIDriver, QSYNCDriver
|
|
65
|
+
|
|
66
|
+
# 实例化设备驱动接口
|
|
67
|
+
driver = MCIDriver('127.0.0.1')
|
|
68
|
+
qsync = QSYNCDriver('127.0.0.1')
|
|
69
|
+
|
|
70
|
+
# 连接设备
|
|
71
|
+
qsync.open()
|
|
72
|
+
driver.open()
|
|
73
|
+
|
|
74
|
+
# 初始化系统
|
|
75
|
+
qsync.sync_system()
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# 相关参数,参数细节相关参考 8.可用参数列表
|
|
79
|
+
driver.set('Shot', 1024)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
- NSWave语言
|
|
83
|
+
- NSWave是一种对于Sequence序列发生技术的配套编程语言,属于python语法的子集,支持与python程序进行混编
|
|
84
|
+
- Sequence序列发生模式将测控所需的各种门的编辑由主控计算机直接生成波形转化成了设备实时计算
|
|
85
|
+
- 提供了一套直观的时序编辑接口
|
|
86
|
+
```python
|
|
87
|
+
from nsqdriver import nswave as nw
|
|
88
|
+
from nsqdriver import MCIDriver
|
|
89
|
+
import numpy as np
|
|
90
|
+
|
|
91
|
+
@nw.kernel
|
|
92
|
+
def program(envelope: np.ndarray):
|
|
93
|
+
srate: nw.Var = 8e9
|
|
94
|
+
time_width: nw.Var = 6e-6
|
|
95
|
+
freq: nw.Var = 4.1e9
|
|
96
|
+
time_line: np.ndarray = np.linspace(0, 6e-6, int(time_width * srate + 1))
|
|
97
|
+
wave: np.ndarray = np.cos(2 * np.pi * time_line * freq)
|
|
98
|
+
frame_0: nw.Frame = nw.ins_frame(0e9, 0*np.pi)
|
|
99
|
+
frame_1: nw.Frame = nw.ins_frame(4.3e9, 0*np.pi)
|
|
100
|
+
envelope_0: nw.Envelope = nw.ins_envelope(wave)
|
|
101
|
+
envelope_1: "nw.Envelope" = nw.evlp_gaussian(2e-6, srate)
|
|
102
|
+
envelope_2: nw.Envelope = nw.ins_envelope(envelope)
|
|
103
|
+
|
|
104
|
+
nw.wait_for_trigger()
|
|
105
|
+
nw.reset_frame([frame_0, frame_1])
|
|
106
|
+
nw.wait(3.2e-6)
|
|
107
|
+
nw.play_wave(envelope_1, frame_1)
|
|
108
|
+
nw.play_wave(envelope_0, frame_0)
|
|
109
|
+
nw.inc_phase(frame_1, np.pi)
|
|
110
|
+
nw.play_wave(envelope_2, frame_1)
|
|
111
|
+
|
|
112
|
+
return nw.Kernel()
|
|
113
|
+
|
|
114
|
+
driver: MCIDriver
|
|
115
|
+
envelope = np.ones((10240, ))
|
|
116
|
+
driver.set("Program", program(envelope), 'S5-O1')
|
|
117
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
nsqdriver/NS_CST.py,sha256=zA5YcM65v66EqwBnplDvA6HM0I-y8damDOerE2CKyZE,8137
|
|
2
|
+
nsqdriver/NS_DDS_v3.py,sha256=FZEe6ivLhlmZrNhNyDiDi7vx_CkFBULUtx_V_m-SsWY,24371
|
|
3
|
+
nsqdriver/NS_DDS_v4.py,sha256=y6zIjrNuT-s-qJZCBbeVJdh10r27nPAU3f8sYAKWsms,35219
|
|
4
|
+
nsqdriver/NS_MCI.py,sha256=s8eo0oVt-p4Ewdd2JRJjMxmSOJPaE68UUS9FrKviXkM,22850
|
|
5
|
+
nsqdriver/NS_QSYNC.py,sha256=ofSh0CZBQIdXFJ_IBklhuzEPy5Q7l_c39pahkkUUBeo,28827
|
|
6
|
+
nsqdriver/__init__.py,sha256=U1Uh-DWR0WvPs3qnHnSEDCseW0vIzXiQQGPc3wqVqZw,373
|
|
7
|
+
nsqdriver/common.py,sha256=5BRActb9TgNdVwWtfuZ_gki47H1WbABzYr5XbxLKlh4,519
|
|
8
|
+
nsqdriver/compiler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
nsqdriver/compiler/assembler.cp310-win_amd64.pyd,sha256=dgqjNvii5Cy4XXHrnkjii12IIq_ayVK4gqnCvvdFBYk,381952
|
|
10
|
+
nsqdriver/compiler/ns_wave.cp310-win_amd64.pyd,sha256=vGF0IWRHRtBovC470Uo0TfwFuzk2BhZb4pyLgS-4Fjc,199680
|
|
11
|
+
nsqdriver/compiler/ns_wave.pyi,sha256=axQaxrMaKRPx8k9sDVlRj3SjR03AmXUDzkVW4D_2RJw,3975
|
|
12
|
+
nsqdriver/compiler/py_wave_asm.cp310-win_amd64.pyd,sha256=yHUw8DuaKss6EICsX2oP2w9TNelMRXCENdZ5IY00-W0,270848
|
|
13
|
+
nsqdriver/compiler/py_wave_asm.pyi,sha256=PqEZuNt83CCu_FJUczUjStowOz2TBgvfIytGanFPHuQ,685
|
|
14
|
+
nsqdriver/nswave/__init__.py,sha256=IrZVIXE20TPB_xESrzuAibuf7fWeBSWdi6jSD-sGD8I,317
|
|
15
|
+
nsqdriver/nswave/_asm.pyi,sha256=f8IjCLPIocBZXTC8F5GFTlI6ZDa5-hhShJPjL166K4o,2846
|
|
16
|
+
nsqdriver/nswave/_checkers.cp310-win_amd64.pyd,sha256=lNhM93y6Kct4gc153AGoNdFVPxHEDtjBPwxf0N7nI3Q,196608
|
|
17
|
+
nsqdriver/nswave/_checkers.pyi,sha256=931KCK3B87dE0qjtWcEt6C-_KSIdH0RRiIYer8p6Tgg,1459
|
|
18
|
+
nsqdriver/nswave/_errors.cp310-win_amd64.pyd,sha256=XSDWTYbC6cJS55s1TKRNGwJcRN2LJYegpX6_PiQjCPQ,70656
|
|
19
|
+
nsqdriver/nswave/_errors.pyi,sha256=A4LLc1zu6blJgmaAW_Wdx19jvFe1fkIggkTgYaQ8BIM,664
|
|
20
|
+
nsqdriver/nswave/_functions.cp310-win_amd64.pyd,sha256=lzRz7iRx_NqZ4VwcAgHCD0AaHAVaV1Wgbzsd7hvuzPo,212480
|
|
21
|
+
nsqdriver/nswave/_functions.pyi,sha256=wOzfZITAzupxAONxGELNF_U-XMy1CTdr8iU8UeszTQk,1992
|
|
22
|
+
nsqdriver/nswave/_ir.cp310-win_amd64.pyd,sha256=-2U0GenCCGNKgMu2rZe_on7gy5z-krCujhcnqWxDTBA,515072
|
|
23
|
+
nsqdriver/nswave/_ir.pyi,sha256=nPh7se2s1D80zMLF_bSrA4WpKI7uk-hrLRPs5JHadxc,7413
|
|
24
|
+
nsqdriver/nswave/_ir_pass.cp310-win_amd64.pyd,sha256=vQCIgAT0axbrqTITzrYA-aQrJTmfsd9c1Zx6iIXdm_0,52736
|
|
25
|
+
nsqdriver/nswave/_ir_pass.pyi,sha256=UmQVLgcfX1rw9HuMorRCensJtxB4b7zh7uyIIlTF_A0,289
|
|
26
|
+
nsqdriver/nswave/_optimizations.cp310-win_amd64.pyd,sha256=hnZRbkw7cJk7E4qIL_5PPZHPsazs01lGEzomq6VUEpw,64512
|
|
27
|
+
nsqdriver/nswave/_optimizations.pyi,sha256=6WxLlO1aJEMMGB4qL3iSr0l43b6pSH-7qRSHXzCQQa8,508
|
|
28
|
+
nsqdriver/nswave/_rules.cp310-win_amd64.pyd,sha256=Jcm-fMKhnUJ_cgwPwpt4gD64Nplm8UJJaWv79Qp5Pdc,216576
|
|
29
|
+
nsqdriver/nswave/_rules.pyi,sha256=bMynUPRkrIfTNXPt0K7Rqy5cp4B-4EIdolznVBJaaAM,1926
|
|
30
|
+
nsqdriver/nswave/_simulator.cp310-win_amd64.pyd,sha256=UHwxrw_HxjS3Q2SPJRXodypuyigBmjWMHZOos5kOn3o,135680
|
|
31
|
+
nsqdriver/nswave/_translate.cp310-win_amd64.pyd,sha256=T8oq3gDps7Up3LMazqNTMN_juY4MPXyRdl94kw1HC3c,117248
|
|
32
|
+
nsqdriver/nswave/_translate.pyi,sha256=f0N24eSL7hKj2R04W-EFeEo9A8UYfzHOta7LQrDn-UA,387
|
|
33
|
+
nsqdriver/nswave/kernel.cp310-win_amd64.pyd,sha256=Tf4WemuV2maxZQm_WQwSzlDKUii2JiOpzOtPoubvdKA,298496
|
|
34
|
+
nsqdriver/nswave/kernel.pyi,sha256=GBjjcfGBFiZ7_PCSgOWJcfVqckYg_r3j7PsMpUeaozE,2009
|
|
35
|
+
nsqdriver/wrapper/AWG_ADC.py,sha256=wLtkbJe39hDcnbWZ-8jyGZ78RQtn7iAZ7P7H0n-2IWU,19733
|
|
36
|
+
nsqdriver/wrapper/ND_NSMCI.py,sha256=e0j7BUdfrhfYb1GqBPlO4vSoZPXTKyictXy1nPvoMFE,6533
|
|
37
|
+
nsqdriver/wrapper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
nsqdriver-0.12.17.dist-info/METADATA,sha256=Y1nYw_7YLBgo46Szfm34elpoxwD8vyJrV0oDmPrgndU,4576
|
|
39
|
+
nsqdriver-0.12.17.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
|
|
40
|
+
nsqdriver-0.12.17.dist-info/top_level.txt,sha256=o7EbQoFO6BoaG3KGbS9Lg_aRheZSY5KYzoYuI9vx-AI,10
|
|
41
|
+
nsqdriver-0.12.17.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
nsqdriver
|