ISO/IEC 10967
ISO/IEC 10967 , Språkoberoende aritmetik ( LIA ), är en serie standarder för datoraritmetik. Den är kompatibel med ISO/IEC/IEEE 60559:2011, mer känd som IEEE 754-2008 , och mycket av specifikationerna är för IEEE 754 specialvärden (även om sådana värden inte krävs av LIA själv, om inte parametern iec 559 är sann ). Det utvecklades av arbetsgruppen ISO/IEC JTC1/SC22 /WG11, som lades ner 2011.
LIA består av tre delar:
- Del 1: Heltals- och flyttalsaritmetik , andra upplagan publicerad 2012.
- Del 2: Elementära numeriska funktioner , första upplagan publicerad 2001.
- Del 3: Komplexa heltals- och flyttalsaritmetiska och komplexa elementära numeriska funktioner, första upplagan publicerad 2006.
Delar
Del 1
Del 1 behandlar de grundläggande heltals- och flyttalsdatatyperna (för flera rader, inklusive 2 och 10), men till skillnad från IEEE 754-2008 inte representationen av värdena. Del 1 behandlar också grundläggande aritmetik, inklusive jämförelser, på värden för sådana datatyper. Parametern iec 559 förväntas vara sann för de flesta implementeringar av LIA-1.
Del 1 reviderades, till den andra upplagan, för att bli mer i linje med specifikationerna i del 2 och 3.
Del 2
Del 2 behandlar några ytterligare "grundläggande" operationer på heltals- och flyttalsdatatypvärden, men fokuserar främst på att specificera krav på numeriska versioner av elementära funktioner . Mycket av specifikationerna i LIA-2 är inspirerade av specifikationerna i Ada för elementära funktioner.
Del 3
Del 3 generaliserar del 1 och 2 för att behandla imaginära och komplexa datatyper och aritmetiska och elementära funktioner på sådana värden. Mycket av specifikationerna i LIA-3 är inspirerade av specifikationerna för imaginära och komplexa datatyper och operationer i C , Ada och Common Lisp .
Bindningar
Var och en av delarna ger förslag på bindningar för ett antal programmeringsspråk. Dessa är inte en del av LIA-standarderna, bara förslag och är inte kompletta. Författare till en programmeringsspråksstandard kan vilja ändra förslagen innan de införlivas i programmeringsspråksstandarden.
C99 , C11 och C17 -standarderna för C , och 2013 , standarderna för C++ och Modula-2 , har partiella bindningar till LIA-1. [ förtydligande behövs ]
Se även
- IEEE 754 , standard för flytpunktsarithmetik
- ISO/IEC 11404 , Datatyper för allmänna ändamål
externa länkar
- ISO/IEC 10967-1:2012 , fullständig text av del 1: Heltals- och flyttalsaritmetik .
- ISO/IEC 10967-2:2001 , fullständig text av del 2: Elementära numeriska funktioner .
- ISO/IEC 10967-3:2006 , fullständig text av del 3: Komplexa heltals- och flyttalsaritmetiska och komplexa elementära numeriska funktioner .