Deterministic Fixed Point Arithmetic | Dweve Numerus

Numerus: deterministic fixed-point, decimal and integer arithmetic in Rust; same bits under a declared execution contract. Publishing in round two.

Notikušā ieraksts, kas glabājas, lai to varētu nolasīt.

Noteikumi kā nosaukti artefakti ar iemeslu, kāpēc pārbaude neizdevās.

Izvēlieties skaitlisko līgumu pirms pirmā aprēķina, saglabājiet ar to saistīto pamatojumu un nododiet ikvienam, kas jautā, ierakstu, ko var atkārtoti palaist savā datorā.

Jūs saņemat precīzi izpildītu summu, vienādu skaitli visur, un ierakstu par to, kā tā tika iegūta.

Tas ir būvēts Eiropā, saskaņā ar Eiropas noteikumiem, un tā avots tiek publicēts saskaņā ar Apache-2.0 noteikumiem Dweve pamata laidiena programmas otrajā kārtā. Regulatori un patērētāju organizācijas varēs tieši pārbaudīt aritmētiku dienā, kad tā tiks publiskota.

Tas, vai noteikums ir pareizs, paliek cilvēku jautājums, un jums ir tiesības to uzdot. Tas, ko jūs saņemat, ir kaut kas stabils, ar ko to uzdot: skaitlis, kas iznāk vienāds, kad to pārbauda jebkurš, rakstisks ieraksts par to, kā tas tika iegūts, kas nebalstās uz kāda atmiņu, un pārbaude, kas norāda, vai šis ieraksts vēlāk tika mainīts.

Ja noteikums, kas tiek piemērots jums, ir netaisnīgs, tas to piemēros precīzi, līdz centam, visiem, vienmēr. Tas nepadara noteikumu taisnīgu un nevar noteikt, ka noteikums ir netaisnīgs. Viss, ko tas dara, ir nodrošina, ka skaitlis nav arī nepareizs, kas ir mazāks solījums, nekā jūs cerējāt, un tāds, kas patiešām tiek turēts.

Nekas no tā nemaina vienu lietu, kas jums jādzird skaidri.

Tātad jūs saņemat skaitli ar tā paša rezervi, vai tukšumu, kur būtu bijis izdomāts skaitlis. Arī tas, kur mašīna atrodas, ir svarīgi, un vairāk, nekā cilvēki sagaida. Tas pats darbs, kas veikts Francijā un Vācijā, iegūst ļoti atšķirīgus oglekļa rādītājus, jo elektrība tiek ražota atšķirīgi.

Skaits nav ideāls, un programmatūra to saka bez prasīšanas. Darbi, kas ir pārāk mazi, lai tos reģistrētu, atstāj uz tā nekādu pēdu. Tas pats darbs, palaists divreiz, atgriežas nedaudz atšķirīgs atkarībā no tā, cik silta bija mašīna. Uz dažiem nomātiem datoriem tas neko nevar redzēt, un tas to saka, nevis uzmin.

Datori izmanto elektrību, lai domātu. To zina visi, un neviens nekad nav varējis pateikt, cik daudz no tās tika iztērēts kādam konkrētam darbam. Procesori uztur savu tekošo skaitītāju par iztērēto enerģiju, un šo skaitītāju var nolasīt. Tātad darbs var atgriezties ar tam nepieciešamo elektrību, kas uzrakstīta blakus, un, ja mašīna nevar pateikt, ar neko, nevis ar minējumu.

Tas var arī atbildēt uz kaut ko, ko pirms dažiem gadiem neviens nevarēja jautāt: cik elektrības maksāja summa.

Un nevienam no tā nav jāzvana nekur. Rādījums, deva, bremzēšanas attālums: skaitlis tiek aprēķināts tur, kur tas tiek mērīts, tāpēc tā kopija neatrodas uz kāda cita datora, un nekas negaida savienojumu. Tas ir svarīgāk, ja skaitlis ir par jūsu ķermeni, nevis par jūsu ūdeni.

Skaits ir lēts daļēji tāpēc, ka tas vispār nevar apstrādāt daļskaitļus, tāpēc tas skaita veselos skaitļos. Tā ir tā pati skaitīšana, kas dod identisku atbildi uz katras mašīnas. Tātad summa jūsu skapī nav aptuvenāka bankas summas versija, jo kaste bija maza. Tā ir tā pati summa.

