Aksiom in točka, ki se premika

Fiksna vejica prinaša disciplino, a ena lestvica lahko zapravlja natančnost. Dweve AXIOM vsaki vrednosti omogoči izbiro z eksplicitnega seznama eksponentov,...

Aksiom in točka, ki se premika

Točka se je premaknila, pogodba pa ne

Aritmetika s fiksno vejico je privlačna, ker je poštena. Izberete lestvico, poveste, kje živi vejica, in stroj neha pretvarjati, da je vsako število drobna vremenska napoved. To pomirja ponovitve, olajša sklepanje o vgrajenih ciljih in naredi revizije manj odvisne od besed, kot je približno dovolj. Ljubko. Pa tudi nepopolno.

Ena fiksna lestvica je lahko preveč topa. Izberite lestvico, ki obvlada zelo majhne vrednosti, in večje vrednosti zmanjka prostora. Izberite lestvico, ki obvlada večje vrednosti, in majhne vrednosti izgubijo uporabne podrobnosti. Delo lahko razdelite na več tipov, a potem ima kodna zbirka drugačno vrsto nereda. Čestitke, decimalna vejica je zdaj kadrovski problem.

AXIOM obstaja za primere, ko se mora vejica premakniti, ne da bi se numerična plast spremenila nazaj v plavajočo vejico v obliki juhe. V kodni zbirki Dweve je to družina s prilagodljivo spremenljivo vejico: vsaka konkretna vrednost nosi predznak, indeks v seznamu eksponentov in mantiso v strnjeni 32-bitni predstavitvi. Eksponent ni ambientno razpoloženje strojne opreme. Izbran je iz izrecnega seznama. Mantisa je celoštevilčna vsebina. Predstavljena vrednost je predznak krat mantisa krat dva na negativni izbrani eksponent. Ta stavek ni prisrčen, a je ves trik.

Pomembno ni to, da se vejica premika. Plavajoča vejica že premika vejico. Pomembno je, da jo AXIOM premika skozi razglašen seznam, ki ga je mogoče pregledati, preizkusiti, specializirati in ohraniti determinističnega. Koda ne prosi platforme, naj improvizira numerično osebnost. Vrednosti da kompakten dogovor in poskrbi, da se aritmetika po vsaki operaciji vrne k temu dogovoru.

AXIOM ni čarobna decimalna vejica. Konkretna vrednost je strnjena beseda s predznakom, izbiro eksponenta in mantiso. Koristna disciplina je, da ima vsak del svojo nalogo.

V izvorni kodi je konkretna oblika Axiom<M, E>. Širina mantise mora ustrezati predstavitvi, s praktičnimi vzdevki, kot so Adp4, Adp8, Adp16, Adp23, AdpNN4 in AdpNN8. Ta imena niso okras. Povedo vam, koliko vsebine in kakšen profil eksponentov naj bi vrednost uporabljala. Vrednost s seznamom eksponentov oblike NN ni ista obljuba kot vrednost s širšim splošnim seznamom. Če ju obravnavate kot enaki, ker obe izgledata numerično, tako resne kodne zbirke začnejo nabirati folkloro.

Spremenljiva vejica ni vibra

Besedna zveza prilagodljiva spremenljiva vejica lahko zveni, kot da je nekdo preimenoval plavajočo vejico, da bi nabavo spravil skozi sestanek. To se ne dogaja. AXIOM ne naredi eksponenta za nevidni stranski učinek. Eksponent je izbran s seznama, pritrjenega na tip ali strategijo. V trenutni izvorni kodi konkretni seznami eksponentov vključujejo standardni [16, 8, 4, 0], gosti [12, 8, 4, 0], uteži nevronskih mrež [8, 6, 4, 0] in fini seznam [16, 14, 12, 10, 8, 6, 4, 0]. To so trenutne vrednosti izvorne kode in to razlikovanje je pomembno, ker se je izvorna koda skozi čas spreminjala; trenutne trditve naj sledijo trenutni kodi, ne zastarelim seznamom eksponentov.

