summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/26_numerics/headers/cmath/60401.cc
blob: cd7079967be7782d75541c009c29cf077b228a26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Copyright (C) 2016-2018 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.

// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3.  If not see
// <http://www.gnu.org/licenses/>.

// { dg-do compile { target c++11 } }

// PR libstdc++/60401

#include <math.h>

namespace test
{
  template<typename T>
    using F = T*;

  F<float(float)>abs = ::abs;

#ifdef _GLIBCXX_USE_C99_MATH_TR1
  F<float(float)>		acosh		= ::acosh;
  F<float(float)>		asinh		= ::asinh;
  F<float(float)>		atanh		= ::atanh;
  F<float(float)>		cbrt		= ::cbrt;
  F<float(float, float)>	copysign	= ::copysign;
  F<float(float)>		erf		= ::erf;
  F<float(float)>		erfc		= ::erfc;
  F<float(float)>		exp2		= ::exp2;
  F<float(float)>		expm1		= ::expm1;
  F<float(float, float)>	fdim		= ::fdim;
  F<float(float, float, float)>	fma		= ::fma;
  F<float(float, float)>	fmax		= ::fmax;
  F<float(float, float)>	fmin		= ::fmin;
  F<float(float, float)>	hypot		= ::hypot;
  F<int(float)>			ilogb		= ::ilogb;
  F<float(float)>		lgamma		= ::lgamma;
  F<long long(float)>		llrint		= ::llrint;
  F<long long(float)>		llround		= ::llround;
  F<float(float)>		log1p		= ::log1p;
  F<float(float)>		log2		= ::log2;
  F<float(float)>		logb		= ::logb;
  F<long(float)>		lrint		= ::lrint;
  F<long(float)>		lround		= ::lround;
  F<float(float)>		nearbyint	= ::nearbyint;
  F<float(float, float)>	nextafter	= ::nextafter;
  F<float(float, long double)>	nexttoward	= ::nexttoward;
  F<float(float, float)>	remainder	= ::remainder;
  F<float(float, float, int*)>	remquo		= ::remquo;
  F<float(float)>		rint		= ::rint;
  F<float(float)>		round		= ::round;
  F<float(float, long)>		scalbln		= ::scalbln;
  F<float(float, int)>		scalbn		= ::scalbn;
  F<float(float)>		tgamma		= ::tgamma;
  F<float(float)>		trunc		= ::trunc;
#endif
}