Using out-of-line definition.

This commit is contained in:
Daniel Lemire 2021-04-08 10:46:43 -04:00
parent 2cbfc21f8a
commit 19a771c615

View File

@ -35,7 +35,11 @@ constexpr static int smallest_power_of_five = binary_format<double>::smallest_po
constexpr static int largest_power_of_five = binary_format<double>::largest_power_of_ten();
constexpr static int number_of_entries = 2 * (largest_power_of_five - smallest_power_of_five + 1);
// Powers of five from 5^-342 all the way to 5^308 rounded toward one.
constexpr static uint64_t power_of_five_128[number_of_entries] = {
static const uint64_t power_of_five_128[number_of_entries];
};
template <class unused>
const uint64_t powers_template<unused>::power_of_five_128[number_of_entries] = {
0xeef453d6923bd65a,0x113faa2906a13b3f,
0x9558b4661b6565f8,0x4ac7ca59a424c507,
0xbaaee17fa23ebf76,0x5d79bcf00d2df649,
@ -687,7 +691,6 @@ constexpr static uint64_t power_of_five_128[number_of_entries] = {
0xb6472e511c81471d,0xe0133fe4adf8e952,
0xe3d8f9e563a198e5,0x58180fddd97723a6,
0x8e679c2f5e44ff8f,0x570f09eaa7ea7648,};
};
using powers = powers_template<>;
}