Bagikan melalui


Operasi RippleCarryCGAddLE

Nama yang sepenuhnya memenuhi syarat: Std.Arithmetic.RippleCarryCGAddLE

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

Ringkasan

Mengatur register little-endian yang diinisialisasi nol zs ke jumlah register little-endian xs dan ys menggunakan algoritma ripple-carry.

Deskripsi

Menghitung zs := xs + ys + zs[0] modulo 2ⁿ, di mana xs, ys, dan zs adalah register little-endian, Length(xs) = Length(ys) ≤ Length(zs) = n, dengan asumsi zs diinisialisasi 0, kecuali untuk mungkin zs[0], yang dapat berupa Operasi ini menggunakan algoritma ripple-carry. CATATAN: zs[Length(xs)] dapat digunakan sebagai carry-out, jika zs lebih panjang dari xs.

Referensi