कैसे परिवर्तित करें __int64
मान को __m64
एसएसई के साथ उपयोग के लिए मूल्य बदलने के लिए उचित तरीका क्या है?'long long' (या __int64) से __m64
6
A
उत्तर
6
जीसीसी के साथ आप सिर्फ _mm_set_pi64x
उपयोग कर सकते हैं:
#include <mmintrin.h>
__int64 i = 0x123456LL;
__m64 v = _mm_set_pi64x(i);
ध्यान रखें कि सभी compilers _mm_set_pi64x
mmintrin.h
में परिभाषित किया गया है। जीसीसी के लिए यह इस तरह परिभाषित किया है:
extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
_mm_set_pi64x (long long __i)
{
return (__m64) __i;
}
जो पता चलता है कि आप शायद यदि आप चाहें तो, उदाहरण के लिए एक डाली इस्तेमाल कर सकते हैं
__int64 i = 0x123456LL;
__m64 v = (__m64)i;
असफल कि, आप इस तरह के दृश्य C/C++, एक अंतिम उपाय के रूप में आप सिर्फ एक संघ का उपयोग करें और अपने स्वयं के आंतरिक लागू कर सकते हैं के रूप में एक बेहद picky संकलक के साथ फंस रहे हैं:
#ifdef _MSC_VER // if Visual C/C++
__inline __m64 _mm_set_pi64x (const __int64 i) {
union {
__int64 i;
__m64 v;
} u;
u.i = i;
return u.v;
}
#endif
ध्यान दें कि यह कड़ाई से बोल रहा है यूबी है, क्योंकि हम एक संघ के एक संस्करण को लिख रहे हैं और दूसरे से पढ़ रहे हैं, लेकिन इसे इस उदाहरण में काम करना चाहिए।
संबंधित मुद्दे
- 1. सूची <Long>
- 2. सूची <long> सी #
- 3. Emacs और Long Shell Commands
- 4. Google geocoding API (city => long, lat)
- 5. दो अलग संख्यात्मक उपclass (int और long) होने से बचें?
- 6. मैं जावा में int से Long में कैसे परिवर्तित करूं?
- 7. विशेषताएँ त्रुटि: 'long' ऑब्जेक्ट में कोई विशेषता नहीं है 'fetchall'
- 8. सूची <long> बनाम लंबे [], स्मृति उपयोग
- 9. __int64?
- 10. FILETIME से __int64
- 11. std :: wstring से numeric type (int, long, float) को कैसे परिवर्तित करें?
- 12. डबल `अहस्ताक्षरित लंबे long` का कारण बनता है के लिए स्मृति (ढेर?) भ्रष्टाचार
- 13. मैं GetOpt :: Long :: GetOptions के साथ एक स्ट्रिंग का विश्लेषण कैसे करूं?
- 14. "int" और "uint"/"long" और "ulong" के बीच क्या अंतर है?
- 15. क्या निश्चित आकार वाले (int64_t, int32_t) के बजाय गैर-निश्चित पूर्णांक (int, long) का उपयोग करने का कोई फायदा है?
- 16. जावा में लंबे समय तक [] सरणी सूची <Long> ऑब्जेक्ट को परिवर्तित करने का सबसे अच्छा तरीका क्या है?
- 17. क्या एक्सेसर्स को रेखांकित किया जाना चाहिए?</p> <pre><code>class PrimeSieve { populate(int lim); vector<int> sieve; long long limit; public: unsigned int limit(); }; </code></pre> <p>मैं .cpp फ़ाइल में या ज, इनलाइन में एक्सेसर विधि को परिभाषित करना चाहिए:
- 18. सी: जो तेजी से है, ग्लोबल वैरिएबल तक पहुंच रहा है या फंक्शन
- 19. जो तेजी से कोड के लिए संकलित करता है: "एन * 3" या "एन + (एन * 2)"?
- 20. द्वितीयक चयन से बचें या हाइबरनेट मानदंड या एचक्यूएल क्वेरी
- 21. int से void * या इसके विपरीत रूपांतरित करने का क्या अर्थ है?
- 22. सी ++ कक्षा या स्ट्रक्चर compatiblity सी संरचना
- 23. जावा में लुकअप टेबल का उपयोग करने से कई कोड या "कथन" के साथ यह कोड थोड़ा तेज़ क्यों है?
- 24. पोर्टिंग विंडोज कोड, __int64 _tmain और _TCHAR * के बजाय क्या उपयोग करना है?
- 25. मैं सीधे __int64 चर -2500000000 पर क्यों सेट नहीं कर सकता?
- 26. क्या एक खाली मूल्य पैक विस्तार एक प्रकार पैक या वैकल्पिक प्रकार पैरामीटर से मेल खाता है?
- 27. Printf, विशेष रूप से 64bit
- 28. एंड्रॉइड में एक साथ दो (या अधिक) फ़ंक्शंस शुरू करना
- 29. बाईं ओर से टेक्स्टट्रिमिंग
- 30. सी # टीपीएल सी ++ पीपीएल से तेज है?
हुह? https://www.google.com/search?q=_mm_set_pi64 – Mehrdad
'mmintrin.h' –
http://pastebin.com/4bwAbbLZ पर एक नज़र डालें? – Mehrdad