Skaits jūsu skapī nosaka, cik daudz jūs esat parādā par ūdeni. Sūknis slimnīcas nodaļā nosaka, cik daudz zāļu tiek ievadīts. Kaste aiz automašīnas stūres nosaka, cik stipri bremzēt. Neviens tos nevēro, un katrs veic tādu pašu aritmētiku kā banka ar jūsu naudu. To var izdarīt tādā pašā līmenī, un atbildei nekad nav jāpamet telpa, kurā tā tika aprēķināta.

organizācija, kas saglabāja darbu, var to nodot tajā pašā pēcpusdienā

jūs prasāt aprēķinu, un tas ir normāls lūgums

un katrā gadījumā aprēķinu, nevis tā kopsavilkumu

valsts iestādei, par lēmumu par jūsu naudu

energoapgādes uzņēmumam, par rēķinu, kuru apstrīdat

Šādi veikts, atbilde nav kāda cilvēka atmiņa. Sākotnējie skaitļi tika saglabāti, tāpat kā tas, kas ar tiem tika darīts un kādā secībā. Palaidiet vēlreiz, un rezultāts ir identisks, nevis aptuvens. Ja ieraksts pa vidu tika mainīts, tas parādās vispirms, pirms kāds vēl kaut ko pārbauda.

Jūs, iespējams, esat to jautājuši un saņēmuši sliktu atbildi. Kāds apskata pašreizējo aprēķina versiju, veic to ar šodienas skaitļiem un saka, ka rezultāts ir aptuveni pareizs. Neviens neizvairās. Lieta, kas pagājušajā pavasarī radīja jūsu skaitli, vairs nepastāv, tāpēc nav uz ko norādīt.

Neviens no šiem neatbild uz jautājumu, ko jebkurš uzdotu tālāk.

Pagājušais marts jaunajā sistēmā iznāk tieši tāpat kā vecajā, tāpēc jūsu iesniegtais paziņojums joprojām ir spēkā, un nav jāzaudē pēcpusdiena. Jautājiet, kā tika iegūts skaitlis, un jūs saņemat aprēķinu, nevis atrunu. Jums nav jāpaļaujas uz to, ka aprēķins nav mainīts, jo jebkādas vēlākas izmaiņas parādās.

Neviena atbilde nenāk no mašīnas. Nav noapaļošanas, kas vienā procesorā notiek vienādi, citā savādāk, un nav īsceļa, ko ātrāks dators izmanto, bet lēnāks ne. Nomainiet mašīnu, un skaitlis nemainās, tāpat kā veidlapa, ko iesniedzāt, un vēstule, kurā tas bija minēts.

Kaut kur aiz jūsu bankas, energoapgādes uzņēmuma vai nodokļu biroja programmatūra tiek nomainīta. Neviens jums to nesaka, un parasti jums tas nerūp. Tas jums rūp dienā, kad jaunā sistēma saskaita pagājušo gadu un iegūst citu rezultātu, jo jūsu jau iesniegtā veidlapa vairs neatbilst sistēmai, kas to radīja, un jums ir jāskaidro tas citiem.

Rēķins tiek nokārtots nedēļas laikā. Dokumenti tiek pārlasīti gadu vēlāk.

Šeit noapaļošanas punkts ir pierakstīts vienreiz, pirms kaut kas tiek saskaitīts, un katra jūsu rēķina kopija to ievēro. Tāpēc nav telefona zvanu, nav konta apturēšanas un nav trīs nedēļu. Kopijas sakrīt, jo tās tika aprēķinātas vienādi, nevis tāpēc, ka kāds vēlāk tās saskaņoja.

Iemesls ir mazāks, nekā izklausās. Nodoklis veidojas no centa daļām, un kādam ir jāizlemj, kur šīs daļas tiek noapaļotas. Viena sistēma noapaļo katrā rindā. Otra noapaļo vienreiz, uz kopsummas. Abas ir saprātīgas, un tās var atšķirties par centu, nevienai nekļūstot nepareizai.

Viens rēķins, trīs kopijas: kvīts jūsu rokā, veikala kase un jūsu banka. Ik pa laikam divas no tām beidzas ar atšķirīgu centu. Nekas netika nozagts un neviens nebija nolaidīgs, un tomēr jūs saņemat zvanu un gaidāt trīs nedēļas, kamēr kāds izlemj, kura kopija bija pareiza.

Pietiekami mazs, lai ignorētu, līdz brīdim, kad skaitlis ir tas, ko esat parādā.

