]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 27_io / basic_ostream / inserters_arithmetic / char / 3.cc
CommitLineData
23cac885
BK
1// 1999-11-15 Kevin Ediger <kediger@licor.com>
2// test the floating point inserters (facet num_put)
b2dad0e3 3
5624e564 4// Copyright (C) 1999-2015 Free Software Foundation, Inc.
b2dad0e3
BK
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
748086b7 9// Free Software Foundation; either version 3, or (at your option)
b2dad0e3
BK
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
748086b7
JJ
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
b2dad0e3 20
b2dad0e3 21#include <sstream>
23cac885 22#include <limits>
fe413112 23#include <testsuite_hooks.h>
b2dad0e3 24
23cac885
BK
25template<typename T>
26bool
27test03_check(T n)
b2dad0e3 28{
ba4b172f
PC
29 using namespace std;
30 bool test __attribute__((unused)) = true;
31
23cac885
BK
32 stringbuf strbuf;
33 ostream o(&strbuf);
34 const char *expect;
b2dad0e3 35
23cac885
BK
36 if (numeric_limits<T>::digits + 1 == 16)
37 expect = "177777 ffff";
38 else if (numeric_limits<T>::digits + 1 == 32)
39 expect = "37777777777 ffffffff";
40 else if (numeric_limits<T>::digits + 1 == 64)
41 expect = "1777777777777777777777 ffffffffffffffff";
42 else
43 expect = "wow, you've got some big numbers here";
b2dad0e3 44
23cac885
BK
45 o << oct << n << ' ' << hex << n;
46 VERIFY ( strbuf.str() == expect );
b2dad0e3
BK
47
48 return test;
49}
50
23cac885
BK
51void
52test03()
b2dad0e3 53{
23cac885
BK
54 short s = -1;
55 int i = -1;
56 long l = -1;
b2dad0e3 57
23cac885
BK
58 test03_check (s);
59 test03_check (i);
60 test03_check (l);
b2dad0e3 61}
213c2316 62
23cac885
BK
63int
64main()
65{
66 test03();
67 return 0;
68}