1// { dg-add-options ieee } 2 3// 1999-08-23 bkoz 4 5// Copyright (C) 1999-2015 Free Software Foundation, Inc. 6// 7// This file is part of the GNU ISO C++ Library. This library is free 8// software; you can redistribute it and/or modify it under the 9// terms of the GNU General Public License as published by the 10// Free Software Foundation; either version 3, or (at your option) 11// any later version. 12 13// This library is distributed in the hope that it will be useful, 14// but WITHOUT ANY WARRANTY; without even the implied warranty of 15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16// GNU General Public License for more details. 17 18// You should have received a copy of the GNU General Public License along 19// with this library; see the file COPYING3. If not see 20// <http://www.gnu.org/licenses/>. 21 22// 18.2.1.1 template class numeric_limits 23 24#include <limits> 25#include <limits.h> 26#include <float.h> 27#include <cwchar> 28#include <testsuite_hooks.h> 29 30template<typename T> 31void 32test_infinity() 33{ 34 bool test; 35 36 if (std::numeric_limits<T>::has_infinity) 37 { 38 T inf = std::numeric_limits<T>::infinity(); 39 test = (inf + inf == inf); 40 } 41 else 42 test = true; 43 44 VERIFY (test); 45} 46 47int main() 48{ 49 test_infinity<float>(); 50 test_infinity<double>(); 51 test_infinity<long double>(); 52 53 return 0; 54} 55