Šeit tiek skaitīts veselos skaitļos, kā jūs skaitītu monētas, tāpēc nekas nepaliek pāri un nekas nedrīkst novirzīties. Tas, ko jūs iegūstat, ir garlaicīgi, bet vērtīgi. Jūsu tālrunis, kartes lasītājs veikalā un dators citā valstī visi nonāk pie viena skaitļa, un vecākais no trim nav mazāk pareizs nekā jaunākais.

Dators raksta desmito daļu tā, kā jūs rakstītu trešo daļu kā decimāldaļu, tas ir, ne gluži. Atsevišķi starpība ir pārāk maza, lai to redzētu. Tā nepaliek viena: rēķinam ir rindas, gadam ir divpadsmit rēķini, un katra no šīm starpībām joprojām ir kopsummā apakšā, kas ir skaitlis, kas jums jāmaksā.

Skaitlis, ko saņēmāt, nāca no mašīnas, un cita mašīna varētu būt devusi nedaudz atšķirīgu. Jautājiet datoram desmito daļu plus divas desmitās, un, ja liksiet tam parādīt visus ciparus, ko tas glabā, atbilde beigsies ar lieku četrinieku. Katra mašīna tā dara, tāpēc neviens to nepamana. Katra savā veidā nogludina lieko četrinieku, un tā viena summa, aprēķināta šeit un citā valstī, nonāk divās dažādās vietās.

Jūs saņemat skaitli, kas atbild par sevi, un lēmumu par to ar datumu.

Sertifikācijas pakete sāk sarunu ar auditoru, un to noslēdz jūsu iesniegums pret savu produktu, ko neviens jums nevar iedot. Un, ja nevienam jūsu organizācijas radītajam skaitlim nekad nav jābūt aizstāvētam ārpus tās, godīga atbilde ir tāda, ka neviens no tā nav vērts mainīt.

Enerģijas skaitītājs aptver vienu operētājsistēmu vienā arhitektūrā, un citur tas samazinās, nevis veic aprēķinus. Lai pierādītu īpašību, ir nepieciešams ārējs risinātājs, un bez tā jūs iegūstat robežas un intervālus, kas ir noderīgi, bet nav pierādījumi.

Nekas to nedara. Tas rada pierādījumus, un cilvēks izvērtē pierādījumus. Tas ar pilnīgu konsekvenci noturēs slikti izvēlētu skaitlisko līgumu un radīs nevainojamu ierakstu par to, un ieraksts ir noderīgā daļa, nevis solījums par pareizību, jo solījums nav pārbaudāms, bet ieraksts ir.

Un ir vērts tikpat skaidri pateikt, ko tas jums nedod.

Neviens no šiem četriem netiek atcelts. Tie vienkārši neattiecas, kas ir ievērojami spēcīgāka pozīcija nekā atcelšana, un tā ir atšķirība starp bibliotēku un pakalpojumu, kas tērpies tās izskatā. Jūsu izlaides artefakts fiksē versiju un licenci, un zināmu būvējumu var saglabāt incidenta gadījumam, nevienam nejautājot.

Nav apstrādes līguma par aprēķinu, jo nav apstrādātāja. Nav pārsūtīšanas novērtējuma, jo nekas neatstāj sistēmu. Nav pieejamības atkarības no piegādātāja, jo neviens mūsu galapunkts nav ceļā. Un nav versijas, kas parādās zem jums pēc kāda cita izlaišanas grafika, jo jūs izlemjat, kad pāriet.

Tā ir bibliotēka ar atļaujošu licenci, ko izveidojis Nīderlandes uzņēmums, un tā kļūst par jūsu binārā faila daļu. Nekas neatrodas aprēķina ceļā, tāpēc jūsu incidenta laikā nav nekā, kas varētu būt nepieejams, nav cenas par izsaukumu, nav atjaunošanas datuma un nav ko pārrunāt, kad mainās jūsu apjomi vai iepirkuma politika. Atkarība ir kods, ko jūs nosūtāt, nevis galapunkts, ko jūs īrējat. Jūsu izlaides artefakts var fiksēt versiju un licenci, kamēr jūsu komanda izlemj, kad atjaunināt, un var saglabāt zināmu būvējumu incidentam. Iepirkums iegūst kontrolētu komponentu ar izejas ceļu, nevis atkārtotu piekļuvi piegādātājam.