ApplyXorInPlace operation

Warning

This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.

Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.

Namespace: Microsoft.Quantum.Arithmetic

Package: Microsoft.Quantum.Standard

Applies a bitwise-XOR operation between a classical integer and an integer represented by a register of qubits.

operation ApplyXorInPlace (value : Int, target : Microsoft.Quantum.Arithmetic.LittleEndian) : Unit is Adj + Ctl

Description

Applies X operations to qubits in a little-endian register based on 1 bits in an integer.

Let us denote value by a and let y be an unsigned integer encoded in target, then ApplyXorInPlace performs an operation given by the following map: $\ket{y}\rightarrow \ket{y\oplus a}$ , where $\oplus$ is the bitwise exclusive OR operator.

Input

value : Int

An integer which is assumed to be non-negative.

target : LittleEndian

A quantum register which is used to store value in little-endian encoding.

Output : Unit