Lines Matching refs:_Tp

63 template <class _Tp>
64 bool valid_sign_info(bool limit_is_signed, const _Tp &) {
65 return (limit_is_signed && _Tp(-1) < 0) ||
66 (!limit_is_signed && _Tp(-1) > 0);
69 template <class _Tp>
70 bool test_integral_limits_base(const _Tp &, bool unknown_sign = true, bool is_signed = true) {
71 typedef numeric_limits<_Tp> lim;
82 CHECK_COND(valid_sign_info(lim::is_signed, _Tp()));
87 template <class _Tp>
88 bool test_integral_limits(const _Tp &val, bool unknown_sign = true, bool is_signed = true) {
92 typedef numeric_limits<_Tp> lim;
98 _Tp tmp = lim::min();
103 _Tp tmp = lim::max();
110 template <class _Tp>
111 bool test_signed_integral_limits(const _Tp &__val) {
114 template <class _Tp>
115 bool test_unsigned_integral_limits(const _Tp &__val) {
119 template <class _Tp>
120 bool test_float_values(_Tp lhs, _Tp rhs)
123 template <class _Tp>
124 bool test_float_limits(const _Tp &) {
125 typedef numeric_limits<_Tp> lim;
145 _Tp tmp = lim::min();
156 _Tp tmp = lim::min();
158 _Tp old_tmp = tmp;
161 CHECK_COND(tmp >= lim::denorm_min() || tmp == (_Tp)0);
169 const _Tp infinity = lim::infinity();
173 _Tp val = lim::max();
185 str << "sizeof(_Tp) = " << sizeof(_Tp);
187 if (sizeof(_Tp) == 4) {
193 else if (sizeof(_Tp) == sizeof(_STLP_LONG_LONG)) {
202 for (int i = 0; i != sizeof(_Tp) / sizeof(unsigned short); ++i) {
207 for (int i = 0; i != sizeof(_Tp) / sizeof(unsigned short); ++i) {
232 template <class _Tp>
233 bool test_qnan(const _Tp &) {
234 typedef numeric_limits<_Tp> lim;
236 const _Tp qnan = lim::quiet_NaN();
238 //if (sizeof(_Tp) == 4) {