Partilhar via


Std.Aritmética

O namespace Std.Arithmetic contém os seguintes itens:

Nome Descrição
AddLE Define um registro little-endian inicializado zero zs para a soma dos registros little-endian xs e ys
ApplyIfEqualL Calcula if (c == x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c é igual ao registro de qubit little-endian x
ApplyIfEqualLE Calcula if x == y { action(target) }, ou seja, aplica-se action a target se registrar x for igual ao registro y. Ambos os registros de qubit devem estar em um formato little-endian.
ApplyIfGreaterL Calcula if (c > x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c for maior do que o registro de qubit little-endian x
ApplyIfGreaterLE Calcula if x > y { action(target) }, ou seja, aplica-se action a target se o registro x for maior do que o registro y. Ambos os registros de qubit devem estar em um formato little-endian.
ApplyIfGreaterOrEqualL Calcula if (c >= x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c é maior ou igual ao registro de qubit little-endian x
ApplyIfGreaterOrEqualLE Calcula if x >= y { action(target) }, ou seja, aplica-se action a target se registrar x for maior ou igual ao registro y. Ambos os registros de qubit devem estar em um formato little-endian.
ApplyIfLessL Calcula if (c < x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c for menor do que o registro de qubit little-endian x
ApplyIfLessLE Calcula if x < y { action(target) }, ou seja, aplica-se action a target se o registro x for menor que o registro y. Ambos os registros de qubit devem estar em um formato little-endian.
ApplyIfLessOrEqualL Calcula if (c <= x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c é menor ou igual ao registro de qubit little-endian x
ApplyIfLessOrEqualLE Calcula if x <= y { action(target) }, ou seja, aplica-se action a target se registrar x for menor ou igual ao registro y. Ambos os registros de qubit devem estar em um formato little-endian.
FourierTDIncByLE Incrementa um registro little-endian ys por um registro little-endian xs usando a Transformada Quântica de Fourier.
IncByI Incrementa um registro little-endian ys por um número inteiro c
IncByIUsingIncByLE Incrementa um registro little-endian ys por um número Int c usando o adder fornecido.
IncByL Incrementa um registro little-endian ys por um número BigInt c
IncByLE Incrementa um registro little-endian ys por um registro little-endian xs
IncByLEUsingAddLE Operação genérica para transformar dois adders out-place em um adder in-loco
IncByLUsingIncByLE Incrementa um registro little-endian ys por um número BigInt c usando o adder fornecido.
LookAheadDKRSAddLE Define um registro little-endian inicializado zero zs para a soma dos registros little-endian xs e ys usando o algoritmo carry-lookahead.
MAJ Isso aplica a operação de maioria in-loco a 3 qubits.
ReflectAboutInteger Reflete um registro quântico sobre um determinado inteiro clássico.
RippleCarryCGAddLE Define um registro little-endian inicializado zero zs para a soma dos registros little-endian xs e ys usando o algoritmo ripple-carry.
RippleCarryCGIncByLE Incrementa um registro little-endian ys por um registro little-endian xs usando o algoritmo ripple-carry.
RippleCarryTTKIncByLE Adição reversível e in-loco de dois inteiros.