Design: Jenis Desimal/Uang

Dibuat pada 6 Agu 2017  ·  3Komentar  ·  Sumber: WebAssembly/design

Ada banyak dokumen WASM yang bagus tentang tipe Float dan aritmatikanya dengan bagian pecahan (berbasis 2)^(-1).

Selama bertahun-tahun pemrogram telah menggunakan pekerjaan di sekitar JavaScript untuk mencapai perhitungan pecahan desimal yang tepat karena satu-satunya tipe mengambang 64-bit untuk semua numerik.
Apakah ada rencana untuk mendukung tipe __Money__ atau __Decimal__ ( Contoh 1 , Contoh 2 )?

Praktis tipe desimal penting untuk sebagian besar aplikasi bisnis apa pun. Banyak bahasa, platform, dan basis data mendukungnya.

Komentar yang paling membantu

Saya tidak berpikir OP meminta dukungan BCD melainkan dukungan untuk titik mengambang desimal . Selain itu, saya setuju dengan @jfbastien , kita harus berhati-hati dalam mendukung sesuatu yang tidak sering tersedia di perangkat keras. Menurut halaman Wikipedia yang saya kutip, sejauh ini hanya perangkat keras IBM yang mengimplementasikannya. ISTR ada desas-desus tentang Intel yang mengejarnya tetapi tampaknya tidak ada yang terwujud.

Intel tampaknya menawarkan perpustakaan emulasi yang diklaim portabel, jadi, mungkin C yang dapat dikompilasi ke Wasm. Saya belum memeriksanya sama sekali, bahkan untuk memverifikasi bahwa anggapan saya benar.

Semua 3 komentar

WebAssembly mengekspos fitur perangkat keras umum saat fitur ini membuat usecase lebih cepat. Secara umum tidak mengekspos hal lain: diharapkan fitur yang berguna dibangun menggunakan primitif ini.

Oleh karena itu kami akan mengevaluasi desimal berkode biner sebagai berikut:

  • Apakah tersedia secara luas di ISA modern? Tidak. Itu di x86 yang lebih lama dan tidak tersedia dalam mode lama.
  • Apakah lebih cepat? Sebuah kasus dapat dibuat bahwa kadang-kadang, memiliki maksud yang diungkapkan (misalnya "melakukan penambahan BCD") dapat menghasilkan kode yang lebih baik karena maksud lain hilang dan kompilator tidak bisa mendapatkannya kembali. Itu tidak jelas terjadi di sini, tetapi saya bersedia diyakinkan sebaliknya.

Perhatikan bahwa seberapa berguna suatu fitur tidak relevan untuk ini. Jika berguna maka perpustakaan dapat dibangun (atau lebih baik, beberapa basis kode C++ dapat dikompilasi ke WebAssembly). Kegunaan dan kehadiran jagoan untuk fitur ini hanya menjadi faktor penentu kapan kita akan mendapatkannya.

Saya tidak berpikir OP meminta dukungan BCD melainkan dukungan untuk titik mengambang desimal . Selain itu, saya setuju dengan @jfbastien , kita harus berhati-hati dalam mendukung sesuatu yang tidak sering tersedia di perangkat keras. Menurut halaman Wikipedia yang saya kutip, sejauh ini hanya perangkat keras IBM yang mengimplementasikannya. ISTR ada desas-desus tentang Intel yang mengejarnya tetapi tampaknya tidak ada yang terwujud.

Intel tampaknya menawarkan perpustakaan emulasi yang diklaim portabel, jadi, mungkin C yang dapat dikompilasi ke Wasm. Saya belum memeriksanya sama sekali, bahkan untuk memverifikasi bahwa anggapan saya benar.

Tangki Anda @jfbastien dan @lars-t-hansen untuk jawabannya.

Sekarang jelas bahwa masalah ini tidak terkait dengan WASM dan harus ditujukan ke kelompok lain.

Perpustakaan dapat mengatasi masalah ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Thaina picture Thaina  ·  8Komentar

arunetm picture arunetm  ·  7Komentar

beriberikix picture beriberikix  ·  7Komentar

chicoxyzzy picture chicoxyzzy  ·  5Komentar

spidoche picture spidoche  ·  4Komentar