SORU
14 EYLÜL 2011, ÇARŞAMBA


Gcc'In ffast-math aslında ne yapar?

Bu bayrağı kullanarak büyük ölçüde kaydır ops için hızını artırmak olduğunu anlayabiliyorum, ve IEEE standartları dışına gider, ama gerçekten ne zaman oluyor ne hakkında bilgi bulmak için görünmüyor olabilir. Herkes bazı ayrıntıları açıklamak ve bir şey olursa bayrağı olsaydı değiştirmek istiyorum nasıl net bir örnek vermek belki misiniz?

O. S. benzer sorular yoluyla araştırmaya çalıştım ama hiçbir şey ffast-math işleyişini anlatan bulamadım.

CEVAP
3 Mart 2014, PAZARTESİ


-ffast-math sadece sıkı IEEE uyum tatilinden daha bir çok şey yapar.

Tüm, tabii ki, bu ilkkırılma yoksıkı IEEE uygunluk, matematiksel olarak aynı (ideal) ama kayan nokta değil, tam olarak aynı olan bir şey için talimatların yeniden düzenlenmesi, örneğin sağlar.

İkinci olarak, budevre dışı bırakırbir kaçınma anlamına gelen tek öğretim matematik fonksiyonları, sonra errno ayar parçacığı yerel değişkeni (bu biraz mimarileri bu fonksiyonları 0 bir fark yaratabilir) bir mektup yaz.

Üçüncü varsayım yapartüm Matematik sonluNaN (veya sıfır) için hiçbir kontrolleri zararlı etki edeceği yerde yapılır., Sadece bu iş olmayacak varsayılmıştır.

Dördüncü olarak, sağlarkarşılıklı yaklaşımlarbölünme ve karşılıklı Karekök için.

Ayrıca, imzalı sıfır (kod eğer hedef destekliyorsa bile imzaladı sıfır yok varsayar, ve diğer şeyler arasında, bir derleme zamanında sabit katlama sağlayan yuvarlama matematik, devre dışı bırakır.

Son, donanım kesmeleri/yakalama matematik bu dernekler hedef mimari ve sonuç olarak . engelli olması durumunda (diğer bir deyişle, sinyal nedeniyle olabilir varsayar ve kod üretir ^em>gerçekten de oluyormuşişlenmiş olmayacak).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009
  • Xbox

    Xbox

    1 Kasım 2005