Go to the documentation of this file.Go to the SVN repository for this file.
1 #ifndef ALGO_BLAST_GUMBEL_PARAMS__INCLUDED_NJN_FUNCTION
2 #define ALGO_BLAST_GUMBEL_PARAMS__INCLUDED_NJN_FUNCTION
60 template <
typename T>
inline T exp2 (
T x_);
61 template <
typename T>
inline T log2 (
T x_);
62 template <
typename T>
inline T exp10 (
T x_);
63 template <
typename T>
inline T log10 (
T x_);
65 template <
typename T>
inline T max (
T x_,
T y_);
66 template <
typename T>
inline T max3 (
T a_,
T b_,
T c_);
67 template <
typename T>
inline T min (
T x_,
T y_);
68 template <
typename T>
inline T plus (
T x_);
69 template <
typename T>
inline T minus (
T x_);
70 template <
typename T>
inline T signum (
T x_);
73 template <
typename T>
inline T psqrt (
T x_);
74 template <
typename T>
inline T square (
T x_);
76 template <
typename T>
inline T bound (
T x_,
T xlo_,
T xhi_);
78 template <
typename T>
inline T prob (
T x_);
80 template <
typename T>
inline bool isProb (
T x_);
105 template <
typename T>
T max (
T x_,
T y_) {
return x_ > y_ ? x_ : y_;}
106 template <
typename T>
T max3 (
T a_,
T b_,
T c_) {
return max <T> (a_, max <T> (b_, c_));}
107 template <
typename T>
T min (
T x_,
T y_) {
return x_ < y_ ? x_ : y_;}
108 template <
typename T>
T positive (
T x_) {
return max <T> (x_,
static_cast <T> (0));}
109 template <
typename T>
T negative (
T x_) {
return max <T> (-x_,
static_cast <T> (0));}
110 template <
typename T>
T signum (
T x_) {
return x_ > 0.0 ? 1.0 : (x_ == 0.0 ? 0.0 : -1.0);}
111 template <
typename T>
T heaviside (
T x_) {
return x_ < 0.0 ? 0.0 : 1.0;}
113 template <
typename T>
T psqrt (
T x_) {
return positive <T> (sqrt (x_));}
114 template <
typename T>
T square (
T x_) {
return x_ * x_;}
117 if (x_ < xlo_)
return xlo_;
118 if (x_ < xhi_)
return x_;
122 template <
typename T>
T probability (
T x_) {
return bound <T> (x_, 0.0, 1.0);}
123 template <
typename T>
T prob (
T x_) {
return probability <T> (x_);}
125 template <
typename T>
bool isProb (
T x_) {
return 0.0 <= x_ && x_ <= 1.0;};
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
The NCBI C++/STL use hints.
T bound(T x_, T xlo_, T xhi_)