Vowpal Wabbit
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vw_slim::example_predict_builder Class Reference

#include <example_predict_builder.h>

Public Member Functions

 example_predict_builder (example_predict *ex, char *namespace_name, uint32_t feature_index_num_bits=18)
 
 example_predict_builder (example_predict *ex, namespace_index namespace_idx, uint32_t feature_index_num_bits=18)
 
void push_feature_string (char *feature_idx, feature_value value)
 
void push_feature (feature_index feature_idx, feature_value value)
 

Private Member Functions

void add_namespace (namespace_index feature_group)
 

Private Attributes

example_predict_ex
 
namespace_index _namespace_idx
 
uint64_t _namespace_hash
 
uint64_t _feature_index_bit_mask
 

Detailed Description

Definition at line 7 of file example_predict_builder.h.

Constructor & Destructor Documentation

◆ example_predict_builder() [1/2]

vw_slim::example_predict_builder::example_predict_builder ( example_predict ex,
char *  namespace_name,
uint32_t  feature_index_num_bits = 18 
)

Definition at line 7 of file example_predict_builder.cc.

References _feature_index_bit_mask, _namespace_hash, add_namespace(), and hashstring().

9  : _ex(ex)
10 {
11  _feature_index_bit_mask = ((uint64_t)1 << feature_index_num_bits) - 1;
12  add_namespace(namespace_name[0]);
13  _namespace_hash = hashstring({namespace_name, namespace_name + (strlen(namespace_name))}, 0);
14 }
void add_namespace(namespace_index feature_group)
VW_STD14_CONSTEXPR uint64_t hashstring(substring s, uint64_t h)
Definition: hashstring.h:18

◆ example_predict_builder() [2/2]

vw_slim::example_predict_builder::example_predict_builder ( example_predict ex,
namespace_index  namespace_idx,
uint32_t  feature_index_num_bits = 18 
)

Definition at line 16 of file example_predict_builder.cc.

References _feature_index_bit_mask, and add_namespace().

18  : _ex(ex), _namespace_hash(namespace_idx)
19 {
20  _feature_index_bit_mask = ((uint64_t)1 << feature_index_num_bits) - 1;
21  add_namespace(namespace_idx);
22 }
void add_namespace(namespace_index feature_group)

Member Function Documentation

◆ add_namespace()

void vw_slim::example_predict_builder::add_namespace ( namespace_index  feature_group)
private

Definition at line 24 of file example_predict_builder.cc.

References _ex, _namespace_idx, example_predict::indices, and v_array< T >::unique_add_sorted().

Referenced by example_predict_builder().

25 {
26  _namespace_idx = feature_group;
27  _ex->indices.unique_add_sorted(feature_group);
28 }
v_array< namespace_index > indices
size_t unique_add_sorted(const T &new_ele)
Definition: v_array.h:140

◆ push_feature()

void vw_slim::example_predict_builder::push_feature ( feature_index  feature_idx,
feature_value  value 
)

◆ push_feature_string()

void vw_slim::example_predict_builder::push_feature_string ( char *  feature_idx,
feature_value  value 
)

Definition at line 30 of file example_predict_builder.cc.

References _ex, _feature_index_bit_mask, _namespace_hash, _namespace_idx, example_predict::feature_space, and hashstring().

Referenced by run_predict_in_memory(), and TEST().

31 {
32  feature_index feature_hash =
33  _feature_index_bit_mask & hashstring({feature_name, feature_name + (strlen(feature_name))}, _namespace_hash);
34  _ex->feature_space[_namespace_idx].push_back(value, feature_hash);
35 }
std::array< features, NUM_NAMESPACES > feature_space
uint64_t feature_index
Definition: feature_group.h:21
VW_STD14_CONSTEXPR uint64_t hashstring(substring s, uint64_t h)
Definition: hashstring.h:18

Member Data Documentation

◆ _ex

example_predict* vw_slim::example_predict_builder::_ex
private

Definition at line 9 of file example_predict_builder.h.

Referenced by add_namespace(), push_feature(), and push_feature_string().

◆ _feature_index_bit_mask

uint64_t vw_slim::example_predict_builder::_feature_index_bit_mask
private

Definition at line 12 of file example_predict_builder.h.

Referenced by example_predict_builder(), and push_feature_string().

◆ _namespace_hash

uint64_t vw_slim::example_predict_builder::_namespace_hash
private

◆ _namespace_idx

namespace_index vw_slim::example_predict_builder::_namespace_idx
private

Definition at line 10 of file example_predict_builder.h.

Referenced by add_namespace(), push_feature(), and push_feature_string().


The documentation for this class was generated from the following files: