Example #1
0
    def test_unsafe_sample(self):
        body_wf = DummyWaveform(duration=7)

        rwf = RepetitionWaveform(body=body_wf, repetition_count=10)

        sample_times = np.arange(80) * 70./80.
        inner_sample_times = (sample_times.reshape((10, -1)) - (7 * np.arange(10))[:, np.newaxis]).ravel()

        result = rwf.unsafe_sample(channel='A', sample_times=sample_times)
        np.testing.assert_equal(result, inner_sample_times)

        output_expected = np.empty_like(sample_times)
        output_received = rwf.unsafe_sample(channel='A', sample_times=sample_times, output_array=output_expected)
        self.assertIs(output_expected, output_received)
        np.testing.assert_equal(output_received, inner_sample_times)
Example #2
0
    def test_float_sample_time(self):
        # issue 624
        body_wf = FunctionWaveform.from_expression(ExpressionScalar('sin(t)'), 1./3., channel='a')
        rwf = RepetitionWaveform(body_wf, 2)

        sample_times = np.arange(160) / 80. / 3.
        sampled = rwf.unsafe_sample(sample_times=sample_times, channel='a')
        inner_sample_times = np.concatenate((sample_times[:80], sample_times[80:] - 1./3.))
        np.testing.assert_equal(sampled, np.sin(inner_sample_times))