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. |