コード例 #1
0
    def test_make(self):
        self.assertTrue(Expression.make('a') == 'a')
        self.assertTrue(Expression.make('a + b') == 'a + b')
        self.assertTrue(Expression.make(9) == 9)

        self.assertIsInstance(Expression.make([1, 'a']), ExpressionVector)

        self.assertIsInstance(ExpressionScalar.make('a'), ExpressionScalar)
        self.assertIsInstance(ExpressionVector.make(['a']), ExpressionVector)
コード例 #2
0
    def __new__(cls, t: ValueInInit, v: ValueInInit, interp: Optional[Union[str, InterpolationStrategy]]='default'):
        if interp in TablePulseTemplate.interpolation_strategies:
            interp = TablePulseTemplate.interpolation_strategies[interp]
        if interp is not None and not isinstance(interp, InterpolationStrategy):
            raise KeyError(interp, 'is not a valid interpolation strategy')

        return super().__new__(cls, ExpressionScalar.make(t),
                                    Expression.make(v),
                                    interp)
コード例 #3
0
    def test_slots(self):
        entry = TableEntry('a', Expression.make('b'), 'hold')

        self.assertFalse(hasattr(entry, '__dict__'))
コード例 #4
0
 def test_as_expression(self):
     pulse = FunctionPulseTemplate('sin(0.5*t+b)', '2*Tmax')
     expr = sympy.sin(0.5 * pulse._AS_EXPRESSION_TIME + sympy.sympify('b'))
     self.assertEqual({'default': Expression.make(expr)},
                      pulse._as_expression())