[med-svn] [SCM] aghermann branch, master, updated. 3603e7ef1289f9ec79a3eb415b6d141166e9498a

Andrei Zavada johnhommer at gmail.com
Sun Jul 14 22:28:23 UTC 2013


The following commit has been merged in the master branch:
commit 32dcf340bd2fd1f3eee2fdd245d3745e67a6c181
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Sun Jul 14 00:39:06 2013 +0300

    CSource::put_region_smpl() are not const, obviously

diff --git a/src/libsigfile/edf-io.cc b/src/libsigfile/edf-io.cc
index 3adc071..2e369b7 100644
--- a/src/libsigfile/edf-io.cc
+++ b/src/libsigfile/edf-io.cc
@@ -69,7 +69,7 @@ int
 CEDFFile::
 put_region_smpl( const int h,
 		 const valarray<TFloat>& src,
-		 const size_t offset) const
+		 const size_t offset)
 {
 	if ( unlikely (_status & (TStatus::bad_header | TStatus::bad_version)) )
 		throw invalid_argument("CEDFFile::put_region_(): broken source");
diff --git a/src/libsigfile/edf.hh b/src/libsigfile/edf.hh
index d28164d..a223b2e 100644
--- a/src/libsigfile/edf.hh
+++ b/src/libsigfile/edf.hh
@@ -204,13 +204,13 @@ class CEDFFile
 
       // put signal
 	int
-	put_region_smpl( int, const valarray<TFloat>&, size_t) const;
+	put_region_smpl( int, const valarray<TFloat>&, size_t);
 	int
-	put_region_sec( const int h, const valarray<TFloat>& src, const float offset) const
+	put_region_sec( const int h, const valarray<TFloat>& src, const float offset)
 		{ return put_region_smpl( h, src, (size_t)(offset * samplerate(h))); }
 
 	int
-	put_signal( const int h, const valarray<TFloat>& src) const
+	put_signal( const int h, const valarray<TFloat>& src)
 		{ return put_region_smpl( h, src, 0); }
 
       // signal data info
diff --git a/src/libsigfile/source-base.hh b/src/libsigfile/source-base.hh
index c35bc5a..b39c513 100644
--- a/src/libsigfile/source-base.hh
+++ b/src/libsigfile/source-base.hh
@@ -386,9 +386,9 @@ class CSource {
 
       // put samples
 	virtual int
-	put_region_smpl( int, const valarray<TFloat>&, size_t) const = 0;
+	put_region_smpl( int, const valarray<TFloat>&, size_t) = 0;
 
-	int put_region_sec( const int h, const valarray<TFloat>& src, const float offset) const
+	int put_region_sec( const int h, const valarray<TFloat>& src, const float offset)
 		{ return put_region_smpl( h, src, offset * samplerate(h)); }
 
 	int put_signal( const int h, const valarray<TFloat>& src)
diff --git a/src/libsigfile/tsv.cc b/src/libsigfile/tsv.cc
index f6139ed..8b1ffa6 100644
--- a/src/libsigfile/tsv.cc
+++ b/src/libsigfile/tsv.cc
@@ -219,9 +219,15 @@ _read_data()
 
 int
 CTSVFile::
-put_region_smpl( int, const valarray<TFloat>&, size_t) const
+put_region_smpl( int h, const valarray<TFloat>& V, size_t off)
 {
-	
+	if ( unlikely (h > (int)channels.size() - 1) )
+		throw out_of_range ("Bad channel index");
+	if ( unlikely (off + V.size() > channels[h].data.size()) )
+		throw out_of_range ("Bad offset");
+
+	channels[h].data[ slice (off, V.size(), 1) ] = V[ slice (0, V.size(), 1) ];
+
 	return 0;
 }
 
diff --git a/src/libsigfile/tsv.hh b/src/libsigfile/tsv.hh
index eda499f..779f8f7 100644
--- a/src/libsigfile/tsv.hh
+++ b/src/libsigfile/tsv.hh
@@ -217,11 +217,11 @@ class CTSVFile
 		{ return get_region_filtered_smpl( h, 0, channels.front().data.size()); }
 
       // put signal
-	int put_region_smpl( int, const valarray<TFloat>&, size_t) const;
-	int put_region_sec( const int h, const valarray<TFloat>& src, const float offset) const
+	int put_region_smpl( int, const valarray<TFloat>&, size_t);
+	int put_region_sec( const int h, const valarray<TFloat>& src, const float offset)
 		{ return put_region_smpl( h, src, (size_t)(offset * _samplerate)); }
 
-	int put_signal( const int h, const valarray<TFloat>& src) const
+	int put_signal( const int h, const valarray<TFloat>& src)
 		{ return put_region_smpl( h, src, 0); }
 
       // signal data info

-- 
Sleep experiment manager



More information about the debian-med-commit mailing list