Vowpal Wabbit
Classes | Functions | Variables
CB_EVAL Namespace Reference

Classes

struct  label
 

Functions

float weight (void *v)
 
size_t read_cached_label (shared_data *sd, void *v, io_buf &cache)
 
void cache_label (void *v, io_buf &cache)
 
void default_label (void *v)
 
bool test_label (void *v)
 
void delete_label (void *v)
 
void copy_label (void *dst, void *src)
 
void parse_label (parser *p, shared_data *sd, void *v, v_array< substring > &words)
 

Variables

label_parser cb_eval
 

Function Documentation

◆ cache_label()

void CB_EVAL::cache_label ( void *  v,
io_buf cache 
)

Definition at line 239 of file cb.cc.

References CB_EVAL::label::action, io_buf::buf_write(), c, CB::cache_label(), and CB_EVAL::label::event.

240 {
241  char* c;
242  CB_EVAL::label* ld = (CB_EVAL::label*)v;
243  cache.buf_write(c, sizeof(uint32_t));
244  *(uint32_t*)c = ld->action;
245 
246  CB::cache_label(&(ld->event), cache);
247 }
void cache_label(void *v, io_buf &cache)
Definition: cb.cc:72
uint32_t action
Definition: cb.h:41
CB::label event
Definition: cb.h:42
void buf_write(char *&pointer, size_t n)
Definition: io_buf.cc:94
constexpr uint64_t c
Definition: rand48.cc:12

◆ copy_label()

void CB_EVAL::copy_label ( void *  dst,
void *  src 
)

Definition at line 268 of file cb.cc.

References CB_EVAL::label::action, CB::copy_label(), and CB_EVAL::label::event.

269 {
270  CB_EVAL::label* ldD = (CB_EVAL::label*)dst;
271  CB_EVAL::label* ldS = (CB_EVAL::label*)src;
272  CB::copy_label(&(ldD->event), &(ldS)->event);
273  ldD->action = ldS->action;
274 }
void copy_label(void *dst, void *src)
Definition: cb.cc:104
uint32_t action
Definition: cb.h:41
CB::label event
Definition: cb.h:42

◆ default_label()

void CB_EVAL::default_label ( void *  v)

Definition at line 249 of file cb.cc.

References CB_EVAL::label::action, CB::default_label(), and CB_EVAL::label::event.

250 {
251  CB_EVAL::label* ld = (CB_EVAL::label*)v;
252  CB::default_label(&(ld->event));
253  ld->action = 0;
254 }
uint32_t action
Definition: cb.h:41
CB::label event
Definition: cb.h:42
void default_label(void *v)
Definition: cb.cc:80

◆ delete_label()

void CB_EVAL::delete_label ( void *  v)

Definition at line 262 of file cb.cc.

References CB::delete_label(), and CB_EVAL::label::event.

263 {
264  CB_EVAL::label* ld = (CB_EVAL::label*)v;
265  CB::delete_label(&(ld->event));
266 }
void delete_label(void *v)
Definition: cb.cc:98
CB::label event
Definition: cb.h:42

◆ parse_label()

void CB_EVAL::parse_label ( parser p,
shared_data sd,
void *  v,
v_array< substring > &  words 
)

Definition at line 276 of file cb.cc.

References CB_EVAL::label::action, v_array< T >::begin(), CB_EVAL::label::event, hashstring(), CB::parse_label(), v_array< T >::size(), and THROW.

277 {
278  CB_EVAL::label* ld = (CB_EVAL::label*)v;
279 
280  if (words.size() < 2)
281  THROW("Evaluation can not happen without an action and an exploration");
282 
283  ld->action = (uint32_t)hashstring(words[0], 0);
284 
285  words.begin()++;
286 
287  CB::parse_label(p, sd, &(ld->event), words);
288 
289  words.begin()--;
290 }
void parse_label(parser *p, shared_data *, void *v, v_array< substring > &words)
Definition: cb.cc:112
T *& begin()
Definition: v_array.h:42
uint32_t action
Definition: cb.h:41
size_t size() const
Definition: v_array.h:68
CB::label event
Definition: cb.h:42
VW_STD14_CONSTEXPR uint64_t hashstring(substring s, uint64_t h)
Definition: hashstring.h:18
#define THROW(args)
Definition: vw_exception.h:181

◆ read_cached_label()

size_t CB_EVAL::read_cached_label ( shared_data sd,
void *  v,
io_buf cache 
)

Definition at line 227 of file cb.cc.

References CB_EVAL::label::action, io_buf::buf_read(), c, CB_EVAL::label::event, and CB::read_cached_label().

228 {
229  CB_EVAL::label* ld = (CB_EVAL::label*)v;
230  char* c;
231  size_t total = sizeof(uint32_t);
232  if (cache.buf_read(c, total) < total)
233  return 0;
234  ld->action = *(uint32_t*)c;
235 
236  return total + CB::read_cached_label(sd, &(ld->event), cache);
237 }
uint32_t action
Definition: cb.h:41
CB::label event
Definition: cb.h:42
size_t read_cached_label(shared_data *, void *v, io_buf &cache)
Definition: cb.cc:39
constexpr uint64_t c
Definition: rand48.cc:12
size_t buf_read(char *&pointer, size_t n)
Definition: io_buf.cc:12

◆ test_label()

bool CB_EVAL::test_label ( void *  v)

Definition at line 256 of file cb.cc.

References CB_EVAL::label::event, and CB::test_label().

257 {
258  CB_EVAL::label* ld = (CB_EVAL::label*)v;
259  return CB::test_label(&ld->event);
260 }
CB::label event
Definition: cb.h:42
bool test_label(void *v)
Definition: cb.cc:87

◆ weight()

float CB_EVAL::weight ( void *  v)

Definition at line 221 of file cb.cc.

References CB_EVAL::label::event, and CB::label::weight.

222 {
223  CB_EVAL::label* ld = (CB_EVAL::label*)v;
224  return ld->event.weight;
225 }
float weight
Definition: cb.h:28
CB::label event
Definition: cb.h:42

Variable Documentation

◆ cb_eval

label_parser CB_EVAL::cb_eval
Initial value:
void parse_label(parser *p, shared_data *sd, void *v, v_array< substring > &words)
Definition: cb.cc:276
void copy_label(void *dst, void *src)
Definition: cb.cc:268
void cache_label(void *v, io_buf &cache)
Definition: cb.cc:239
size_t read_cached_label(shared_data *sd, void *v, io_buf &cache)
Definition: cb.cc:227
void default_label(void *v)
Definition: cb.cc:249
float weight(void *v)
Definition: cb.cc:221
bool test_label(void *v)
Definition: simple_label.cc:70
void delete_label(void *v)
Definition: cb.cc:262

Definition at line 292 of file cb.cc.

Referenced by cb_algs_setup().