Tüm fenv.h
belgelerine (standartlara) oldukça kafa karıştırıcı, ancak özellikle feholdexcept
ve kayan nokta istisnası için "non-stop modu" kavramı hakkında kafam karıştı. Anlatabildiğim kadarıyla, herhangi bir IEEE kayan nokta uygulamasında, istisnalar varsayılan olarak sinyalsiz/"non-stop", ve fenv.h
arabirimleri, varsayılan olmadıkça bir sinyal modunu etkinleştirmenin bir yolunu sağlamaz gibi görünmektedir. IEEE olmayan sistemler veya sinyalleme istisnası maskesini ayarlamak için standart olmayan uzantılara sahip sistemler haricinde tüm feholdexcept
konseptinin faydasızlığı var mıdır?Feholdexcept vb. Kullanımı nedir?
14
A
cevap
6
Kitaplığı uyguladığınızı ve kodunuzu çağırmadan önce arayanlarınızın kayan nokta ortamını ne yapabilecekleri hakkında hiçbir şey bilmediğinizi varsayalım. Bir istisnayı ortaya çıkartabilirler ve sıfıra bölme sıfıra ulaşan özel bir tuzak işleyicisi yükleyebilirler. 42. Kitaplığınızın, sıfıra bölme için varsayılan IEEE-754 davranışına sahip olduğunu varsayın. feholdexcept
işlevi, bu davranışı zorlamak için bir araç sağlar. Arayanın ortamı, maskelenmemiş istisna ile tamamlandığında, fesetenv
işlevi kullanılarak geri yüklenebilir.
Bu kuşkusuz kullanım oldukça belirsiz köşe durumdur, ama açıkçası herşeyfenv.h
en programcılar için oldukça belirsiz.
İlgili konular
- 1. Ön geliştirmede npm, grunt vb. Kullanımı nedir?
- 2. mongo.lock dosyasının kullanımı nedir?
- 3. Entitlements.plist dosyasının kullanımı nedir?
- 4. SingletonList kullanımı nedir?
- 5. LOCAL_MODULE_TAGS kullanımı nedir?
- 6. Android'de SQLiteDatabase.CursorFactory kullanımı nedir?
- 7. Android'de BaseColumns kullanımı nedir
- 8. pthread'de PTHREAD_CREATE_JOINABLE kullanımı nedir?
- 9. "??" ifadesinin kullanımı nedir?
- 10. "const" kullanımı nedir?
- 11. Sanal dizin nedir? Bunun kullanımı nedir?
- 12. GrayLog2'de MongoDB kullanımı nedir?
- 13. android içinde MemoryFile kullanımı nedir
- 14. Bootstrap'tan satır sınıfının kullanımı nedir?
- 15. cocoapods içinde "~>" kullanımı nedir
- 16. Kotlin - Sınıfsız vücut kullanımı nedir?
- 17. T-SQL'de '\' ve '$' kullanımı nedir?
- 18. C dilinde _start() kullanımı nedir?
- 19. Android: MediaController'ın AnchorView kullanımı nedir?
- 20. VB deyimi "Cr (0)" eşdeğeri C# nedir?
- 21. VB
- 22. vb
- 23. VB
- 24. .exp kullanımı nedir ve .lib ile .dll arasındaki fark nedir?
- 25. Bu koddaki son virgülün kullanımı nedir?
- 26. QName ve Operator sınıfının kullanımı nedir?
- 27. Webservice.asmx.cs'deki tüm kodu yazarken webservice.asmx'in kullanımı nedir?
- 28. Clojure'ın ciltleme biçimindeki alt çizgi kullanımı nedir?
- 29. Java'da java.util.concurrent.atomic paketinde sınıfların tam kullanımı nedir?
- 30. Eclipse Juno - package-info.java kullanımı nedir?
Standart kütüphane için, aksi belirtilmedikçe, şartnameye uygun davranacak varsayılan kayan nokta ortamında tüm işlevlerin çağrılması gerektiği göz önüne alındığında, üçüncü taraf kütüphane yazarlarının da yükü koymasının oldukça makul olacağını düşünüyorum arama uygulamasında. Özellikle 'fe *' işlevlerinin herhangi bir kullanımı, istisnaların kaybolmasına neden olabilecek kayan nokta optimizasyonlarını atlamak için derleyiciyi (GCC değil de olsa) tetikleyebildiği için ... –
@R ..: '' fonksiyonları genellikle biraz tasarımda ve dokümantasyonda eksik. C kütüphanesinin en zayıf özelliği olabileceğini söyleyecek kadar ileri giderdim. İyileştirme önerileriniz varsa, bunları C kayan nokta çalışma grubuna iletmekten memnuniyet duyarız. –