में पूर्णांक प्रकार को कैसे सारणित करें मैं एल्गोरिदम के साथ गणितीय सॉफ़्टवेयर डिज़ाइन कर रहा हूं जो जेनेरिक पूर्णांक प्रकारों जैसे मशीन इन्ट्स या जीएमपी पूर्णांक के लिए काम करता है। प्रदर्शन के लिए आमतौर पर मशीन कीट के साथ काम करना चाहता है, लेकिन यदि ओवरफ्लो है, तो कोई भी जीएमपी पर स्विच करने की कोशिश कर सकता है; आदर्श समय पर रनटाइम पर। अब तक पूरा प्रोग्राम पूर्णांक प्रकार पर टेम्पलेट के रूप में लिखा गया है। जैसे ही लाइब्रेरी बढ़ती है, दर्द बढ़ता है:गणितीय सॉफ़्टवेयर
- संकलन समय और स्मृति खपत हाथ से बाहर हो रही है।
- संकलन समय पर त्रुटि संदेश कम उपयोगी हैं।
- डीबगिंग अधिक दर्दनाक है।
- पूरा कोड हेडर फाइलों में है।
मैं निम्नलिखित समाधान के बारे में सोच सकता हूं। एक संकलित समय मैक्रो के माध्यम से टाइप किए गए निश्चित प्रकार पर निर्भर करने के लिए कोड को दोबारा दोहराएं। फिर लाइब्रेरी की कई प्रतियां बनाएं, प्रत्येक इंटीजर प्रकार के लिए एक और निष्पादन योग्य में उन्हें एक साथ लिंक करें। ऐसा लगता है कि मुझे पुस्तकालय के एक इंटरफ़ेस की आवश्यकता है।
संक्षिप्त प्रश्न यह होगा: परिस्थितियों के लिए डिज़ाइन पैटर्न क्या हैं जिनमें लगभग संपूर्ण प्रोग्राम एक प्रकार पर निर्भर करता है?
समय से पहले अनुकूलित न करें (Knuth) - जीएमपी (जीएनयू एकाधिक प्रेसिजन अंकगणित लाइब्रेरी) प्रदर्शन के लिए छोटे 'int' को संभालने और आवश्यक होने पर बड़े पैमाने पर स्केल करने में काफी अच्छा है। इसे फिर से शुरू करने की कोशिश मत करो! – danodonovan