Home Reference Source
import {ForwarderEngine} from 'projectq/src/cengines/basics.js'
public class | source

ForwarderEngine

Extends:

BasicEngine → ForwarderEngine

A ForwarderEngine is a trivial engine which forwards all commands to the next engine.

It is mainly used as a substitute for the MainEngine at lower levels such that meta operations still work (e.g., with Compute).

Constructor Summary

Public Constructor
public

constructor(engine: BasicEngine, cmdModFunc: function)

Member Summary

Public Members
public
public

main: *

public

next: *

Method Summary

Public Methods
public

internal usaged for deallocate qubits after Uncompute

public

receive(commandList: *)

Inherited Summary

From class BasicEngine
public
public

Return a new qubit as a list containing 1 qubit object (quantum register of size 1).

public

Allocate n qubits and return them as a quantum register, which is a list of qubit objects.

public

Deallocate a qubit (and sends the deallocation command down the pipeline).

public

Default implementation of isAvailable: Ask the next engine whether a command is available, i.e., whether it can be executed by the next engine(s).

public

Check if there is a compiler engine handling the meta tag

public
public

send(commandList: Command[])

Forward the list of commands to the next engine in the pipeline.

Public Constructors

public constructor(engine: BasicEngine, cmdModFunc: function) source

Override:

BasicEngine#constructor

Params:

NameTypeAttributeDescription
engine BasicEngine

Engine to forward all commands to.

cmdModFunc function

Function which is called before sending a command. Each command cmd is replaced by the command it returns when getting called with cmd.

Public Members

public cmdModFunc: * source

public main: * source

public next: * source

Public Methods

public autoDeallocateQubits() source

internal usaged for deallocate qubits after Uncompute

public receive(commandList: *) source

Override:

BasicEngine#receive

Params:

NameTypeAttributeDescription
commandList *