Author: bugman Date: Fri Jul 23 10:56:51 2010 New Revision: 11340 URL: http://svn.gna.org/viewcvs/relax?rev=11340&view=rev Log: Hardcoded the factorial() function using a dictionary to return support for Python 2.4 and 2.5. Modified: 1.3/maths_fns/pseudo_ellipse.py Modified: 1.3/maths_fns/pseudo_ellipse.py URL: http://svn.gna.org/viewcvs/relax/1.3/maths_fns/pseudo_ellipse.py?rev=11340&r1=11339&r2=11340&view=diff ============================================================================== --- 1.3/maths_fns/pseudo_ellipse.py (original) +++ 1.3/maths_fns/pseudo_ellipse.py Fri Jul 23 10:56:51 2010 @@ -24,7 +24,63 @@ """Module for the pseudo-elliptical functions.""" # Python module import. -from math import factorial, pi +from math import pi + + +def factorial(n): + """Return n! + + @param n: The number to return the factorial of. + @type n: int + @return: n! + @rtype: int + """ + + # A dictionary of factorials. + dict = {} + dict[0] = 1 + dict[1] = 1 + dict[2] = 2 + dict[3] = 6 + dict[4] = 24 + dict[5] = 120 + dict[6] = 720 + dict[7] = 5040 + dict[8] = 40320 + dict[9] = 362880 + dict[10] = 3628800 + dict[11] = 39916800 + dict[12] = 479001600 + dict[13] = 6227020800 + dict[14] = 87178291200 + dict[15] = 1307674368000 + dict[16] = 20922789888000 + dict[17] = 355687428096000 + dict[18] = 6402373705728000 + dict[19] = 121645100408832000 + dict[20] = 2432902008176640000 + dict[21] = 51090942171709440000 + dict[22] = 1124000727777607680000 + dict[23] = 25852016738884976640000 + dict[24] = 620448401733239439360000 + dict[25] = 15511210043330985984000000 + dict[26] = 403291461126605635584000000 + dict[27] = 10888869450418352160768000000 + dict[28] = 304888344611713860501504000000 + dict[29] = 8841761993739701954543616000000 + dict[30] = 265252859812191058636308480000000 + dict[31] = 8222838654177922817725562880000000 + dict[32] = 263130836933693530167218012160000000 + dict[33] = 8683317618811886495518194401280000000 + dict[34] = 295232799039604140847618609643520000000 + dict[35] = 10333147966386144929666651337523200000000 + dict[36] = 371993326789901217467999448150835200000000 + dict[37] = 13763753091226345046315979581580902400000000 + dict[38] = 523022617466601111760007224100074291200000000 + dict[39] = 20397882081197443358640281739902897356800000000 + + # Return the value. + return dict[n] def pec(x, y):