@@ -21,6 +21,8 @@ class Gaussian:
2121 sigma : ParamType
2222 def qasm_name (self ) -> str :
2323 return "gaussian"
24+ def to_args (self ) -> List [ParamType ]:
25+ return [self .amp , self .duration , self .sigma ]
2426
2527@dataclass
2628class GaussianSquare :
@@ -30,6 +32,8 @@ class GaussianSquare:
3032 width : ParamType
3133 def qasm_name (self ) -> str :
3234 return "gaussian_square"
35+ def to_args (self ) -> List [ParamType ]:
36+ return [self .amp , self .duration , self .sigma , self .width ]
3337
3438@dataclass
3539class Drag :
@@ -39,14 +43,17 @@ class Drag:
3943 beta : ParamType
4044 def qasm_name (self ) -> str :
4145 return "drag"
46+ def to_args (self ) -> List [ParamType ]:
47+ return [self .amp , self .duration , self .sigma , self .beta ]
4248
4349@dataclass
4450class Constant :
4551 amp : ParamType
4652 duration : int
4753 def qasm_name (self ) -> str :
4854 return "constant"
49-
55+ def to_args (self ) -> List [ParamType ]:
56+ return [self .amp , self .duration ]
5057
5158@dataclass
5259class Sine :
@@ -55,7 +62,8 @@ class Sine:
5562 duration : int
5663 def qasm_name (self ) -> str :
5764 return "sine"
58-
65+ def to_args (self ) -> List [ParamType ]:
66+ return [self .amp , self .frequency , self .duration ]
5967
6068@dataclass
6169class Cosine :
@@ -64,7 +72,8 @@ class Cosine:
6472 duration : int
6573 def qasm_name (self ) -> str :
6674 return "cosine"
67-
75+ def to_args (self ) -> List [ParamType ]:
76+ return [self .amp , self .frequency , self .duration ]
6877
6978@dataclass
7079class CosineDrag :
@@ -74,7 +83,8 @@ class CosineDrag:
7483 alpha : ParamType
7584 def qasm_name (self ) -> str :
7685 return "cosine_drag"
77-
86+ def to_args (self ) -> List [ParamType ]:
87+ return [self .amp , self .duration , self .phase , self .alpha ]
7888
7989@dataclass
8090class Flattop :
@@ -83,3 +93,5 @@ class Flattop:
8393 duration : int
8494 def qasm_name (self ) -> str :
8595 return "flattop"
96+ def to_args (self ) -> List [ParamType ]:
97+ return [self .amp , self .width , self .duration ]
0 commit comments