1// { dg-require-c-std "" }
2// { dg-add-options ieee }
3
4// 2007-01-10  Edward Smith-Rowland <3dw4rd@verizon.net>
5//
6// Copyright (C) 2006-2015 Free Software Foundation, Inc.
7//
8// This file is part of the GNU ISO C++ Library.  This library is free
9// software; you can redistribute it and/or modify it under the
10// terms of the GNU General Public License as published by the
11// Free Software Foundation; either version 3, or (at your option)
12// any later version.
13//
14// This library is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17// GNU General Public License for more details.
18//
19// You should have received a copy of the GNU General Public License along
20// with this library; see the file COPYING3.  If not see
21// <http://www.gnu.org/licenses/>.
22
23// 5.2.1.20 riemann_zeta
24
25#include <tr1/cmath>
26#include <testsuite_hooks.h>
27
28void
29test01()
30{
31
32  float xf = std::numeric_limits<float>::quiet_NaN();
33  double xd = std::numeric_limits<double>::quiet_NaN();
34  long double xl = std::numeric_limits<long double>::quiet_NaN();
35
36  float a = std::tr1::riemann_zeta(xf);
37  float b = std::tr1::riemann_zetaf(xf);
38  double c = std::tr1::riemann_zeta(xd);
39  long double d = std::tr1::riemann_zeta(xl);
40  long double e = std::tr1::riemann_zetal(xl);
41
42  VERIFY(std::tr1::isnan<float>(a));
43  VERIFY(std::tr1::isnan<float>(b));
44  VERIFY(std::tr1::isnan<double>(c));
45  VERIFY(std::tr1::isnan<long double>(d));
46  VERIFY(std::tr1::isnan<long double>(e));
47
48  return;
49}
50
51int
52main()
53{
54  test01();
55  return 0;
56}
57
58