Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
PhysicsTools
Utilities
interface
Sqrt.h
Go to the documentation of this file.
1
#ifndef PhysicsTools_Utilities_Sqrt_h
2
#define PhysicsTools_Utilities_Sqrt_h
3
#include <cmath>
4
5
namespace
funct {
6
7
template
<
typename
T>
8
struct
SqrtStruct
{
9
SqrtStruct
(
const
T
&
t
) :
_
(t) {}
10
inline
double
operator()
()
const
{
return ::sqrt
(
_
()); }
11
inline
operator
double()
const
{
return ::sqrt
(
_
()); }
12
T
_
;
13
};
14
15
template
<
typename
T>
16
struct
Sqrt
{
17
typedef
SqrtStruct<T>
type
;
18
inline
static
type
compose
(
const
T
&
t
) {
return
type
(t); }
19
};
20
21
template
<
typename
T>
22
inline
typename
Sqrt<T>::type
sqrt
(
const
T
&
t
) {
23
return
Sqrt<T>::compose
(t);
24
}
25
26
}
// namespace funct
27
28
#endif
submitPVValidationJobs.t
string t
Definition:
submitPVValidationJobs.py:644
funct::SqrtStruct::_
T _
Definition:
Sqrt.h:12
funct::SqrtStruct::operator()
double operator()() const
Definition:
Sqrt.h:10
funct::sqrt
Sqrt< T >::type sqrt(const T &t)
Definition:
Sqrt.h:22
mathSSE::sqrt
T sqrt(T t)
Definition:
SSEVec.h:19
funct::SqrtStruct::SqrtStruct
SqrtStruct(const T &t)
Definition:
Sqrt.h:9
funct::Sqrt
Definition:
Sqrt.h:16
funct::Sqrt::compose
static type compose(const T &t)
Definition:
Sqrt.h:18
funct::Sqrt::type
SqrtStruct< T > type
Definition:
Sqrt.h:17
funct::SqrtStruct
Definition:
Sqrt.h:8
T
long double T
Definition:
Basic3DVectorLD.h:48
Generated for CMSSW Reference Manual by
1.8.5