Mercurial > hg > svcore
comparison data/model/EditableDenseThreeDimensionalModel.cpp @ 1038:cc27f35aa75c cxx11
Introducing the signed 64-bit frame index type, and fixing build failures from inclusion of -Wconversion with -Werror. Not finished yet.
author | Chris Cannam |
---|---|
date | Tue, 03 Mar 2015 15:18:24 +0000 |
parents | 0009b2b066e0 |
children | a1cd5abcb38b |
comparison
equal
deleted
inserted
replaced
1037:bf0e5944289b | 1038:cc27f35aa75c |
---|---|
59 EditableDenseThreeDimensionalModel::getSampleRate() const | 59 EditableDenseThreeDimensionalModel::getSampleRate() const |
60 { | 60 { |
61 return m_sampleRate; | 61 return m_sampleRate; |
62 } | 62 } |
63 | 63 |
64 int | 64 sv_frame_t |
65 EditableDenseThreeDimensionalModel::getStartFrame() const | 65 EditableDenseThreeDimensionalModel::getStartFrame() const |
66 { | 66 { |
67 return m_startFrame; | 67 return m_startFrame; |
68 } | 68 } |
69 | 69 |
70 void | 70 void |
71 EditableDenseThreeDimensionalModel::setStartFrame(int f) | 71 EditableDenseThreeDimensionalModel::setStartFrame(sv_frame_t f) |
72 { | 72 { |
73 m_startFrame = f; | 73 m_startFrame = f; |
74 } | 74 } |
75 | 75 |
76 int | 76 sv_frame_t |
77 EditableDenseThreeDimensionalModel::getEndFrame() const | 77 EditableDenseThreeDimensionalModel::getEndFrame() const |
78 { | 78 { |
79 return m_resolution * m_data.size() + (m_resolution - 1); | 79 return m_resolution * m_data.size() + (m_resolution - 1); |
80 } | 80 } |
81 | 81 |
253 // stored += h - bcount; | 253 // stored += h - bcount; |
254 for (int i = bcount; i < h; ++i) { | 254 for (int i = bcount; i < h; ++i) { |
255 tcol[i - bcount] = values.at(i); | 255 tcol[i - bcount] = values.at(i); |
256 } | 256 } |
257 m_data[index] = tcol; | 257 m_data[index] = tcol; |
258 m_trunc[index] = -tdist; | 258 m_trunc[index] = (signed char)(-tdist); |
259 return; | 259 return; |
260 } else { | 260 } else { |
261 // create a new column with h - tcount values from 0 up | 261 // create a new column with h - tcount values from 0 up |
262 Column tcol(h - tcount); | 262 Column tcol(h - tcount); |
263 // given += values.size(); | 263 // given += values.size(); |
264 // stored += h - tcount; | 264 // stored += h - tcount; |
265 for (int i = 0; i < h - tcount; ++i) { | 265 for (int i = 0; i < h - tcount; ++i) { |
266 tcol[i] = values.at(i); | 266 tcol[i] = values.at(i); |
267 } | 267 } |
268 m_data[index] = tcol; | 268 m_data[index] = tcol; |
269 m_trunc[index] = tdist; | 269 m_trunc[index] = (signed char)(tdist); |
270 return; | 270 return; |
271 } | 271 } |
272 } | 272 } |
273 } | 273 } |
274 | 274 |
463 } | 463 } |
464 } | 464 } |
465 | 465 |
466 if (sample.empty()) return false; | 466 if (sample.empty()) return false; |
467 for (int j = 0; j < sample.size(); ++j) { | 467 for (int j = 0; j < sample.size(); ++j) { |
468 if (n[j]) sample[j] /= n[j]; | 468 if (n[j]) sample[j] /= float(n[j]); |
469 } | 469 } |
470 | 470 |
471 return LogRange::useLogScale(sample.toStdVector()); | 471 return LogRange::useLogScale(sample.toStdVector()); |
472 } | 472 } |
473 | 473 |
513 } | 513 } |
514 return s; | 514 return s; |
515 } | 515 } |
516 | 516 |
517 QString | 517 QString |
518 EditableDenseThreeDimensionalModel::toDelimitedDataStringSubset(QString delimiter, int f0, int f1) const | 518 EditableDenseThreeDimensionalModel::toDelimitedDataStringSubset(QString delimiter, sv_frame_t f0, sv_frame_t f1) const |
519 { | 519 { |
520 QReadLocker locker(&m_lock); | 520 QReadLocker locker(&m_lock); |
521 QString s; | 521 QString s; |
522 for (int i = 0; i < m_data.size(); ++i) { | 522 for (int i = 0; i < m_data.size(); ++i) { |
523 int fr = m_startFrame + i * m_resolution; | 523 sv_frame_t fr = m_startFrame + i * m_resolution; |
524 if (fr >= int(f0) && fr < int(f1)) { | 524 if (fr >= f0 && fr < f1) { |
525 QStringList list; | 525 QStringList list; |
526 for (int j = 0; j < m_data.at(i).size(); ++j) { | 526 for (int j = 0; j < m_data.at(i).size(); ++j) { |
527 list << QString("%1").arg(m_data.at(i).at(j)); | 527 list << QString("%1").arg(m_data.at(i).at(j)); |
528 } | 528 } |
529 s += list.join(delimiter) + "\n"; | 529 s += list.join(delimiter) + "\n"; |