//---------------------------------------------------------------------------
#ifndef _corr_hh
#define _corr_hh
//---------------------------------------------------------------------------

#include "../lib/tfti.h"
#include "../lib/word.h"
#include "corlist.h"
#include "../common/common.h"

class Corr : public TFTiv<char,char>
{
private:
  Weight H[100][100];
  char X[100];                         // misspelled string
  char Y[100];                         // (possibly partial) candidate string
  int m;                               // length of X
  int n;                               // maximal length of Y

  Weight ed(int,int);
  Weight cuted(int);
  void recomputeH(int);


public:
  Weight (*H2)[100];   // moje: zmiana z int na Weight (float)
  int t;                               // threshold
  CorList CL;  // moje

  Corr() : H2((Weight(*)[100])&H[2][2]) {};   // moje (int->float)
  Corr(const char* a) : TFTiv<char,char>(a), H2((Weight(*)[100])&H[2][2]) { };

  int correct(const char* w, Words& tab);
  
  int load2(char *Name);  // moje
};

//---------------------------------------------------------------------------
#endif
