]> 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
8d9254fc 4// Copyright (C) 1999-2020 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 25template<typename T>
fd0bf20c 26void
23cac885 27test03_check(T n)
b2dad0e3 28{
ba4b172f 29 using namespace std;
ba4b172f 30
23cac885
BK
31 stringbuf strbuf;
32 ostream o(&strbuf);
33 const char *expect;
b2dad0e3 34
23cac885
BK
35 if (numeric_limits<T>::digits + 1 == 16)
36 expect = "177777 ffff";
37 else if (numeric_limits<T>::digits + 1 == 32)
38 expect = "37777777777 ffffffff";
39 else if (numeric_limits<T>::digits + 1 == 64)
40 expect = "1777777777777777777777 ffffffffffffffff";
41 else
42 expect = "wow, you've got some big numbers here";
b2dad0e3 43
23cac885
BK
44 o << oct << n << ' ' << hex << n;
45 VERIFY ( strbuf.str() == expect );
b2dad0e3
BK
46}
47
23cac885
BK
48void
49test03()
b2dad0e3 50{
23cac885
BK
51 short s = -1;
52 int i = -1;
53 long l = -1;
b2dad0e3 54
23cac885
BK
55 test03_check (s);
56 test03_check (i);
57 test03_check (l);
b2dad0e3 58}
213c2316 59
23cac885
BK
60int
61main()
62{
63 test03();
64 return 0;
65}