#ifndef ENCODINGS_COMPACT_LANG_DET_CLDUTIL_DBG_H_
#define ENCODINGS_COMPACT_LANG_DET_CLDUTIL_DBG_H_
#include "encodings/compact_lang_det/cldutil.h"
#include <string>
#include "encodings/compact_lang_det/ext_lang_enc.h"
#include "encodings/compact_lang_det/tote.h"
#include "encodings/compact_lang_det/win/cld_basictypes.h"
#include "encodings/compact_lang_det/win/cld_commandlineflags.h"
DECLARE_bool(dbgscore);
DECLARE_bool(dbglookup);
DECLARE_bool(dbgreli);
using std::string;
namespace cld {
void DbgScoreInit(const char* src, int len);
void DbgLangName3(Language lang, char* temp);
void DbgScoreState();
void DbgScoreTop(const char* src, int srclen, Tote* chunk_tote);
void DbgScoreFlush();
void DbgScoreRecord(const char* src, uint32 probs, int len);
void DbgScoreRecordUni(const char* src, int propval, int len);
void PrintLang(FILE* f, const Tote* chunk_tote,
const Language cur_lang, const bool cur_unreliable,
Language prior_lang, bool prior_unreliable);
void PrintLang2(FILE* f,
const Language lang1, const Language lang2, bool diff_prior);
void PrintText(FILE* f, Language cur_lang, const string& str);
void PrintTextSpeculative(FILE* f, Language cur_lang, const string& str);
void PrintSkippedText(FILE* f, const string& str);
void DbgProbsToStderr(uint32 probs);
void DbgUniTermToStderr(int propval, const uint8* usrc, int len);
void DbgBiTermToStderr(uint32 bihash, uint32 probs,
const char* src, int len);
void DbgQuadTermToStderr(uint32 quadhash, uint32 probs,
const char* src, int len);
void DbgWordTermToStderr(uint64 wordhash, uint32 probs,
const char* src, int len);
}
#endif