From 7d93d4d6699427362004ba8998ca0b52c898f129 Mon Sep 17 00:00:00 2001 From: Alexei Sheplyakov Date: Thu, 21 Aug 2008 16:02:59 +0400 Subject: [PATCH] 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. --- src/integer/misc/combin/cl_I_doublefactorial.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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) - -- 2.45.2