Il existe de nombreux bons documents WASM sur le type Float et son arithmétique, la partie fraction étant (basée sur 2) ^ (-1).
Pendant des années, les programmeurs ont utilisé des solutions de contournement dans JavaScript pour obtenir un calcul correct de la fraction décimale grâce au seul type flottant 64 bits pour tous les nombres.
Existe-t-il un plan pour prendre en charge le type __Money__ ou le type __Decimal__ ( Exemple 1 , Exemple 2 ) ?
Le type pratiquement décimal est important pour la plupart des applications métier. De nombreux langages, plates-formes et bases de données le prennent en charge.
WebAssembly expose les fonctionnalités matérielles courantes lorsque ces fonctionnalités accélèrent les cas d'utilisation. Il n'expose en général rien d'autre : on s'attend à ce que des fonctionnalités utiles soient construites à l'aide de ces primitives.
Nous évaluerions donc la décimale codée en binaire comme suit :
Notez que l'utilité d'une fonctionnalité n'est tout simplement pas pertinente pour cela. Si cela est utile, une bibliothèque peut être construite (ou mieux, une base de code C++ peut être compilée en WebAssembly). L'utilité et la présence d'un champion pour la fonctionnalité ne sont prises en compte que lorsque nous y parviendrons.
Je ne pense pas que l'OP demande la prise en charge de BCD mais plutôt la prise en charge de la virgule flottante décimale . En dehors de cela, je suis d'accord avec @jfbastien , nous devons nous méfier de prendre en charge quelque chose qui n'est pas fréquemment disponible dans le matériel. Selon la page Wikipedia que j'ai citée, seul le matériel IBM l'implémente jusqu'à présent. ISTR il y avait des rumeurs selon lesquelles Intel la poursuivait mais rien ne semble s'être matérialisé.
Intel semble proposer une bibliothèque d'émulation prétendument portable, donc vraisemblablement du C qui pourrait être compilé en Wasm. Je n'ai pas du tout examiné cela, pas même pour vérifier que ma présomption est correcte.
Merci @jfbastien et @lars-t-hansen pour les réponses.
Maintenant, il est clair que ce problème n'est pas lié à WASM et devrait être adressé à un autre groupe.
Une bibliothèque peut résoudre ce problème.
Commentaire le plus utile
Je ne pense pas que l'OP demande la prise en charge de BCD mais plutôt la prise en charge de la virgule flottante décimale . En dehors de cela, je suis d'accord avec @jfbastien , nous devons nous méfier de prendre en charge quelque chose qui n'est pas fréquemment disponible dans le matériel. Selon la page Wikipedia que j'ai citée, seul le matériel IBM l'implémente jusqu'à présent. ISTR il y avait des rumeurs selon lesquelles Intel la poursuivait mais rien ne semble s'être matérialisé.
Intel semble proposer une bibliothèque d'émulation prétendument portable, donc vraisemblablement du C qui pourrait être compilé en Wasm. Je n'ai pas du tout examiné cela, pas même pour vérifier que ma présomption est correcte.