|
|
|
#pragma once |
|
#include <string> |
|
#include <stdint.h> |
|
#include "ug_typedefs.h" |
|
#include "ug_lexical_reordering.h" |
|
#include <boost/thread.hpp> |
|
|
|
namespace sapt |
|
{ |
|
|
|
|
|
class |
|
jstats |
|
{ |
|
boost::mutex lock; |
|
uint32_t my_rcnt; |
|
uint32_t my_cnt2; |
|
float my_wcnt; |
|
float my_bcnt; |
|
|
|
|
|
|
|
std::vector<std::pair<size_t, std::vector<unsigned char> > > my_aln; |
|
|
|
|
|
uint32_t ofwd[LRModel::NONE+1]; |
|
uint32_t obwd[LRModel::NONE+1]; |
|
|
|
public: |
|
SPTR<std::vector<uint32_t> > sids; |
|
std::map<uint32_t,uint32_t> indoc; |
|
|
|
jstats(); |
|
jstats(jstats const& other); |
|
uint32_t rcnt() const; |
|
uint32_t cnt2() const; |
|
float wcnt() const; |
|
float bcnt() const; |
|
|
|
std::vector<std::pair<size_t, std::vector<unsigned char> > > const & aln() const; |
|
|
|
size_t |
|
add(float w, float b, std::vector<unsigned char> const& a, uint32_t const cnt2, |
|
uint32_t fwd_orient, uint32_t bwd_orient, int const docid, uint32_t const sid, |
|
bool const track_sid); |
|
|
|
void invalidate(); |
|
void validate(); |
|
bool valid(); |
|
uint32_t dcnt_fwd(PhraseOrientation const idx) const; |
|
uint32_t dcnt_bwd(PhraseOrientation const idx) const; |
|
void fill_lr_vec(LRModel::Direction const& dir, |
|
LRModel::ModelType const& mdl, |
|
std::vector<float>& v); |
|
}; |
|
} |
|
|
|
|