कुछ परीक्षण मामलों को लिखते समय, और कुछ परीक्षण NaN के परिणाम की जांच करते हैं।नकारात्मक NaN एक NaN नहीं है?
मैं std::isnan
लेकिन ज़ोर failes उपयोग करने की कोशिश:
Assertion `std::isnan(x)' failed.
x
का मूल्य मुद्रण के बाद, यह पता चला है कि यह नकारात्मक NaN (-nan
) है जो मेरे मामले में पूरी तरह से स्वीकार्य है।
NaN != NaN
इस तथ्य का उपयोग करने के बाद और assert(x == x)
का उपयोग करने के बाद, संकलक मुझे 'पक्ष' करता है और जोर से अनुकूलित करता है।
अपना खुद का isNaN
फ़ंक्शन को भी अनुकूलित किया जा रहा है।
मैं NaN और -NaN की समानता दोनों की जांच कैसे कर सकता हूं?
o_O:
यह वही है मैं अपने परीक्षण के कमरे में उपयोग क्यों करें? नकारात्मक NaN * है * NaN। – kennytm
क्या आप दिखा सकते हैं कि आप अपना खुद का 'isNaN' कैसे लिखते हैं, और शायद आपके कंपाइलर से अंतर्निहित एक है यदि आपके पास है? ** ** ** के लिए परीक्षण करने का एक तरीका (जैसा कि आपने देखा है, कई हैं) http://en.wikipedia.org/wiki/NaN पर थोड़ा पैटर्न का परीक्षण करना है (एक्सपोनेंट 11..11 है)। –
आप किस कंपाइलर का उपयोग कर रहे हैं, और आपका टेस्ट कोड कैसा दिखता है? – jalf