The following commit has been merged in the master branch:
commit 07728ee3c0508686efb606d098bce04c4ce320ff
Author: Andrei Zavada <[email protected]>
Date:   Mon Mar 11 15:38:32 2013 +0200

    enforce more c++ discipline in places

diff --git a/src/common/alg.hh b/src/common/alg.hh
index 9d7064f..9195401 100644
--- a/src/common/alg.hh
+++ b/src/common/alg.hh
@@ -26,17 +26,19 @@ namespace alg {
 
 template <typename T>
 inline void
-pod_swap( T& a, T& b)
+__attribute__ ((pure))
+pod_swap( T&& a, T&& b)
 {
-       T tmp = a;
-       a = b;
-       b = tmp;
+       T tmp = move(a);
+       a = move(b);
+       b = move(tmp);
 }
 
 
 
 template <typename T>
 inline bool
+__attribute__ ((pure))
 overlap( const T& a, const T& b,
         const T& c, const T& d)
 {
@@ -44,7 +46,8 @@ overlap( const T& a, const T& b,
 }
 
 template <typename T>
-bool
+inline bool
+__attribute__ ((pure))
 between( const T& a, const T& b, const T&c)
 {
        return a <= b && b <= c;
@@ -114,6 +117,7 @@ struct SSpan {
 
 template <typename T>
 int
+__attribute__ ((pure))
 sign( T x)
 {
        return (x > 0) ? 1 : (x == 0) ? 0 : -1;
@@ -122,6 +126,7 @@ sign( T x)
 
 template <typename T>
 void
+__attribute__ ((pure))
 ensure_within( T& v, const T& l, const T& h)
 {
        if ( v < l )
@@ -132,6 +137,7 @@ ensure_within( T& v, const T& l, const T& h)
 
 template <typename T>
 T
+__attribute__ ((pure))
 value_within( const T& v, const T& l, const T& h)
 {
        T o {v};
@@ -145,16 +151,17 @@ value_within( const T& v, const T& l, const T& h)
 
 
 inline valarray<double>
+__attribute__ ((pure))
 to_vad( valarray<double>&& rv)
 {
        return move(rv);
 }
 
 inline valarray<double>
+__attribute__ ((pure))
 to_vad( const valarray<float>& rv)
 {
-       valarray<double> ret;
-       ret.resize( rv.size());
+       valarray<double> ret (rv.size());
        for ( size_t i = 0; i < rv.size(); ++i )
                ret[i] = rv[i];
        return ret;
diff --git a/src/sigproc/winfun.cc b/src/sigproc/winfun.cc
index e844152..104d663 100644
--- a/src/sigproc/winfun.cc
+++ b/src/sigproc/winfun.cc
@@ -27,10 +27,12 @@ const char*
 };
 
 
-// The following window functions have been taken from fft.c, part of WFDB 
package
+namespace {
 
 #define TWOPI (M_PI*2)
 
+// The following window functions have been taken from fft.c, part of WFDB 
package
+
 /* See Oppenheim & Schafer, Digital Signal Processing, p. 241 (1st ed.) */
 TFloat
 __attribute__ ((const))
@@ -118,7 +120,7 @@ win_welch( size_t j, size_t n)
        return w;
 }
 
-
+} // namespace
 
 TFloat (*sigproc::winf[])(size_t, size_t) = {
        win_bartlett,

-- 
Sleep experiment manager

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to