IEEE 754r er revisjonsprosjektet til IEEE 754 flytende kommaberegningsstandard . Målet er å revidere standarden der den har blitt foreldet, å definere noen gråsoner som er igjen av det forrige arbeidet og å slå den sammen til IEEE 854 (standarden for ikke-posisjonell flyttallsberegning).
I tilfelle strengere definisjoner er umulig å vedta med de gamle applikasjonene, er disse gruppert i en ny seksjon som vurderer to nivåer av implementering.
Arbeidene har pågått siden 2000 , med mål om ferdigstillelse i desember 2006 . 11. juni 2008 ble standarden enstemmig godkjent av IEEE Review Committee (RevCom), og ble formelt godkjent av IEEE-SA Standards Board 12. juni 2008. Den ble publisert 29. august 2008.
Den mest åpenbare forbedringen til standarden er tillegget av 128-biters og desimalstandarden, og noen nye operasjoner; Noen sentrale definisjoner av leksikonet er imidlertid også avklart. Denne listen fremhever de store forskjellene med standarden for hver av hoveddelene. Disse endringene er ennå ikke godkjent, så de har fortsatt verdien av bare forslag .
Emnet for denne nye standarden inkluderer flyttallstall også i desimalbase og 128 biter .
Mange definisjoner er avklart og presisert. Noen termer har blitt erstattet for klarhet (f.eks . kalles denormaliserte tall nå subnormaliserte ).
Definisjonsnivåene for flytende kommatall er oppført for å fremheve forskjellene mellom:
Settet med representable enheter blir deretter undersøkt i detalj, og viser at de kan behandles både ved å betrakte mantissen som en brøk og ved å betrakte den som et heltall.
"Firedobbel presisjon" (128 bits) legges til det binære formatet.
De nye desimalformatene er beskrevet, av lengden på de binære formatene: de kan gi mantisser på 7, 16 eller 34 sifre, og de kan normaliseres eller subnormaliseres. For maksimal rekkevidde og nøyaktighet kombinerer dette formatet deler av eksponenten og mantissen til en kombinasjonssone , og komprimerer resten av mantissen til en veldig tett desimalkode.
Avrunding -til-nærmeste, bånd fra null -avrundingsmodus er lagt til , kun nødvendig for desimaltall.
Denne delen inneholder en rekke avklaringer (spesielt angående sammenligninger mellom tall) og mange operasjoner som tidligere ble anbefalt ( stille kopi , negate , abs og copysign ) er nå nødvendige.
De nye operasjonene inkluderer FMA ( fused multiply-add ), klassifiseringspredikater, forskjellige minimums- og maksimumsfunksjoner (som tillater en total rekkefølge) og to spesifikke operasjoner for desimaler ( samequantum og quantize ).
Minimum og maksimum ( min og maks )Disse to instruksjonene er definert til å være kommutative (bortsett fra når det er inndata lik to Nan):
For å støtte operasjoner der en Nan skal erstattes med en ekstrem, er minimums- og maksimumsoperasjonene definert for å returnere et tall x fremfor en Nan:
I dette tilfellet kalles de to operasjonene minnum og maxnum for å fremheve denne egenskapen.
Desimal aritmetikkDenne delen definerer desimalaritmetikk, kompatibel med den som er tatt i bruk i Java , C # , PL / I , COBOL , REXX og andre.
GrunnkonverteringI motsetning til 754, vil 754r kreve en konvertering mellom desimal og binær base i henhold til en viss avrunding, innenfor omfanget av formatet.
Innholdet i disse avsnittene er revidert uten vesentlige endringer; enkelte aspekter er fortsatt under diskusjon.
Denne nye delen definerer et høyere nivå av samsvar med standarden, og spesifiserer utvidelser som fortsatt er kompatible med den tidligere IEEE 754, men som kan forårsake problemer i eldre applikasjoner under visse omstendigheter. Inntil den er navngitt, vil den bli referert til som "seksjon N".
Det inkluderer:
I standard 754 er definisjonen av underflyt at resultatet av en operasjon er lite nok til å forårsake tap av nøyaktighet. Det var to forhold for å avgjøre om et underløp hadde oppstått eller ikke: før eller etter avrunding av resultatet til uendelig presisjon med ubegrenset eksponent. To forhold for tap av nøyaktighet ble tillatt: unøyaktig resultat eller tap på grunn av denormalisering. Ingen kjente maskinvaresystemer implementerer sistnevnte.
Ved det høyeste samsvarsnivået til 754r foreslås det at bare småhet etter avrunding og unøyaktighet på grunn av tap av presisjon er årsaker til underflyt.
Anneksene har gjennomgått mange endringer: for eksempel er fangstmekanismen flyttet til et anneks. Feller var ikke påkrevd av IEEE 754-1985, selv om mange antok at de var det. Gjennomgangen prøver å fokusere mer på funksjonene som en gitt implementering skal gi for å håndtere spesielle tilfeller: feller er en mulig løsning, men det finnes andre.