private DataTable RunDepthVersusWidthTest(bool optimizeDepth)
        {
            QCTraceSimulators.QCTraceSimulatorConfiguration config = ResourcesEstimator.RecommendedConfig();
            config.OptimizeDepth = optimizeDepth;
            var sim = new ResourcesEstimator(config);

            DepthVersusWidth.Run(sim).Wait();
            return(sim.Data);
        }
示例#2
0
        public void QubitReuseSequentialTest()
        {
            QCTraceSimulators.QCTraceSimulatorConfiguration config = ResourcesEstimator.RecommendedConfig();
            config.OptimizeDepth = true;
            var sim = new ResourcesEstimator(config);

            SequentialUse.Run(sim).Wait();

            Assert.Equal(11.0, sim.Data.Rows.Find("QubitCount")["Sum"]);
            Assert.Equal(20.0, sim.Data.Rows.Find("Width")["Sum"]);
            Assert.Equal(11.0, sim.Data.Rows.Find("Depth")["Sum"]);
        }
示例#3
0
        public void ReuseInBlockMixedTest()
        {
            QCTraceSimulators.QCTraceSimulatorConfiguration config = ResourcesEstimator.RecommendedConfig();
            config.OptimizeDepth = true;
            var sim = new ResourcesEstimator(config);

            ReuseInBlockMixed.Run(sim).Wait();

            Assert.Equal(8.0, sim.Data.Rows.Find("QubitCount")["Sum"]);
            Assert.Equal(2.0, sim.Data.Rows.Find("Width")["Sum"]);
            Assert.Equal(0.0, sim.Data.Rows.Find("Depth")["Sum"]);
        }
示例#4
0
        public void QubitReuseSimultaneousTest()
        {
            QCTraceSimulators.QCTraceSimulatorConfiguration config = ResourcesEstimator.RecommendedConfig();
            config.OptimizeDepth = true;
            var sim = new ResourcesEstimator(config);

            SimultaneousUse.Run(sim).Wait();

            Assert.Equal(11.0, sim.Data.Rows.Find("QubitCount")["Sum"]);
            Assert.Equal(20.0, sim.Data.Rows.Find("Width")["Sum"]);
            // Note that in RecommendedConfig only T gates are depth 1, the rest are depth 0.
            Assert.Equal(1.0, sim.Data.Rows.Find("Depth")["Sum"]);
        }