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-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.4 hermite
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  unsigned int n = 5;
37
38  float a = std::tr1::hermite(n, xf);
39  float b = std::tr1::hermitef(n, xf);
40  double c = std::tr1::hermite(n, xd);
41  long double d = std::tr1::hermite(n, xl);
42  long double e = std::tr1::hermitel(n, xl);
43
44  VERIFY(std::tr1::isnan<float>(a));
45  VERIFY(std::tr1::isnan<float>(b));
46  VERIFY(std::tr1::isnan<double>(c));
47  VERIFY(std::tr1::isnan<long double>(d));
48  VERIFY(std::tr1::isnan<long double>(e));
49
50  return;
51}
52
53int
54main()
55{
56  test01();
57  return 0;
58}
59
60