Existem muitos bons documentos WASM sobre o tipo Float e sua aritmética com parte fracionária sendo (2-based)^(-1).
Por anos, os programadores têm usado alternativas em JavaScript para obter o cálculo adequado da fração decimal devido ao único tipo flutuante de 64 bits para todos os números.
Existe um plano para suportar o tipo __Money__ ou o tipo __Decimal__ ( Exemplo 1 , Exemplo 2 )?
O tipo praticamente decimal é importante para a maioria dos aplicativos de negócios. Muitos idiomas, plataformas e bancos de dados o suportam.
O WebAssembly expõe recursos de hardware comuns quando esses recursos tornam os casos de uso mais rápidos. Em geral, não expõe mais nada: espera-se que recursos úteis sejam construídos usando essas primitivas.
Portanto, avaliaríamos o decimal codificado em binário da seguinte forma:
Observe que a utilidade de um recurso simplesmente não é relevante para isso. Se for útil, uma biblioteca pode ser construída (ou melhor, alguma base de código C++ pode ser compilada para WebAssembly). A utilidade e a presença de um campeão para o recurso apenas influenciam quando chegaremos a ele.
Não acho que o OP esteja solicitando suporte a BCD, mas sim suporte a ponto flutuante decimal . Fora isso, concordo com @jfbastien , devemos ter cuidado com o suporte a algo que não está disponível com frequência em hardware. De acordo com a página da Wikipedia que citei, apenas o hardware da IBM até agora o implementa. ISTR havia rumores sobre a Intel perseguindo isso, mas nada parece ter se materializado.
A Intel parece oferecer uma biblioteca de emulação que se afirma ser portátil, portanto, presumivelmente C que poderia ser compilada para o Wasm. Eu não olhei para isso, nem mesmo para verificar se minha presunção está correta.
Tank você @jfbastien e @lars-t-hansen pelas respostas.
Agora está claro que este problema não está relacionado ao WASM e deve ser endereçado a outro grupo.
Uma biblioteca pode resolver esse problema.
Comentários muito úteis
Não acho que o OP esteja solicitando suporte a BCD, mas sim suporte a ponto flutuante decimal . Fora isso, concordo com @jfbastien , devemos ter cuidado com o suporte a algo que não está disponível com frequência em hardware. De acordo com a página da Wikipedia que citei, apenas o hardware da IBM até agora o implementa. ISTR havia rumores sobre a Intel perseguindo isso, mas nada parece ter se materializado.
A Intel parece oferecer uma biblioteca de emulação que se afirma ser portátil, portanto, presumivelmente C que poderia ser compilada para o Wasm. Eu não olhei para isso, nem mesmo para verificar se minha presunção está correta.