Есть много хороших документов WASM о типе Float и его арифметике с дробной частью (на основе 2) ^ (-1).
В течение многих лет программисты использовали обходные пути в JavaScript, чтобы добиться правильного вычисления десятичной дроби из-за единственного 64-битного типа с плавающей запятой для всех числовых значений.
Планируется ли поддержка типа __Money__ или __Decimal__ ( пример 1 , пример 2 )?
Практически десятичный тип важен для большинства бизнес-приложений. Его поддерживают многие языки, платформы и базы данных.
WebAssembly предоставляет общие аппаратные функции, когда эти функции ускоряют использование. Как правило, он не раскрывает ничего другого: ожидается, что полезные функции будут построены с использованием этих примитивов.
Поэтому мы оцениваем двоично-десятичное число следующим образом:
Обратите внимание, что насколько полезна функция, просто не имеет значения для этого. Если это полезно, можно создать библиотеку (или, что еще лучше, некоторую кодовую базу C++ можно скомпилировать в WebAssembly). Полезность и наличие сторонника этой функции влияют только на то, когда мы до нее доберемся.
Я не думаю, что OP запрашивает поддержку BCD, а скорее поддержку десятичной дроби с плавающей запятой . В остальном, я согласен с @jfbastien , нам следует опасаться поддержки чего-то, что не всегда доступно на оборудовании. Согласно странице Википедии, которую я цитировал, пока это реализовано только на оборудовании IBM. ISTR ходили слухи о том, что Intel занимается этим, но, похоже, ничего не материализовалось.
Похоже, что Intel предлагает библиотеку эмуляции, которая, как утверждается, является переносимой, поэтому, предположительно, C можно скомпилировать в Wasm. Я вообще не изучал это, даже не для того, чтобы убедиться, что мое предположение верно.
Спасибо @jfbastien и @lars-t-hansen за ответы.
Теперь ясно, что эта проблема не связана с WASM и должна быть адресована другой группе.
Библиотека может решить эту проблему.
Самый полезный комментарий
Я не думаю, что OP запрашивает поддержку BCD, а скорее поддержку десятичной дроби с плавающей запятой . В остальном, я согласен с @jfbastien , нам следует опасаться поддержки чего-то, что не всегда доступно на оборудовании. Согласно странице Википедии, которую я цитировал, пока это реализовано только на оборудовании IBM. ISTR ходили слухи о том, что Intel занимается этим, но, похоже, ничего не материализовалось.
Похоже, что Intel предлагает библиотеку эмуляции, которая, как утверждается, является переносимой, поэтому, предположительно, C можно скомпилировать в Wasm. Я вообще не изучал это, даже не для того, чтобы убедиться, что мое предположение верно.