त्रिकोणमिति फ़ंक्शन बनाने में my_sind(d)
, my_cosd(d)
, my_tand(d)
, कि एक रेडियन एक एक डिग्री तर्क के बजाय इस्तेमाल किया और 90 के गुणकों में सटीक जवाब प्रदान की है, मैंने देखा है कि कभी-कभी परिणाम था -0.0
बजाय 0.0
।
my_sind( 0.0) --> 0.0
my_sind(-0.0) --> -0.0
my_sind(180.0) --> -0.0
my_sind(360.0) --> 0.0
sin()
और tan()
आम तौर पर दिए गए साइन शून्य इनपुट के लिए समान साइन शून्य परिणाम लौटाते हैं। यह समझ में आता है कि उन इनपुट के लिए my_sin()
मेल खाना चाहिए sin()
।
my_sind( 0.0) alike sin( 0.0) --> 0.0
my_sind(-0.0) alike sin(-0.0) --> -0.0
सवाल यह है कि : क्या पूर्ण संख्या के लिए non_zero_n
/ परिणाम कभी वापस आ सकते हैं चाहिए -0.0
के लिए my_sind(180*non_zero_n)
, my_cosd(180*n + 180)
, my_tand(180*non_zero_n)
?
यह कोड के लिए पर्याप्त आसान है इसलिए केवल f(-0.0)
उत्पादन करता है -0.0
और इसके साथ किया जाता है। यदि किसी अन्य ( गैर-शून्य ) के लिए अन्य f(x)
रिटर्न बनाने का कोई कारण है और उस संकेत का बीमा करने का महत्व है तो सरल सोच ।-0.0
x
नोट: यह एक सवाल नहीं है कि 0.0
बनाम क्यों -0.0
होता है। ऐसा नहीं है कि क्यों cos(machine_pi/4)
नहीं लौटा 0.0
। न ही यह सवाल है कि कैसे 0.0
या की पीढ़ी को नियंत्रित किया जाए -0.0
। मैं इसे डिजाइन प्रश्न के रूप में सबसे अच्छा देखता हूं।
sind(180), sind(-180), sind(360), sind(-360),...
?