मैं कुछ हद तक दुर्भाग्यपूर्ण स्थिति में हूं कि एक कार्यक्रम को सीईआरएन रूट से लेकर पायथन तक गहराई से बदलने की कोशिश करें। रूट कोड में (स्वयं में सीआईएनटी एक घृणित आईएमओ है), कोई भी गणितीय कार्यों को "स्ट्रिंग" के रूप में संग्रहीत कर सकता है और इसे रूट, प्लॉटिंग इत्यादि के लिए आरओटी के साथ पास कर सकता है क्योंकि रूट इन्हें "स्ट्रिंग्स" के रूप में कैसे परिभाषित करता है।पायथन/न्यूम्पी/सिस्सी - स्ट्रिंग को गणितीय फ़ंक्शन में कनवर्ट करना
फिलहाल, गणितीय कार्य, एक पंक्ति के रूप में सरल पाठ फ़ाइलों में जमा हो जाती है अर्थात
(1+[1])^(1+[1])/TMath::Gamma(1+[1]) * x^[1]/[0]^(1+[1]) * exp(-(1+[1])*x/[0])
और फिर सी द्वारा तारों के रूप में निकाले जाते हैं ++ जब फ़ाइल में पढ़ने। क्या अजगर में कुछ समान है? मैं numexpr के बारे में पता है, लेकिन मैं नहीं कर सकते अग्रिम में, यह ऊपर के बराबर के साथ काम करने के लिए अर्थात
(1+p[1])**(1+p[1])/scipy.special.Gamma(1+p[1]) * x**p[1]/p[0]**(1+p[1]) * numpy.exp(-(1+p[1])*x/p[0])
धन्यवाद एक गुच्छा लगते हैं।
आप, अजगर से जड़ समारोह कॉल कर सकते हैं ताकि आप सी में के रूप में, अजगर में एक 'ROOT.TF1' बना सकते हैं ++ –