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) 2007, 2009 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.23 sph_neumann
24
25#include <tr1/cmath>
26#include <testsuite_hooks.h>
27
28void
29test01()
30{
31  float xf = std::numeric_limits<float>::quiet_NaN();
32  double xd = std::numeric_limits<double>::quiet_NaN();
33  long double xl = std::numeric_limits<long double>::quiet_NaN();
34
35  unsigned int n = 0;
36
37  float a = std::tr1::sph_neumann(n, xf);
38  float b = std::tr1::sph_neumannf(n, xf);
39  double c = std::tr1::sph_neumann(n, xd);
40  long double d = std::tr1::sph_neumann(n, xl);
41  long double e = std::tr1::sph_neumannl(n, xl);
42
43  VERIFY(std::tr1::isnan<float>(a));
44  VERIFY(std::tr1::isnan<float>(b));
45  VERIFY(std::tr1::isnan<double>(c));
46  VERIFY(std::tr1::isnan<long double>(d));
47  VERIFY(std::tr1::isnan<long double>(e));
48
49  return;
50}
51
52int
53main()
54{
55  test01();
56  return 0;
57}
58
59