ISO / IEC 10967, Независимая от языка арифметика (LIA ), это серия стандартов по компьютерной арифметике. Он совместим с ISO / IEC / IEEE 60559: 2011, более известным как IEEE 754-2008, и большая часть спецификаций предназначена для специальных значений IEEE 754 (хотя такие значения не требуются самим LIA, если только параметр iec 559 равен истина ). Он был разработан рабочей группой ISO / IEC JTC1 / SC22 / WG11, которая была расформирована в 2011 году.
LIA состоит из трех частей:
Часть 1 имеет дело с основными типами данных integer и с плавающей запятой (для нескольких оснований, включая 2 и 10), но в отличие от IEEE 754-2008 не является представлением значений. Часть 1 также посвящена базовой арифметике, включая сравнения значений таких типов данных. Предполагается, что параметр iec 559 будет иметь значение true для большинства реализаций LIA-1.
Часть 1 была пересмотрена до второго издания, чтобы она больше соответствовала спецификациям частей 2 и 3.
Часть 2 касается некоторых дополнительных "базовые" операции с целочисленными значениями типа данных и с плавающей запятой, но основное внимание уделяется определению требований к числовым версиям элементарных функций. Большая часть спецификаций LIA-2 основана на спецификациях Ada для элементарных функций.
Часть 3 обобщает части 1 и 2 для работы с мнимым и сложным типами данных, а также арифметическими и элементарными функции от таких значений. Большая часть спецификаций в LIA-3 основана на спецификациях для воображаемых и сложных типов данных и операций в C, Ada и Common Lisp.
Каждая из частей предлагает предлагаемые привязки для ряда языков программирования. Они не являются частью стандартов LIA, это всего лишь предложения и не являются полными. Авторы стандарта языка программирования могут пожелать изменить предложения перед любым включением в стандарт языка программирования.
Стандарты C99, C11 и C18 для C, а в 2013 году стандарты для C ++ и Modula-2, имеют частичную привязку к LIA-1.