bool Lab2TrainMain::init_utt() { if (m_audioStrm.peek() == EOF) return false; m_idStr = read_float_matrix(m_audioStrm, m_inAudio); m_frontEnd.get_feats(m_inAudio, m_feats); if (m_feats.size2() != m_gmmSet.get_dim_count()) throw runtime_error("Mismatch in GMM and feat dim."); if (m_alignStrm.peek() == EOF) throw runtime_error("Mismatch in number of audio files " "and alignments."); read_int_vector(m_alignStrm, m_gmmList, m_idStr); if (m_gmmList.size() != m_feats.size1()) throw runtime_error("Mismatch in alignment and feat lengths."); int gmmCnt = m_gmmSet.get_gmm_count(); int frmCnt = m_gmmList.size(); m_gmmCountList.clear(); for (int frmIdx = 0; frmIdx < frmCnt; ++frmIdx) { int gmmIdx = m_gmmList[frmIdx]; if ((gmmIdx < 0) || (gmmIdx >= gmmCnt)) throw runtime_error("Out of range GMM index."); m_gmmCountList.push_back(GmmCount(gmmIdx, frmIdx, 1.0)); } return true; }
int main() { auto v = read_int_vector(); std::cout << "Average: " << average(v) << "\n"; std::cout << "Sum: " << sum(v) << "\n"; std::cout << "Elements greater than 5:"; for (auto e : filter_greater_than(v, 5)) std::cout << " " << e; std::cout << "\n"; return 0; }