/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PhysicsTools/Utilities/interface/Sgn.h
27 строк
600 B
Cms Build
Clang-Format
31 май 2019, 17:22
31 май 2019, 17:22
88e58de
Код
Авторство
О чём код?
#ifndef PhysicsTools_Utilities_Sgn_h #define PhysicsTools_Utilities_Sgn_h namespace funct { template <typename T> struct SgnStruct { SgnStruct(const T& t) : _(t) {} inline double operator()() const { return _() >= 0 ? 1 : -1; } inline operator double() const { return _() >= 0 ? 1 : -1; } T _; }; template <typename T> struct Sgn { typedef SgnStruct<T> type; inline static type compose(const T& t) { return type(t); } }; template <typename T> inline typename Sgn<T>::type sgn(const T& t) { return Sgn<T>::compose(t); } } // namespace funct #endif