में न्यूनतम 4 एसपी मानों का मानना है कि __m128
वैरिएबल होल्डिंग 4 एसपी मान हो, और आप न्यूनतम चाहते हैं, क्या कोई अंतर्निहित फ़ंक्शन उपलब्ध है, या मूल्यों के बीच बेवकूफ रैखिक तुलना के अलावा कुछ भी है?__m128
सही पता चलेगा कि मेरा समाधान निम्नलिखित (लगता इनपुट __m128
चर x
है):
x = _mm_min_ps(x, (__m128)_mm_srli_si128((__m128i)x, 4));
min = _mm_min_ss(x, (__m128)_mm_srli_si128((__m128i)x, 8))[0];
कौन सा काफी भयानक है, लेकिन यह काम कर रहा है (Btw, वहाँ _mm_srli_si128
की तरह लेकिन __m128
प्रकार के लिए कुछ भी है?)
क्या आप वाकई यह सही हैं? मैंने इस इनपुट वेक्टर के साथ परीक्षण किया ('v [0]' से 'v [3]') '0.109375 0.096875 0.093750 0.096875' और यह आउटपुट है:' 0.096875 0.096875 0.093750 0.093750'। प्रतिकृति से आपका क्या मतलब है? –
क्षमा करें - मैंने परमिट स्थिरांक को गड़बड़ कर दिया - यह अब तय और परीक्षण किया गया है। आउटपुट वेक्टर में इनपुट वेक्टर के न्यूनतम तत्व के बराबर सभी 4 तत्व होते हैं। –