Compartilhar via


Std.Aithmetic

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

Nome Descrição
AddLE Define um registro de little-endian com inicialização zero zs para a soma dos registros de little-endian xs e ys
ApplyIfEqualL Calcula if (c == x) { action(target) }, ou seja, aplica-se action a target se um valor BigInt c for igual ao registro de qubit little-endian x
ApplyIfEqualLE Calcula if x == y { action(target) }, ou seja, aplica-se action a target se o registro 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 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 for 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 o registro 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 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 do 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 for menor ou igual ao registro qubit little-endian x
ApplyIfLessOrEqualLE Calcula if x <= y { action(target) }, ou seja, aplica-se action a target se o registro 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 little-endian register xs usando Quantum Fourier Transform.
IncByI Incrementa um registro de little-endian ys por um número inteiro c
IncByIUsingIncByLE Incrementa um pequeno registro de endian ys por um número int c usando adder fornecido.
IncByL Incrementa um registro little-endian ys por um número bigint c
IncByLE Incrementa um registro little-endian ys por um little-endian register xs
IncByLEUsingAddLE Operação genérica para transformar dois adidores de saída em um adder in-loco
IncByLUsingIncByLE Incrementa um registro little-endian ys por um número bigint c usando adder fornecido.
LookAheadDKRSAddLE Define um registro de little-endian com inicialização zero zs para a soma de little-endian registra 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 de little-endian inicializado zero zs para a soma de little-endian registra xs e ys usando o algoritmo de carregamento de ondulação.
RippleCarryCGIncByLE Incrementa um registro little-endian ys por um xs de registro little-endian usando o algoritmo de transporte de ondulação.
RippleCarryTTKIncByLE Reversível, in-loco ripple-carry adição de dois inteiros.