From: Alexei Sheplyakov Date: Thu, 21 Aug 2008 12:02:59 +0000 (+0400) Subject: Remove CL_REQUIRE/CL_PROVIDE(cl_I_doublefactorial) as it's unnecessary. X-Git-Tag: cln_1-3-0~61 X-Git-Url: https://www.ginac.de/CLN/cln.git//cln.git?a=commitdiff_plain;h=7d93d4d6699427362004ba8998ca0b52c898f129;p=cln.git Remove CL_REQUIRE/CL_PROVIDE(cl_I_doublefactorial) as it's unnecessary. The only user of doublefakul_table array is doublefactorial function, so put that array inside it in order to avoid possible static initialization order problems. --- diff --git a/src/integer/misc/combin/cl_I_doublefactorial.cc b/src/integer/misc/combin/cl_I_doublefactorial.cc index 0f4621a..4508461 100644 --- a/src/integer/misc/combin/cl_I_doublefactorial.cc +++ b/src/integer/misc/combin/cl_I_doublefactorial.cc @@ -3,8 +3,6 @@ // General includes. #include "cl_sysdep.h" -CL_PROVIDE(cl_I_doublefactorial) - // Specification. #include "cln/integer.h" @@ -28,7 +26,9 @@ namespace cln { // ord2(n!) = n - logcount(n) to account both for 2^m and for powers of // two in factorial(m). -static cl_I const doublefakul_table [] = { +const cl_I doublefactorial (uintL n) // assume n >= 0 small +{ + static cl_I const doublefakul_table [] = { 1, 1UL, 1UL*2, @@ -124,10 +124,8 @@ static cl_I const doublefakul_table [] = { #endif #endif #endif -}; + }; -const cl_I doublefactorial (uintL n) // assume n >= 0 small -{ if (n < sizeof(doublefakul_table)/sizeof(cl_I)) { return doublefakul_table[n]; } else { @@ -181,5 +179,3 @@ const cl_I doublefactorial (uintL n) // assume n >= 0 small } // namespace cln -CL_PROVIDE_END(cl_I_doublefactorial) -