Seznam je produktna odločitev. Standardni seznam daje nekaj širokih pasov. Gosti seznam spremeni, kje pasovi ležijo. Seznam NN je oblikovan za podatke, podobne utežem. Fini seznam ponuja več bližnjih izbir. Nič od tega ne odstrani presoje. Premakne presojo na mesto, kjer jo lahko pregled kode vidi.

To je razlika med nadzorovano prilagodljivo predstavitvijo in splošnim izgovorom. Tip s fiksno vejico pove, da vsaka vrednost tukaj uporablja to lestvico. AXIOM pove, da vsaka vrednost tukaj izbira iz te deklarirane množice lestvic. To je širša pogodba, ne manjkajoča. Točka se premika, a se premika po tirnicah. Zelo nizozemsko, res. Tudi decimalna vejica ima infrastrukturo.

Fiksna vejica daje eno enakomerno mrežo. AXIOM daje deklarirano množico eksponentnih pasov. Ta dodatna izbira je uporabna samo zato, ker ostaja izrecna.

Vredno je biti natančen glede tega, kaj AXIOM ni. Ni natančna racionalna aritmetika. Ni dovoljenje za ignoriranje analize obsega. Ni trditev o zmogljivosti. Ni zagotovilo, da izbrani seznam eksponentov ustreza vaši obremenitvi, ker je kratica delovala energično. Še vedno morate razumeti vrednosti, dinamični obseg, sprejemljivo napako, ciljno platformo in zahteve za ponovno predvajanje. AXIOM naredi te izbire bolj pregledne. Ne naredi jih, da izginejo. Če že, oteži skrivanje lenega numeričnega razmišljanja, kar je ponavadi tam, kjer se začne kričanje.

Aritmetika mora priti domov

Številski format je lahko narisati in težje narediti uporabnega. Uporabni del je aritmetika. Seštevanje in odštevanje morata obravnavati vrednosti, ki so lahko na različnih eksponentnih pasovih. Množenje in deljenje morata opraviti širše celoštevilsko delo z mantiso, preden vrneta rezultat v ciljno obliko. Po operaciji se mora vrednost normalizirati nazaj v razpoložljivo izbiro eksponenta. Ta zadnji korak je pomemben, ker predstavitev, ki ne more priti domov, je samo dopust v tujini z boljšo blagovno znamko.

Aritmetika AXIOM ima zato ritem. Prinesi pakirane vrednosti. Poravnaj ali razširi, kot je potrebno. Izvedi operacijo, usmerjeno na cela števila. Normaliziraj. Shrani rezultat nazaj v deklarirano obliko. Če se ne prilega, mora biti to vidno kot problem predstavitve, ne pa tiho prepuščeno razpoloženju stroja. Pogodba je uporabna, ker ima robove.

To je tudi razlog, zakaj je Numerus pomemben okoli tega. Širši sklad ne poskuša zbirati številskih formatov kot znamke. Želi aritmetiko, ki lahko preživi ponovno predvajanje, vgrajeno namestitev, simulacijo, stiskanje modelov, teste in revizijske sledi. AXIOM je ena družina znotraj te zgodbe. Obravnava poseben problem: vrednosti, katerih uporabna lestvica se spreminja, a katerih obnašanje mora biti še vedno deterministično.

Operacija ni končana, ko so se mantise dotaknile. Rezultat se mora vrniti v deklarirano obliko AXIOM, sicer predstavitev ni več pogodba.

To je dolgočasen stavek, ki pozneje reši ekipe: normaliziraj nazaj v obliko. Sliši se kot podrobnost implementacije, dokler se ponovno predvajanje ne razlikuje, prag se ne obrne ali stisnjen model ne deluje drugače na manjši ciljni platformi. Potem postane stavek, ki bi si ga vsi želeli v dokumentu arhitekture.

Zakaj AXIOM leži pod Numerusom

