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
; } }
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
;
22 double* m_expMIFromBoundary
;
23 double* m_expMIToBoundary
;
25 explicit CPhoneCollection(class CWordCollection
* words
);
27 class CBiphoneCollection
* GetMyBiphones() { return &m_MyBiphones
; }
28 void CountPhonesAndBiphonesInWord(class CStem
* stem
, enum eTier tier
);
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