// Copyright (C) 1999 Jean-Marc Valin #include "mean.h" using namespace std; namespace FD { DECLARE_TYPE(Mean) //@implements GMM void Mean::printOn (ostream &out) const { out << " "; out << " "; if (mode == accum) out << " "; out << endl; out << " >\n"; } void Mean::readFrom (istream &in) { dimension=-1; string tag; while (1) { char ch; in >> ch; if (ch == '>') break; in >> tag; if (tag == "dimension") { in >> dimension; resize(dimension); } else if (tag == "mode") in >> mode; else if (tag == "accum_count") in >> accum_count; else if (tag == "data") { if (dimension==-1) throw new ParsingException("Mean::readFrom : dimension must be specified before data"); for (int i=0;i> operator[] (i); } else throw new ParsingException ("Mean::readFrom : unknown argument: " + tag); if (!in) throw new ParsingException ("Mean::readFrom : Parse error trying to build " + tag); in >> tag; if (tag != ">") throw new ParsingException ("Mean::readFrom : Parse error: '>' expected "); } } istream &operator >> (istream &in, Mean &gauss) { if (!isValidType(in, "Mean")) return in; gauss.readFrom(in); return in; } }//namespace FD