microsoft/qdk

Public

mirrored fromhttps://github.com/microsoft/qdkAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/add-link-to-qsharp-application

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

library/signed/src/Utils.qs

17lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4// Util functions for internal use by the signed integer library.
5
6import Std.Math.Min;
7import Std.Diagnostics.Fact;
8import Std.Arrays.Head, Std.Arrays.Tail, Std.Arrays.Most, Std.Arrays.Rest;
9
10operation AndLadder(controls : Qubit[], targets : Qubit[]) : Unit is Adj {
11 Fact(Length(controls) == Length(targets), "The number of control qubits must match the number of target qubits.");
12 let controls1 = [Head(controls)] + Most(targets);
13 let controls2 = Rest(controls);
14 for i in 0..Length(controls1) - 1 {
15 AND(controls1[i], controls2[i], targets[i]);
16 }
17}