में उपलब्ध मैं काफी टोड Veldhuizen के metaprogramming guide में अंतिम उदाहरण देखने के लिए जहां sin
और cos
तरह ट्रिग कार्यों पूर्व गणना संकलन समय पर कर रहे हैं प्रभावित हुआ है। ईमानदार होने के लिए यह मुझे दूर उड़ा दिया और यदि आप कोड लिख रहे हैं जो लूप में इनकी जबरदस्त संख्या करता है, जैसा कि मैं हूं, तो इसका प्रदर्शन बढ़ने पर काफी असर हो सकता है।क्या गणित ऑपरेटरों metaprogramming
प्रश्न 1
हालांकि, यह जहां लाइन क्या एक रन-टाइम उपकरण के रूप में उपलब्ध है के बीच तैयार की है आश्चर्य (sin
या cos
तरह बुला वास्तविक गणित पुस्तकालय कार्यों) और क्या रूप में उपलब्ध है मुझे नेतृत्व केवल एक संकलन समय गणितीय ऑपरेटर।
टोड के उदाहरण को साधारण अंकगणितीय का उपयोग करके ट्रिगर फ़ंक्शन की मैन्युअल रूप से गणना करने की आवश्यकता है।
मैं तो मान लेना कि एक संकलक सभी साधारण गणित कार्यों *
+
-
/
लेकिन और कुछ नहीं करने में सक्षम है हूँ?
प्रश्न 2
इस तरह के एक मामले में, आप केवल पूर्णांकों पर sin
और cos
गणना के लिए संकलन समय परिणाम प्राप्त करने में सक्षम है, है ना होगा? यही है, आप sin 45.5
जैसे कुछ के परिणाम को पूर्व-संकलित नहीं कर सकते हैं, सही?
या शायद अगर टेम्पलेट केवल पैरामीटर के रूप में पूर्णांकों स्वीकार कर सकते हैं, आप कई पूर्णांकों लेने के लिए और 1
2
3
गुजर और एक नाव मूल्य की sin
पाने के लिए 1.23
बनाने की तरह कक्षा में उनमें से बाहर एक float
बनाने के लिए, कर सकते हैं।
श्रृंखला विस्तार के साथ संकलन समय में साइन कंप्यूटिंग के लिए http://www10.informatik.uni-erlangen.de/~pflaum/pflaum/ProSeminar/meta-art.html देखें – jmihalicza