[med-svn] [SCM] aghermann branch, master, updated. 99b1d5a023eee9df74b0e0d6f894516fc79435ad
Andrei Zavada
johnhommer at gmail.com
Sun Jul 7 23:03:53 UTC 2013
The following commit has been merged in the master branch:
commit 5b388dfd389e8c78433114219fb67d169d20a11b
Author: Andrei Zavada <johnhommer at gmail.com>
Date: Mon Jun 10 02:46:26 2013 +0300
more detailed diagnostics in CEDFFile::get_region_original_smpl() exceptions
diff --git a/src/libsigfile/edf-io.cc b/src/libsigfile/edf-io.cc
index 2f306e1..b64b96e 100644
--- a/src/libsigfile/edf-io.cc
+++ b/src/libsigfile/edf-io.cc
@@ -9,6 +9,7 @@
* License: GPL
*/
+#include "common/string.hh"
#include "edf.hh"
using namespace std;
@@ -20,15 +21,19 @@ get_region_original_smpl( const int h,
const size_t sa, const size_t sz) const
{
if ( unlikely (_status & (TStatus::bad_header | TStatus::bad_version)) )
- throw invalid_argument("CEDFFile::get_region_original(): broken source");
+ throw invalid_argument ("CEDFFile::get_region_original(): broken source");
if ( unlikely (_mmapping == NULL) )
- throw invalid_argument("CEDFFile::get_region_original(): no data");
+ throw invalid_argument ("CEDFFile::get_region_original(): no data");
if ( unlikely (sa >= sz || sz > samplerate(h) * recording_time()) )
- throw range_error("CEDFFile::get_region_original(): bad region");
+ throw range_error (agh::str::sasprintf(
+ "CEDFFile::get_region_original(%s[%s]): bad region (req %zu:%zu, avail end %zu x %g sec = %g, or %zu x %zu = %zu)",
+ filename(), operator[](h).ucd.name(),
+ sa, sz, samplerate(h), recording_time(), samplerate(h) * recording_time(),
+ n_data_records, (*this)[h].samples_per_record, n_data_records * (*this)[h].samples_per_record));
valarray<TFloat> recp;
- const SSignal& H = (*this)[h];
+ const SSignal& H = operator[](h);
size_t r0 = ( sa) / H.samples_per_record,
r_cnt = (size_t) ceilf( (float)(sz-sa) / H.samples_per_record);
--
Sleep experiment manager
More information about the debian-med-commit
mailing list