पर परमाणु युगल/फ्लोट्स प्रलेखन के अनुसार, परमाणु एक अभिन्न प्रकार, गणना प्रकार, या एक सूचक प्रकार का टी का समर्थन करता है। क्या इंटेल टीबीबी समर्थन आधिकारिक तौर पर तैरता/दोगुना करता है? मैंने कुछ पैच here और राफ Schietekat here द्वारा देखा है, जो नवीनतम 4.0 रिलीज में शामिल हो सकता है/शायद नहीं। पैच से मैंने पढ़ा है, मैंने देखा कि एकमात्र बड़ा अंतर पूर्णांक प्रकार से फ्लोट/डबल तक reinterpret_cast का जोड़ा था। अगर कोई इसे स्पष्ट कर सकता है, तो मैं इसकी सराहना करता हूं। धन्यवाद!इंटेल टीबीबी
उत्तर
आप 64 और 32 बिट परमाणु पूर्णांक के शीर्ष पर फ़्लोटिंग-पॉइंट नंबर बिल्डिंग के लिए आसानी से समर्थन जोड़ सकते हैं। परमाणु लोड/स्टोर/एक्सचेंज को reinterpret_cast का उपयोग करके सीधे रैपर के रूप में कार्यान्वित किया जा सकता है, परमाणु अंकगणितीय संचालन परमाणु तुलना विनिमय के साथ एक लूप का उपयोग करके कार्यान्वित किया जा सकता है।
सी ++ 11 परमाणु फ्लोट और युगल का समर्थन करता है। अंकगणितीय कार्यों जैसे std::atomic_fetch_add
केवल अभिन्न प्रकारों के लिए समर्थित हैं, हालांकि।
यदि आपके पास सी ++ 11 कंपाइलर है, तो मैं std::atomic
पर स्विच करने की अनुशंसा करता हूं ताकि आपको अनियंत्रित व्यवहार पर भरोसा न करें।
test_atomic.cpp में गैर-अभिन्न प्रकारों के लिए परीक्षण 2008 में वापस जोड़ा गया था (राफ के साथ चर्चा के समय के तुरंत बाद)। इस प्रकार प्रश्न के समय से भी पहले, टीबीबी फ्लोट & डबल परमाणुओं का समर्थन करता है (हालांकि fetch_and_store तक सीमित है और तुलना_and_exchange केवल पढ़ने-संशोधित-लिखने के लिए ओप)।
- 1. इंटेल टीबीबी
- 2. इंटेल टीबीबी बनाम बूस्ट
- 3. इंटेल टीबीबी लाइसेंस
- 4. इंटेल टीबीबी: ग्राफ का पूल
- 5. पीएचडी बनाम इंटेल टीबीबी और ओपनएमपी के साथ उनके संबंध?
- 6. इंटेल टीबीबी का स्केलेबल_लोकेटर कैसे काम करता है?
- 7. आप ओएस एक्स पर इंटेल टीबीबी कैसे स्थापित करते हैं?
- 8. इंटेल
- 9. एसडीएल ट्रिडियन सी # टीबीबी
- 10. जांचें कि ओपनसीवी को टीबीबी
- 11. एसडीएल ट्रिडियन 2011: सी # टीबीबी
- 12. इंटेल सीपीयू
- 13. मैक ओएस एक्स इंटेल
- 14. इंटेल ओपोड नोटेशन
- 15. मैं इंटेल सीपीयू काउंटर
- 16. इंटेल मानक लाइब्रेरी (सी ++)
- 17. इंटेल x86 एमुलेटर
- 18. 6-कोर इंटेल ज़ीऑन
- 19. इंटेल सी ++ कंपाइलर?
- 20. पेज टेम्पलेट मेटाडाटा को एक रेजर टीबीबी
- 21. Qt- आधारित सीडी रिपर के लिए थ्रेडिंग बिल्डिंग ब्लॉक (टीबीबी)?
- 22. इंटेल के थ्रेडिंग बिल्डिंग ब्लॉक के साथ कोई अनुभव?
- 23. इंटेल पिन: इंस्ट्रूमेंटेट रनिंग प्रक्रिया
- 24. इंटेल i7 प्रोसेसर पर CPUID
- 25. इंटेल टू डबल कास्टिंग इश्यू
- 26. EFI मैक ओएस एक्स (इंटेल)
- 27. इंटेल फोरट्रान - -कैच सीमाएं लाइन नंबर
- 28. इंटेल एसएसई और एवीएक्स उदाहरण और ट्यूटोरियल
- 29. बजना और इंटेल इस CRTP कोड
- 30. जीपीयू (इंटेल सैंडी ब्रिज) पर लोडिंग कोड
यह भी ध्यान देने योग्य है कि अंकगणितीय कार्यों को आसानी से और कुशलतापूर्वक 'std :: atomic' के साथ अनुकरण किया जा सकता है। –
दिलचस्प। यह करने के लिए सबसे अच्छा तरीका क्या है? क्या यह एक तुलना-और-स्वैप पाश है? (वर्तमान मान प्राप्त करें और इसे नए नतीजे से स्वैप करने का प्रयास करें। अगर यह विफल हो जाता है क्योंकि मान बदल दिया गया था, पुनः प्रयास करें।) –
हाँ, यही तरीका है। –