Microsoft.Quantum.Unstable.Arithmetic

The Microsoft.Quantum.Unstable.Arithmetic namespace contains the following functions and operations:

Name Description
AddLE Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys
ApplyIfEqualL Computes if (c == x) { action(target) }, that is, applies action to target if a BigInt value c is equal to the little-endian qubit register x
ApplyIfEqualLE Computes if x == y { action(target) }, that is, applies action to target if register x is equal to the register y. Both qubit registers should be in a little-endian format.
ApplyIfGreaterL Computes if (c > x) { action(target) }, that is, applies action to target if a BigInt value c is greater than the little-endian qubit register x
ApplyIfGreaterLE Computes if x > y { action(target) }, that is, applies action to target if register x is greater than the register y. Both qubit registers should be in a little-endian format.
ApplyIfGreaterOrEqualL Computes if (c >= x) { action(target) }, that is, applies action to target if a BigInt value c is greater or equal to the little-endian qubit register x
ApplyIfGreaterOrEqualLE Computes if x >= y { action(target) }, that is, applies action to target if register x is greater or equal to the register y. Both qubit registers should be in a little-endian format.
ApplyIfLessL Computes if (c < x) { action(target) }, that is, applies action to target if a BigInt value c is less than the little-endian qubit register x
ApplyIfLessLE Computes if x < y { action(target) }, that is, applies action to target if register x is less than the register y. Both qubit registers should be in a little-endian format.
ApplyIfLessOrEqualL Computes if (c <= x) { action(target) }, that is, applies action to target if a BigInt value c is less or equal to the little-endian qubit register x
ApplyIfLessOrEqualLE Computes if x <= y { action(target) }, that is, applies action to target if register x is less or equal to the register y. Both qubit registers should be in a little-endian format.
FourierTDIncByLE Increments a little-endian register ys by a little-endian register xs using Quantum Fourier Transform.
IncByI Increments a little-endian register ys by an integer number c
IncByIUsingIncByLE Increments a little-endian register ys by an Int number c using provided adder.
IncByL Increments a little-endian register ys by a BigInt number c
IncByLE Increments a little-endian register ys by a little-endian register xs
IncByLEUsingAddLE Generic operation to turn two out-place adders into one in-place adder
IncByLUsingIncByLE Increments a little-endian register ys by a BigInt number c using provided adder.
LookAheadDKRSAddLE Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the carry-lookahead algorithm.
MAJ This applies the in-place majority operation to 3 qubits.
ReflectAboutInteger Reflects a quantum register about a given classical integer.
RippleCarryCGAddLE Sets a zero-initialized little-endian register zs to the sum of little-endian registers xs and ys using the ripple-carry algorithm.
RippleCarryCGIncByLE Increments a little-endian register ys by a little-endian register xs using the ripple-carry algorithm.
RippleCarryTTKIncByLE Reversible, in-place ripple-carry addition of two integers.