Skip to content

Added QuantumChannel (#53) #259

Added QuantumChannel (#53)

Added QuantumChannel (#53) #259

Triggered via push November 9, 2023 00:13
Status Success
Total duration 29m 19s
Artifacts

ci.yml

on: push
Matrix: test
Fit to window
Zoom out
Zoom in

Annotations

10 warnings
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
failed to run `@example` block in src/tutorial/message_queues.md:129-203 ```@example messagechannel sim = Simulation() communication_delay = 1.0 channel_1to2 = DelayChannel{Bool}(sim, communication_delay) channel_2to1 = DelayChannel{Bool}(sim, communication_delay) channel_ready = DelayChannel{Bool}(sim, communication_delay) global_log = [] @Resumable function do_random_measurement_transmit_receive_compare(sim, channel_out, channel_in) @yield timeout(sim, 2+rand()) # wait for the measurement to take place local_measurement = rand() < 0.4 # simulate a random measurement result put(channel_out, local_measurement) other_measurement = @yield get(channel_in) succeeded = local_measurement == other_measurement == true return succeeded end @Resumable function reset_system(sim) s = now(sim) reset_duration = 2.0 @yield timeout(sim, reset_duration) put(channel_ready, true) push!(global_log, (:reset_system, s, now(sim))) end @Resumable function process_node1(sim) while true s = now(sim) succeeded = @yield @process do_random_measurement_transmit_receive_compare(sim, channel_1to2, channel_2to1) if succeeded throw(StopSimulation("Success!")) end push!(global_log, (:node_1_meas_tx_rx, s, now(sim))) s2 = now(sim) @yield @process reset_system(sim) push!(global_log, (:node_1_wait_for_reset, s2, now(sim))) end end @Resumable function process_node2(sim) while true s = now(sim) succeeded = @yield @process do_random_measurement_transmit_receive_compare(sim, channel_2to1, channel_1to2) if succeeded throw(StopSimulation("Success!")) end push!(global_log, (:node_2_meas_tx_rx, s, now(sim))) s2 = now(sim) @yield get(channel_ready) push!(global_log, (:node_2_wait_for_reset, s2, now(sim))) end end @process process_node1(sim) @process process_node2(sim) ConcurrentSim.run(sim) fig = Figure() ax = Axis(fig[1,1],xlabel="time") hideydecorations!(ax) for (i, symbol) in enumerate([:node_1_meas_tx_rx,:node_2_meas_tx_rx,:reset_system,:node_1_wait_for_reset,:node_2_wait_for_reset]) x_coords = [(x₀, x₁) for (s, x₀, x₁) in global_log if s==symbol] coords = [(Point(x₀,y+i/5),Point(x₁,y+i/5)) for (y,(x₀, x₁)) in enumerate(x_coords)] linesegments!(coords,color=Cycled(i),label=string(symbol),linewidth=10) flat_coords = collect(Iterators.flatten(coords)) scatter!(flat_coords,color=Cycled(i)) end axislegend(ax) fig ``` exception = UndefVarError: `DelayChannel` not defined Stacktrace: [1] top-level scope @ message_queues.md:132 [2] eval @ ./boot.jl:370 [inlined] [3] #54 @ ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:738 [inlined] [4] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String) @ Base.Filesystem ./file.jl:112 [5] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})() @ Documenter ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:737 [6] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})() @ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119 [7] with_logstate(f::Function, logstate::Any) @ Base.CoreLogging ./logging.jl:514 [8] with_logger @ ./logging.jl:626 [inlined] [9] capture(f::Documenter.var"#53#55"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool) @ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:116 [10] runner(#unused#::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document) @ Documenter ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:736
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
no doc found for reference '[`AbstractRepresentation`](@ref)' in src/register_interface.md.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
no doc found for reference '[`express`](@ref)' in src/register_interface.md.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
no doc found for reference '[`AbstractRepresentation`](@ref)' in src/register_interface.md.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
no doc found for reference '[`AbstractRepresentation`](@ref)' in src/register_interface.md.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L46
5 docstrings not included in the manual: QuantumSavory.CircuitZoo.StringentHead QuantumSavory.CircuitZoo.StringentBodyNode QuantumSavory.CircuitZoo.StringentHeadNode QuantumSavory.CircuitZoo.inputqubits QuantumSavory.CircuitZoo.StringentBody These are docstrings in the checked modules (configured with the modules keyword) that are not included in canonical @docs or @autodocs blocks.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/deploydocs.jl#L464
removing `stable` and linking `stable` to `v0.3.1`.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/deploydocs.jl#L464
removing `v0.3` and linking `v0.3` to `v0.3.1`.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/deploydocs.jl#L464
removing `v0.2` and linking `v0.2` to `v0.2.0`.
Documentation: ../../../.julia/packages/Documenter/nQAq5/src/deploydocs.jl#L464
removing `v0.1` and linking `v0.1` to `v0.1.0`.