Ölçüm sonrası sınırlı tipli değerler
Immutable Int, Float, sabit diziler, açık ölçüm dönüşümleri, deterministik runtime kanıtı ve fail-closed sayısal sınırları uzlaştırın.
Kuantum sınırında tipli classical değerler
NM-RFC-0005 ölçüm sonrası birleştirmeyi açık ve sınırlı hale getirir. Her yüzey özelliği uzlaştırana kadar kararlı N/M 0.1 Bit davranışı değişmez.
NM-RFC-0005deneysel0.2.0-runtime-experimentalImmutable skaler değerler
Int güvenli tam sayı, Float ise sonlu ve sınırlıdır. Sayısal genişletme açık olduğundan örneklenmiş bir Bit aritmetiğe sessizce giremez.
let ratio: Float = int_to_float(count) / 3.0;Sabit sınırlı diziler
Array<Bit|Int|Float, N>, eleman tipini ve 1..256 uzunluğunu kaynakta sabitler. İndeksler derleme zamanı literal'ıdır ve yürütmeden önce denetlenir.
let bits: Array<Bit, 3> = [a, b, c];Güvenli ölçüm yardımcıları
bit_to_int, bits_to_int, count_ones, int_to_float ve mean; genel amaçlı mutable durum eklemeden ilk deterministik birleştirme sınırını kapsar.
bit_to_int · int_to_float · bits_to_int · count_ones · mean · sin · cos · sqrt · exp · log · log1p · expm1 · tanh · sigmoid · abs · floor · ceil · round · min · max · clamp · sum · dot · norm · add · sub · scale · variance · stddev · argmin · argmax · radians · degrees · to_radians · to_degreesSıralı runtime kanıtı
Core ve Worker aynı sıralı ad, canonical tip, değer ve kaynak satırı kanıtını sunar. Eksik değerler ve geçersiz aritmetik fail-closed sonlanır.
deterministic-fail-closed-with-ordered-evidenceÖlçüm birleştirme örneği
1module typed_measurement_summary;2@seed(17);3 4fn main() {5 let q: QReg<3> = qreg[3];6 H(q[0]);7 CNOT(q[0], q[1]);8 let a: Bit = measure(q[0]);9 let b: Bit = measure(q[1]);10 let c: Bit = measure(q[2]);11 let outcomes: Array<Bit, 3> = [a, b, c];12 let encoded: Int = bits_to_int(outcomes);13 let ones: Int = count_ones(outcomes);14 let ratio: Float = int_to_float(ones) / 3.0;15 return encoded;16}Açık yüzey uzlaşması
parseNMCode(source, { experimental: { typedClassicalValues: true } })nm run main.nm --experimental-typed-classical-values --jsoninitializationOptions.nm.experimental.typedClassicalValues = truenm.experimental.typedClassicalValues = trueKararlı tanılar
NM-PARSE-062NM-PARSE-063NM-TYPE-023NM-TYPE-024NM-RUNTIME-032İlk sözleşme mutation, dinamik indeks, iç içe dizi, keyfi classical fonksiyon, implicit cast ve branch-sensitive sonuç çıkarımını kapsamaz. NM-RFC-0007 yapılandırılmış main sonuçlarını yalnız ayrı uzlaşmayla ekler.