Javna zgodba Numerusa je namerno preprostejša od izvornega drevesa. Večina bralcev želi vedeti, ali lahko numerična plast zagotovi deterministično aritmetiko, družine s fiksno vejico, decimalno obnašanje, držo no_std, celoštevilske vgrajene profile, preverjanje in dvakrat enak odgovor. Ne potrebujejo vsakega notranjega tipa na prvi strani. To ni skrivnostnost. To je usmiljenje.

Spodaj je skupna numerična plast širša. Vsebuje binarne, ternarne, domače in podbajtne celoštevilske tipe, sinonime za fiksno vejico, tipe, povezane s plavajočo vejico za združljivostno delo, ter prilagodljivi AXIOM. Skupne lastnosti dajejo tem družinam skupno površino. Numerus nato ovije dele, ki naj bodo namenjeni izdelku: binarno in decimalno fiksno vejico, AXIOM, cela števila, operacije, površine DSL in preverjanje. Ta ločitev je zdrava. Temelj je lahko širok, ne da bi javna stran izgledala kot jedilnik restavracije, ki je izgubila zaupanje.

AXIOM si zasluži svoj članek, ker ni le še en vnos na tem seznamu. Fiksna vejica pomeni postaviti vejico na eno mesto. Decimalna fiksna vejica pomeni natančna decimalna mesta. Binarne in ternarne oblike pomenijo kompaktne poti z nizkim številom bitov. AXIOM pomeni, da je vejica nadzorovan del vrednosti. To spremeni način razmišljanja o predstavitvi, aritmetiki, testih in uvajanju.

Spremeni tudi način, kako naj bodo oblikovane javne trditve. Zmogljivost AXIOM pripada trenutnim merilom na trenutni kodi, ne podedovanemu izročilu. Širšega sklada ne bi smeli opisovati kot nič operacij s plavajočo vejico, saj lahko pretvorbe in prikazovalne površine prečkajo to mejo. Varnejša in natančnejša trditev je, da je osrednja fiksna in prilagodljiva aritmetika usmerjena v cela števila ter zasnovana za deterministično obnašanje. Ta stavek je manj bleščeč. Dobro. Bleščeče številčne trditve so tiste, zaradi katerih nadzorne plošče postanejo generatorji opravičil.

Več računskih poti, ena družina

Konkretna zapakirana vrednost je šele začetek. Vir vsebuje več načinov uporabe AXIOM, ker delovne obremenitve niso dovolj vljudne, da bi se za vedno prilagodile eni postavitvi. Obstaja pot zapakiranih konkretnih vrednosti za sezname eksponentov v času prevajanja. Obstaja Flex<S> za shranjevanje eksponentov v času izvajanja prek velikosti celoštevilskega shranjevanja. Obstajajo tenzorske in bločne oblike, kjer je lahko skupna struktura eksponentov uporabna. Obstaja stratificirana obdelava. Obstaja APoT, kjer so vrednosti lahko predstavljene kot vsote predznačenih potenc števila dva, tako da množenje postane premiki in seštevanja. Okoli tega obstaja raziskovalna koda za profiliranje in naučene eksponente.

Ta razpršenost ni razlog za divje trditve. Je razlog za previdnost pri delovni obremenitvi. Pot ponovitve skalarjev, pot paketne kvantizacije, tenzorska pot in pot uteži APoT imajo različne pritiske. Pomembni so pomnilniška postavitev, ponovna uporaba eksponentov, obseg, normalizacija in oblika strojne opreme. AXIOM daje besednjak za te izbire. Nikogar ne odvezuje, da jih mora sprejeti.

AXIOM je družina računskih poti. Zapakirane vrednosti, prilagodljivo shranjevanje eksponentov, tenzorske ali bločne postavitve in APoT poti s premiki in seštevanji so različna orodja, ne ena marketinška prosojnica.

