CMiniLexicon::FindMajorSignatures(): use log file routines
[linguistica.git] / PhoneCollection.h
blobe214d4df14ab2ca267bf7c35bebded990635ecea
1 // Description length bookkeeping, search, and display of encountered phonemes
2 // Copyright © 2009 The University of Chicago
3 #ifndef PHONECOLLECTION_H
4 #define PHONECOLLECTION_H
6 class CPhoneCollection;
8 #include "CollectionTemplate.h"
9 #include "BiphoneCollection.h"
10 #include "generaldefinitions.h"
11 namespace linguistica { namespace ui { class status_user_agent; } }
12 class CPhone;
14 /// A collection of phonemes,
15 /// plus a collection of biphones
16 /// to keep track of conditional probabilities.
17 class CPhoneCollection : public TCollection<CPhone> {
18 class CWordCollection* m_MyWords;
19 CBiphoneCollection m_MyBiphones;
21 double* m_expMI;
22 double* m_expMIFromBoundary;
23 double* m_expMIToBoundary;
24 public:
25 explicit CPhoneCollection(class CWordCollection* words);
27 class CBiphoneCollection* GetMyBiphones() { return &m_MyBiphones; }
28 void CountPhonesAndBiphonesInWord(class CStem* stem, enum eTier tier);
29 void Normalize();
30 void ListDisplay(class Q3ListView* widget,
31 linguistica::ui::status_user_agent& status);
32 double GetSumOfMyMIs();
33 void PopulateMonteCarlo(class MonteCarlo* pMyMonteCarlo);
34 /// XXX. not fully implemented
35 void ComputeStringAgreementAndDisagreement(
36 CLParse* string1, CLParse* string2,
37 double& agreement_unigram, double& agreement_bigram,
38 double& disagreement_unigram, double& disagreement_bigram);
41 #endif // PHONECOLLECTION_H