2009-04-04 25 views
10

Sadece haftayı konuyla uğraşmak için harcadım ve IEEE 754 spesifikasyonunu sağlayan no dilini buldum.IEEE 754 hangi dilleri kullanır?

GCC, ilgili C99 bölümüne saygı duymaz (FENV_ACCESS pragma'yı göz ardı eder ve benim çalışma örneklerinden çok şanslı olduğum söylendi).

Kitaplık işlevleriyle ilgili özelliklere uymak imkansızdır (AFAIK), dillerden destek almanız gerekir, çünkü bayraklarla veya yuvarlamalarla çalışırken bazı ortak en iyileştirmeler yasaktır.

İşte benim asıl sorum şu: orada yuvarlama modlarına, istisnai bayraklara ve hesaplara erişmemi sağlayan diller var mı (C/C++ ya da ham derlemeden appart)?

+0

Dilleri veya dil uygulamalarını mı kastediyorsunuz? Tek bir modelde sadece IEEE 754 uyumu yerine, değişebilen (yuvarlama modları gibi) her şeyi test etme ve değiştirme yeteneğini istediğinizi kabul ediyorum. –

cevap

0

AFAIK, hatta FPU donanım üniteleri tamamen IEEE-754 özelliklerini tamamen uygulamamaktadır. Yani, ihtiyacınız olan şeye bağlı olarak, onu elde etmeye çalışmaktan şansınız olabilir. Belki de bu yüzden hiçbir dil tamamen doğru olmaz.

+1

sowtware tuzakları bunun için yaratıldı: FPU'nun çalışmadığı işi bitirmek için bir yazılımı arayabilirsiniz. Bence bu subnormalin üretilme şeklidir. X86 altnormalleri üzerinde – nraynaud

+0

@nraynaud donanımda ele alınır, diğer mimariler çoğunlukla yazılımda işlenir –

2

IEEE 754'ün "zor" bölümlerinden söz ettiğinden, en iyi bahsinizin Fortran'u kullanacağını tahmin ediyorum. Wikipedia makalesine göre Fortran 2003, en az kayan nokta istisnası kullanımını desteklemektedir.

0

Factor gibi görünüyor ve bağlantı D bir SBCL de olduğunu iddia ediyor.

İlgili konular