Tu postane inženirstvo zanimivo. APoT ni zgolj ljubek trik za stiskanje. Za primerne vrednosti spremeni množenje v problem premikov in seštevanj. Tenzorske in bločne poti lahko delijo strukturo eksponentov, kadar ima delovna obremenitev dovolj oblike. Flex omogoča shranjevanje eksponentov v času izvajanja, kadar so seznami na ravni tipov preveč togi. Nobene od teh ne bi smeli izbrati zato, ker je diagram izgledal lepo. Delovna obremenitev izbere, sicer bo kasneje izbralo poročilo o napaki, ki bo pri tem precej manj prijazno.

Kako pregledati izbiro AXIOM

The first review question is boring and therefore useful: why not a simpler number type? If the value is money or a regulated decimal amount, Decimal may be the right answer. If the range is small and well bounded, a Q-format fixed-point type may be calmer. If the number exists only to interoperate with a file format or external API, a float-related type might be the honest edge adapter. AXIOM earns its keep when the workload has changing magnitude, still needs a deterministic contract, and benefits from an explicit exponent set.

The second question is whether the exponent list describes the data or merely flatters the engineer. A list with four broad bands is a different tradeoff from a fine-grained eight-entry list. The NN-shaped list is not a decorative label. It says the values are expected to behave like weight data. If the distribution does not match the list, the representation will still run. Software is often willing to do the wrong thing at impressive speed. That does not make it a design.

The third question is where normalization pressure appears. Addition across distant exponent bands can discard detail. Multiplication can create a result that needs a different band. Repeated operations can accumulate pressure at exactly the places the demo did not visit. The review should ask for boundary tests around zero, sign changes, exponent transitions, large mantissas, and repeated operations. If those cases feel annoying, good. They are probably the cases that matter.

The final question is how the representation leaves evidence. Which type alias did we choose? Which exponent list? Which mantissa width? Which conversion path? Which oracle or property test backs the claim? If the answer is scattered across comments and optimism, the system has already lost some of the benefit. AXIOM is most useful when the numeric choice becomes part of the architecture record, not a clever local trick hidden three modules down.

Verification beats hero numbers

Numerical formats attract hero numbers. Smaller. Faster. More efficient. Better. The words are cheap and usually arrive before the test harness, which is exactly the wrong order. For AXIOM, the responsible posture is to treat benchmarks as per-release evidence, not mythology. If the benchmark has not been rerun on current source, current compiler, current flags, and current hardware, it is not a public claim. It is a postcard from a previous afternoon.

What matters more is the verification route. Does encoding and decoding stay within the declared contract? Do operations normalize into a legal shape? Do edge cases around exponent boundaries behave intentionally? Do property tests cover the annoying values that humans forget because humans have hobbies? Does a high-precision oracle exist where comparison is meaningful? Can replay rebuild the same value path?

That last question is the reason this belongs in our stack. Dweve keeps building toward systems where computation leaves evidence: parsers with receipts, ledgers with typed events, retrieval with deterministic paths, data formats that do not haul a wagon of repeated keys, simulation and numeric layers that can replay. AXIOM fits because moving the point should not mean losing the receipt.

The lesson

The lesson of AXIOM is not that fixed-point was wrong. Fixed-point is still one of the cleanest tools we have. The lesson is that one fixed scale is not always enough, and the alternative does not have to be opaque floating behaviour. A value can carry a controlled exponent choice. The point can move while the contract stays visible.

To je javna zgodba, ki jo je vredno povedati. Paketi Dweve AXIOM vključujejo predznak, eksponentni indeks in mantiso. Izbirajo med eksplicitnimi seznami eksponentov. Uporabljajo aritmetiko, usmerjeno v cela števila, in rezultate normalizirajo nazaj v deklarirane oblike. V zbirki kode imajo konkretne, prilagodljive, tenzorske, blokovske, stratificirane, APoT in raziskovalne poti. Spadajo pod Numerus, ker deterministična aritmetika ni stranska naloga. Je del tega, kako resni sistemi dvakrat pridejo do istega odgovora.

Točka se premika. Odgovornost se ne. To je uporabni del.