35 const void*
const fmemaddr[] = {
36 &std::numeric_limits<float>::is_specialized,
37 &std::numeric_limits<float>::digits,
38 &std::numeric_limits<float>::digits10,
40 &std::numeric_limits<float>::is_signed,
41 &std::numeric_limits<float>::is_integer,
42 &std::numeric_limits<float>::is_exact,
43 &std::numeric_limits<float>:: radix,
45 &std::numeric_limits<float>::min_exponent,
46 &std::numeric_limits<float>::min_exponent10,
47 &std::numeric_limits<float>::max_exponent,
48 &std::numeric_limits<float>::max_exponent10,
50 &std::numeric_limits<float>::has_infinity,
51 &std::numeric_limits<float>::has_quiet_NaN,
52 &std::numeric_limits<float>::has_signaling_NaN,
53 &std::numeric_limits<float>::has_denorm,
54 &std::numeric_limits<float>::has_denorm_loss,
56 &std::numeric_limits<float>::is_iec559,
57 &std::numeric_limits<float>::is_bounded,
58 &std::numeric_limits<float>::is_modulo,
60 &std::numeric_limits<float>::traps,
61 &std::numeric_limits<float>::tinyness_before,
63 &std::numeric_limits<float>::round_style
66 const void*
const memaddr[] = {
67 &std::numeric_limits<double>::is_specialized,
68 &std::numeric_limits<double>::digits,
69 &std::numeric_limits<double>::digits10,
71 &std::numeric_limits<double>::is_signed,
72 &std::numeric_limits<double>::is_integer,
73 &std::numeric_limits<double>::is_exact,
74 &std::numeric_limits<double>:: radix,
76 &std::numeric_limits<double>::min_exponent,
77 &std::numeric_limits<double>::min_exponent10,
78 &std::numeric_limits<double>::max_exponent,
79 &std::numeric_limits<double>::max_exponent10,
81 &std::numeric_limits<double>::has_infinity,
82 &std::numeric_limits<double>::has_quiet_NaN,
83 &std::numeric_limits<double>::has_signaling_NaN,
84 &std::numeric_limits<double>::has_denorm,
85 &std::numeric_limits<double>::has_denorm_loss,
87 &std::numeric_limits<double>::is_iec559,
88 &std::numeric_limits<double>::is_bounded,
89 &std::numeric_limits<double>::is_modulo,
91 &std::numeric_limits<double>::traps,
92 &std::numeric_limits<double>::tinyness_before,
94 &std::numeric_limits<double>::round_style
97 const void*
const ldmemaddr[] = {
98 &std::numeric_limits<long double>::is_specialized,
99 &std::numeric_limits<long double>::digits,
100 &std::numeric_limits<long double>::digits10,
102 &std::numeric_limits<long double>::is_signed,
103 &std::numeric_limits<long double>::is_integer,
104 &std::numeric_limits<long double>::is_exact,
105 &std::numeric_limits<long double>:: radix,
107 &std::numeric_limits<long double>::min_exponent,
108 &std::numeric_limits<long double>::min_exponent10,
109 &std::numeric_limits<long double>::max_exponent,
110 &std::numeric_limits<long double>::max_exponent10,
112 &std::numeric_limits<long double>::has_infinity,
113 &std::numeric_limits<long double>::has_quiet_NaN,
114 &std::numeric_limits<long double>::has_signaling_NaN,
115 &std::numeric_limits<long double>::has_denorm,
116 &std::numeric_limits<long double>::has_denorm_loss,
118 &std::numeric_limits<long double>::is_iec559,
119 &std::numeric_limits<long double>::is_bounded,
120 &std::numeric_limits<long double>::is_modulo,
122 &std::numeric_limits<long double>::traps,
123 &std::numeric_limits<long double>::tinyness_before,
125 &std::numeric_limits<long double>::round_style
128 for (
unsigned i = 0;
i !=
sizeof memaddr /
sizeof *memaddr; ++
i) {