Udostępnij przez


Operacja RippleCarryCGAddLE

W pełni kwalifikowana nazwa: Std.Arithmetic.RippleCarryCGAddLE

operation RippleCarryCGAddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj

Podsumowanie

Ustawia zera zainicjowany rejestr little-endian zs do sumy rejestrów little-endian xs i ys przy użyciu algorytmu przenoszenia tętnień.

Opis

Oblicza zs := xs + ys + zs[0] modulo 2ⁿ, gdzie xs, ys i zs są rejestrami mało endian, Length(xs) = Length(ys) ≤ Length(zs) = n, przy założeniu, że zs jest 0-initialized, z wyjątkiem może zs[0], który może być operacją, która może używać algorytmu przenoszenia fal. UWAGA: zs[Length(xs)] można użyć jako przeprowadzenia, jeśli zs jest dłuższy niż xs.

Źródło