Sacado Package Browser (Single Doxygen Collection)
Version of the Day
src
Sacado_cmath.hpp
Go to the documentation of this file.
1
// @HEADER
2
// ***********************************************************************
3
//
4
// Sacado Package
5
// Copyright (2006) Sandia Corporation
6
//
7
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
8
// the U.S. Government retains certain rights in this software.
9
//
10
// This library is free software; you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as
12
// published by the Free Software Foundation; either version 2.1 of the
13
// License, or (at your option) any later version.
14
//
15
// This library is distributed in the hope that it will be useful, but
16
// WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
// Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public
21
// License along with this library; if not, write to the Free Software
22
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23
// USA
24
// Questions? Contact David M. Gay (dmgay@sandia.gov) or Eric T. Phipps
25
// (etphipp@sandia.gov).
26
//
27
// ***********************************************************************
28
// @HEADER
29
30
#ifndef SACADO_CMATH_HPP
31
#define SACADO_CMATH_HPP
32
33
#include <cmath>
// for most math functions
34
#include "
Sacado_ConfigDefs.h
"
35
36
// Define some math functions that aren't usually in cmath
37
#if !( (defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || defined(HAVE_SACADO_CXX11) || defined(HAS_C99_TR1_CMATH) || defined(USER_DISABLE_SACADO_TR1_CMATH) )
38
namespace
std
{
39
inline
float
acosh
(
float
x) {
40
return
std::log
(x +
std::sqrt
(x*x -
float
(1.0))); }
41
inline
float
asinh
(
float
x) {
42
return
std::log
(x +
std::sqrt
(x*x +
float
(1.0))); }
43
inline
float
atanh
(
float
x) {
44
return
float(0.5)*
std::log
((
float
(1.0)+x)/(
float
(1.0)-x)); }
45
46
inline
double
acosh
(
double
x) {
47
return
std::log
(x +
std::sqrt
(x*x -
double
(1.0))); }
48
inline
double
asinh
(
double
x) {
49
return
std::log
(x +
std::sqrt
(x*x +
double
(1.0))); }
50
inline
double
atanh
(
double
x) {
51
return
double(0.5)*
std::log
((
double
(1.0)+x)/(
double
(1.0)-x)); }
52
}
53
#endif // HAS_C99_TR1_CMATH
54
55
#endif // SACADO_CMATH_HPP
std::acosh
float acosh(float x)
Definition:
Sacado_cmath.hpp:39
std
Definition:
Kokkos_LayoutContiguous.hpp:62
Sacado::Fad::sqrt
SimpleFad< ValueT > sqrt(const SimpleFad< ValueT > &a)
Definition:
Sacado_Fad_SimpleFadOps.hpp:76
Sacado::Fad::log
SimpleFad< ValueT > log(const SimpleFad< ValueT > &a)
Definition:
Sacado_Fad_SimpleFadOps.hpp:63
std::asinh
float asinh(float x)
Definition:
Sacado_cmath.hpp:41
std::atanh
float atanh(float x)
Definition:
Sacado_cmath.hpp:43
Sacado_ConfigDefs.h
Generated by
1.8.14