00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef LSAFLOAT_INDEX_H
00025 #define LSAFLOAT_INDEX_H
00026
00027 #include "SortedSubIndex.tcc"
00028 #include "Triplef_tfd.h"
00029 #include "ElementFloatIndex.tcc"
00030 #include "FileName.h"
00031 #include "CSCTriple_matrix.tcc"
00032
00055 class LSAFloatIndex : public ElementFloatIndex<SortedSubIndex<WordSubIndex> >
00056 {
00057 public:
00058
00060 LSAFloatIndex(int totalWords, BlockStats *stats,
00061 SortedSubIndex<WordSubIndex> *index,
00062 FileName *fileName, int eigenvalues);
00063 ~LSAFloatIndex(void);
00064
00066 bool calculateRow(int currentRealWord);
00068 int listRealPosition(int position);
00070 int indexRealPosition(int position);
00071
00072
00073 private:
00075 Quantise *createQuantiser(float lower, float upper);
00076
00077 int _relements;
00078 int _reigenvalues;
00079 float **_reigenvectors;
00080 int _lelements;
00081 int _leigenvalues;
00082 float **_leigenvectors;
00083 float *_eigenvalues;
00084 };
00085
00086 #endif