4 typedef float dist_t;
\r
5 const dist_t BIG_DIST = (dist_t) 1e29;
\r
12 virtual void CalcDistRange(unsigned i, dist_t Dist[]) const = 0;
\r
13 virtual unsigned GetCount() const = 0;
\r
14 virtual unsigned GetId(unsigned i) const = 0;
\r
15 virtual const char *GetName(unsigned i) const = 0;
\r
18 class DistCalcDF : public DistCalc
\r
21 void Init(const DistFunc &DF);
\r
22 virtual void CalcDistRange(unsigned i, dist_t Dist[]) const;
\r
23 virtual unsigned GetCount() const;
\r
24 virtual unsigned GetId(unsigned i) const;
\r
25 virtual const char *GetName(unsigned i) const;
\r
28 const DistFunc *m_ptrDF;
\r
31 class DistCalcMSA : public DistCalc
\r
34 void Init(const MSA &msa, DISTANCE Distance);
\r
35 virtual void CalcDistRange(unsigned i, dist_t Dist[]) const;
\r
36 virtual unsigned GetCount() const;
\r
37 virtual unsigned GetId(unsigned i) const;
\r
38 virtual const char *GetName(unsigned i) const;
\r
41 const MSA *m_ptrMSA;
\r
42 DISTANCE m_Distance;
\r
45 #endif // DistCalc_h
\r