|
16 | 16 |
|
17 | 17 | @dataclass |
18 | 18 | class Gaussian: |
19 | | - amp: ParamType |
20 | 19 | duration: int |
| 20 | + amp: ParamType |
21 | 21 | sigma: ParamType |
| 22 | + angle: ParamType |
22 | 23 | def qasm_name(self) -> str: |
23 | 24 | return "gaussian" |
24 | 25 | def to_args(self) -> List[ParamType]: |
25 | | - return [self.amp, self.duration, self.sigma] |
| 26 | + return [self.duration, self.amp, self.sigma, self.angle] |
26 | 27 |
|
27 | 28 | @dataclass |
28 | 29 | class GaussianSquare: |
29 | | - amp: ParamType |
30 | 30 | duration: int |
| 31 | + amp: ParamType |
31 | 32 | sigma: ParamType |
32 | 33 | width: ParamType |
33 | 34 | def qasm_name(self) -> str: |
34 | 35 | return "gaussian_square" |
35 | 36 | def to_args(self) -> List[ParamType]: |
36 | | - return [self.amp, self.duration, self.sigma, self.width] |
| 37 | + return [self.duration, self.amp, self.sigma, self.width] |
37 | 38 |
|
38 | 39 | @dataclass |
39 | 40 | class Drag: |
40 | | - amp: ParamType |
41 | 41 | duration: int |
| 42 | + amp: ParamType |
42 | 43 | sigma: ParamType |
43 | 44 | beta: ParamType |
44 | 45 | def qasm_name(self) -> str: |
45 | 46 | return "drag" |
46 | 47 | def to_args(self) -> List[ParamType]: |
47 | | - return [self.amp, self.duration, self.sigma, self.beta] |
| 48 | + return [self.duration, self.amp, self.sigma, self.beta] |
48 | 49 |
|
49 | 50 | @dataclass |
50 | 51 | class Constant: |
51 | | - amp: ParamType |
52 | 52 | duration: int |
| 53 | + amp: ParamType |
53 | 54 | def qasm_name(self) -> str: |
54 | 55 | return "constant" |
55 | 56 | def to_args(self) -> List[ParamType]: |
56 | | - return [self.amp, self.duration] |
| 57 | + return [self.duration, self.amp] |
57 | 58 |
|
58 | 59 | @dataclass |
59 | 60 | class Sine: |
| 61 | + duration: int |
60 | 62 | amp: ParamType |
| 63 | + phase: ParamType |
61 | 64 | frequency: ParamType |
62 | | - duration: int |
| 65 | + angle: ParamType |
63 | 66 | def qasm_name(self) -> str: |
64 | | - return "sine" |
| 67 | + return "sin" |
65 | 68 | def to_args(self) -> List[ParamType]: |
66 | | - return [self.amp, self.frequency, self.duration] |
67 | | - |
| 69 | + return [self.duration, self.amp, self.phase, self.frequency, self.angle] |
| 70 | + |
68 | 71 | @dataclass |
69 | 72 | class Cosine: |
| 73 | + duration: int |
70 | 74 | amp: ParamType |
71 | 75 | frequency: ParamType |
72 | | - duration: int |
73 | 76 | def qasm_name(self) -> str: |
74 | 77 | return "cosine" |
75 | 78 | def to_args(self) -> List[ParamType]: |
76 | | - return [self.amp, self.frequency, self.duration] |
| 79 | + return [self.duration, self.amp, self.frequency] |
77 | 80 |
|
78 | 81 | @dataclass |
79 | 82 | class CosineDrag: |
80 | | - amp: ParamType |
81 | 83 | duration: int |
| 84 | + amp: ParamType |
82 | 85 | phase: ParamType |
83 | 86 | alpha: ParamType |
84 | 87 | def qasm_name(self) -> str: |
85 | 88 | return "cosine_drag" |
86 | 89 | def to_args(self) -> List[ParamType]: |
87 | | - return [self.amp, self.duration, self.phase, self.alpha] |
| 90 | + return [self.duration, self.amp, self.phase, self.alpha] |
88 | 91 |
|
89 | 92 | @dataclass |
90 | 93 | class Flattop: |
| 94 | + duration: int |
91 | 95 | amp: ParamType |
92 | 96 | width: ParamType |
93 | | - duration: int |
94 | 97 | def qasm_name(self) -> str: |
95 | 98 | return "flattop" |
96 | 99 | def to_args(self) -> List[ParamType]: |
97 | | - return [self.amp, self.width, self.duration] |
| 100 | + return [self.duration, self.amp, self.width] |
0 commit comments