Vowpal Wabbit
Classes | Functions
vwdll.cpp File Reference
#include <memory>
#include <codecvt>
#include <locale>
#include <string>
#include "vwdll.h"
#include "parser.h"
#include "simple_label.h"
#include "parse_args.h"
#include "vw.h"

Go to the source code of this file.

Classes

class  memory_io_buf
 

Functions

std::string utf16_to_utf8 (std::u16string utf16_string)
 
VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeA (const char *pstrArgs)
 
VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeEscapedA (const char *pstrArgs)
 
VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_SeedWithModel (VW_HANDLE handle, const char *extraArgs)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_Finish_Passes (VW_HANDLE handle)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_Finish (VW_HANDLE handle)
 
VW_DLL_MEMBER VW_EXAMPLE VW_CALLING_CONV VW_ImportExample (VW_HANDLE handle, const char *label, VW_FEATURE_SPACE features, size_t len)
 
VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_InitializeFeatureSpaces (size_t len)
 
VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_GetFeatureSpace (VW_FEATURE_SPACE first, size_t index)
 
VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_ExportExample (VW_HANDLE handle, VW_EXAMPLE e, size_t *plen)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_ReleaseFeatureSpace (VW_FEATURE_SPACE features, size_t len)
 
VW_DLL_MEMBER VW_EXAMPLE VW_CALLING_CONV VW_ReadExampleA (VW_HANDLE handle, const char *line)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_StartParser (VW_HANDLE handle)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_EndParser (VW_HANDLE handle)
 
VW_DLL_MEMBER VW_EXAMPLE VW_CALLING_CONV VW_GetExample (VW_HANDLE handle)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetLabel (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetTopicPrediction (VW_EXAMPLE e, size_t i)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetImportance (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetInitial (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetPrediction (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetCostSensitivePrediction (VW_EXAMPLE e)
 
VW_DLL_MEMBER void *VW_CALLING_CONV VW_GetMultilabelPredictions (VW_EXAMPLE e, size_t *plen)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetTagLength (VW_EXAMPLE e)
 
VW_DLL_MEMBER const char *VW_CALLING_CONV VW_GetTag (VW_EXAMPLE e)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetFeatureNumber (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetConfidence (VW_EXAMPLE e)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_SetFeatureSpace (VW_HANDLE handle, VW_FEATURE_SPACE feature_space, const char *name)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_InitFeatures (VW_FEATURE_SPACE feature_space, size_t features_count)
 
VW_DLL_MEMBER VW_FEATURE VW_CALLING_CONV VW_GetFeature (VW_FEATURE_SPACE feature_space, size_t index)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_SetFeature (VW_FEATURE_SPACE feature_space, size_t index, size_t feature_hash, float value)
 
VW_DLL_MEMBER VW_FEATURE VW_CALLING_CONV VW_GetFeatures (VW_HANDLE handle, VW_EXAMPLE e, size_t *plen)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_ReturnFeatures (VW_FEATURE f)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_FinishExample (VW_HANDLE handle, VW_EXAMPLE e)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashSpaceA (VW_HANDLE handle, const char *s)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashSpaceStaticA (const char *s, const char *h="strings")
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashFeatureA (VW_HANDLE handle, const char *s, size_t u)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashFeatureStaticA (const char *s, size_t u, const char *h="strings", unsigned int num_bits=18)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_AddLabel (VW_EXAMPLE e, float label, float weight, float base)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_AddStringLabel (VW_HANDLE handle, VW_EXAMPLE e, const char *label)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_Learn (VW_HANDLE handle, VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_GetActionScore (VW_EXAMPLE e, size_t i)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetActionScoreLength (VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_Predict (VW_HANDLE handle, VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_PredictCostSensitive (VW_HANDLE handle, VW_EXAMPLE e)
 
VW_DLL_MEMBER float VW_CALLING_CONV VW_Get_Weight (VW_HANDLE handle, size_t index, size_t offset)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_Set_Weight (VW_HANDLE handle, size_t index, size_t offset, float value)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_Num_Weights (VW_HANDLE handle)
 
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_Get_Stride (VW_HANDLE handle)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_SaveModel (VW_HANDLE handle)
 
VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeWithModel (const char *pstrArgs, const char *modelData, size_t modelDataSize)
 
VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeWithModelEscaped (const char *pstrArgs, const char *modelData, size_t modelDataSize)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_CopyModelData (VW_HANDLE handle, VW_IOBUF *outputBufferHandle, char **outputData, size_t *outputSize)
 
VW_DLL_MEMBER void VW_CALLING_CONV VW_FreeIOBuf (VW_IOBUF bufferHandle)
 

Function Documentation

◆ utf16_to_utf8()

std::string utf16_to_utf8 ( std::u16string  utf16_string)

Definition at line 33 of file vwdll.cpp.

References VW::convert(), VW_CALLING_CONV, VW_DLL_MEMBER, VW_InitializeA(), and VW_InitializeEscapedA().

Referenced by VW_FinishExample(), VW_HashSpaceStaticA(), and VW_ReleaseFeatureSpace().

34 {
35  std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t> convert;
36  return convert.to_bytes(utf16_string);
37 }
uint32_t convert(size_t number)
Definition: cache.cc:211

◆ VW_AddLabel()

VW_DLL_MEMBER void VW_CALLING_CONV VW_AddLabel ( VW_EXAMPLE  e,
float  label,
float  weight,
float  base 
)

Definition at line 269 of file vwdll.cpp.

References VW::add_label().

270 { example* ex = static_cast<example*>(e);
271  return VW::add_label(ex, label, weight, base);
272 }
void add_label(example *ec, float label, float weight, float base)
Definition: parser.cc:784
float weight

◆ VW_AddStringLabel()

VW_DLL_MEMBER void VW_CALLING_CONV VW_AddStringLabel ( VW_HANDLE  handle,
VW_EXAMPLE  e,
const char *  label 
)

Definition at line 274 of file vwdll.cpp.

References VW::parse_example_label().

275 { vw * pointer = static_cast<vw*>(handle);
276  example* ex = static_cast<example*>(e);
277  VW::parse_example_label(*pointer, *ex, label);
278 }
void parse_example_label(vw &all, example &ec, std::string label)
Definition: parser.cc:846

◆ VW_CopyModelData()

VW_DLL_MEMBER void VW_CALLING_CONV VW_CopyModelData ( VW_HANDLE  handle,
VW_IOBUF outputBufferHandle,
char **  outputData,
size_t *  outputSize 
)

Definition at line 404 of file vwdll.cpp.

References memory_io_buf::GetDataPointer(), memory_io_buf::GetDataSize(), and VW::save_predictor().

404  {
405  vw* pointer = static_cast<vw*>(handle);
406 
407  memory_io_buf* buf = new(memory_io_buf);
408  VW::save_predictor(*pointer, *buf);
409 
410  *outputBufferHandle = buf;
411  *outputSize = buf->GetDataSize();
412  *outputData = buf->GetDataPointer();
413 }
void save_predictor(vw &all, std::string reg_name)
size_t GetDataSize() const
Definition: vwdll.cpp:377
char * GetDataPointer()
Definition: vwdll.cpp:373

◆ VW_EndParser()

VW_DLL_MEMBER void VW_CALLING_CONV VW_EndParser ( VW_HANDLE  handle)

Definition at line 135 of file vwdll.cpp.

References VW::end_parser().

136 { vw * pointer = static_cast<vw*>(handle);
137  VW::end_parser(*pointer);
138 }
void end_parser(vw &all)
Definition: parser.cc:1007

◆ VW_ExportExample()

VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_ExportExample ( VW_HANDLE  handle,
VW_EXAMPLE  e,
size_t *  plen 
)

Definition at line 109 of file vwdll.cpp.

References VW::export_example().

110 { vw* pointer = static_cast<vw*>(handle);
111  example* ex = static_cast<example*>(e);
112  return static_cast<VW_FEATURE_SPACE>(VW::export_example(*pointer, ex, *plen));
113 }
void * VW_FEATURE_SPACE
Definition: vwdll.h:57
primitive_feature_space * export_example(vw &all, example *ec, size_t &len)
Definition: parser.cc:812

◆ VW_Finish()

VW_DLL_MEMBER void VW_CALLING_CONV VW_Finish ( VW_HANDLE  handle)

Definition at line 87 of file vwdll.cpp.

References VW::finish().

88 { vw * pointer = static_cast<vw*>(handle);
89  VW::finish(*pointer);
90 }
void finish(vw &all, bool delete_all)
Definition: parse_args.cc:1823

◆ VW_Finish_Passes()

VW_DLL_MEMBER void VW_CALLING_CONV VW_Finish_Passes ( VW_HANDLE  handle)

Definition at line 76 of file vwdll.cpp.

References adjust_used_index(), vw::do_reset_source, VW::end_parser(), LEARNER::generic_driver(), vw::numpasses, and VW::start_parser().

77 { vw * pointer = static_cast<vw*>(handle);
78  if (pointer->numpasses > 1)
79  { adjust_used_index(*pointer);
80  pointer->do_reset_source = true;
81  VW::start_parser(*pointer);
82  LEARNER::generic_driver(*pointer);
83  VW::end_parser(*pointer);
84  }
85 }
void generic_driver(ready_examples_queue &examples, context_type &context)
Definition: learner.cc:253
void start_parser(vw &all)
Definition: parser.cc:974
void end_parser(vw &all)
Definition: parser.cc:1007
size_t numpasses
Definition: global_data.h:451
void adjust_used_index(vw &)
Definition: parser.cc:968
bool do_reset_source
Definition: global_data.h:498

◆ VW_FinishExample()

VW_DLL_MEMBER void VW_CALLING_CONV VW_FinishExample ( VW_HANDLE  handle,
VW_EXAMPLE  e 
)

Definition at line 222 of file vwdll.cpp.

References VW::finish_example(), utf16_to_utf8(), VW_CALLING_CONV, VW_DLL_MEMBER, VW_HashSpaceA(), and VW_HashSpaceStaticA().

223 { vw * pointer = static_cast<vw*>(handle);
224  VW::finish_example(*pointer, *(static_cast<example*>(e)));
225 }
void finish_example(vw &, example &)
Definition: parser.cc:881

◆ VW_FreeIOBuf()

VW_DLL_MEMBER void VW_CALLING_CONV VW_FreeIOBuf ( VW_IOBUF  bufferHandle)

Definition at line 415 of file vwdll.cpp.

415  {
416  delete static_cast<memory_io_buf*>(bufferHandle);
417 }

◆ VW_Get_Stride()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_Get_Stride ( VW_HANDLE  handle)

Definition at line 328 of file vwdll.cpp.

References VW::get_stride().

329 { vw* pointer = static_cast<vw*>(handle);
330  return VW::get_stride(*pointer);
331 }
uint32_t get_stride(vw &all)
Definition: vw.h:189

◆ VW_Get_Weight()

VW_DLL_MEMBER float VW_CALLING_CONV VW_Get_Weight ( VW_HANDLE  handle,
size_t  index,
size_t  offset 
)

Definition at line 313 of file vwdll.cpp.

References VW::get_weight().

314 { vw* pointer = static_cast<vw*>(handle);
315  return VW::get_weight(*pointer, (uint32_t) index, (uint32_t) offset);
316 }
float get_weight(vw &all, uint32_t index, uint32_t offset)
Definition: vw.h:177

◆ VW_GetActionScore()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetActionScore ( VW_EXAMPLE  e,
size_t  i 
)

Definition at line 287 of file vwdll.cpp.

References VW::get_action_score().

288 { example * ex = static_cast<example*>(e);
289  return VW::get_action_score(ex, i);
290 }
float get_action_score(example *ec, size_t i)
Definition: parser.cc:932

◆ VW_GetActionScoreLength()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetActionScoreLength ( VW_EXAMPLE  e)

Definition at line 292 of file vwdll.cpp.

References VW::get_action_score_length().

293 { example * ex = static_cast<example*>(e);
294  return VW::get_action_score_length(ex);
295 }
size_t get_action_score_length(example *ec)
Definition: parser.cc:946

◆ VW_GetConfidence()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetConfidence ( VW_EXAMPLE  e)

Definition at line 186 of file vwdll.cpp.

References VW::get_confidence().

187 { return VW::get_confidence(static_cast<example*>(e));
188 }
float get_confidence(example *ec)
Definition: parser.cc:954

◆ VW_GetCostSensitivePrediction()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetCostSensitivePrediction ( VW_EXAMPLE  e)

Definition at line 166 of file vwdll.cpp.

References VW::get_cost_sensitive_prediction().

167 { return VW::get_cost_sensitive_prediction(static_cast<example*>(e));
168 }
float get_cost_sensitive_prediction(example *ec)
Definition: parser.cc:921

◆ VW_GetExample()

Definition at line 140 of file vwdll.cpp.

References VW::get_example(), and vw::p.

141 { vw * pointer = static_cast<vw*>(handle);
142  parser * parser_pointer = static_cast<parser *>(pointer->p);
143  return static_cast<VW_EXAMPLE>(VW::get_example(parser_pointer));
144 }
example * get_example(parser *p)
Definition: parser.cc:909
parser * p
Definition: global_data.h:377
void * VW_EXAMPLE
Definition: vwdll.h:55
Definition: parser.h:38

◆ VW_GetFeature()

VW_DLL_MEMBER VW_FEATURE VW_CALLING_CONV VW_GetFeature ( VW_FEATURE_SPACE  feature_space,
size_t  index 
)

Definition at line 202 of file vwdll.cpp.

References VW::primitive_feature_space::fs.

203 {
204  VW::primitive_feature_space* fs = reinterpret_cast<VW::primitive_feature_space*>(feature_space);
205  return &(fs->fs[index]);
206 }

◆ VW_GetFeatureNumber()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetFeatureNumber ( VW_EXAMPLE  e)

Definition at line 182 of file vwdll.cpp.

References VW::get_feature_number().

183 { return VW::get_feature_number(static_cast<example*>(e));
184 }
size_t get_feature_number(example *ec)
Definition: parser.cc:952

◆ VW_GetFeatures()

VW_DLL_MEMBER VW_FEATURE VW_CALLING_CONV VW_GetFeatures ( VW_HANDLE  handle,
VW_EXAMPLE  e,
size_t *  plen 
)

Definition at line 214 of file vwdll.cpp.

References VW::get_features().

215 { vw* pointer = static_cast<vw*>(handle);
216  return VW::get_features(*pointer, static_cast<example*>(e), *plen);
217 }
feature * get_features(vw &all, example *ec, size_t &feature_map_len)
Definition: example.cc:125

◆ VW_GetFeatureSpace()

VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_GetFeatureSpace ( VW_FEATURE_SPACE  first,
size_t  index 
)

Definition at line 103 of file vwdll.cpp.

References f.

104 {
105  VW::primitive_feature_space* f = reinterpret_cast<VW::primitive_feature_space*>(first);
106  return static_cast<VW_FEATURE_SPACE>(&f[index]);
107 }
void * VW_FEATURE_SPACE
Definition: vwdll.h:57
float f
Definition: cache.cc:40

◆ VW_GetImportance()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetImportance ( VW_EXAMPLE  e)

Definition at line 154 of file vwdll.cpp.

References VW::get_importance().

155 { return VW::get_importance(static_cast<example*>(e));
156 }
float get_importance(example *ec)
Definition: parser.cc:915

◆ VW_GetInitial()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetInitial ( VW_EXAMPLE  e)

Definition at line 158 of file vwdll.cpp.

References VW::get_initial().

159 { return VW::get_initial(static_cast<example*>(e));
160 }
float get_initial(example *ec)
Definition: parser.cc:917

◆ VW_GetLabel()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetLabel ( VW_EXAMPLE  e)

Definition at line 146 of file vwdll.cpp.

References VW::get_label().

147 { return VW::get_label(static_cast<example*>(e));
148 }
float get_label(example *ec)
Definition: parser.cc:913

◆ VW_GetMultilabelPredictions()

VW_DLL_MEMBER void* VW_CALLING_CONV VW_GetMultilabelPredictions ( VW_EXAMPLE  e,
size_t *  plen 
)

Definition at line 170 of file vwdll.cpp.

References VW::get_multilabel_predictions().

171 { return VW::get_multilabel_predictions(static_cast<example*>(e), *plen);
172 }
uint32_t * get_multilabel_predictions(example *ec, size_t &len)
Definition: parser.cc:925

◆ VW_GetPrediction()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetPrediction ( VW_EXAMPLE  e)

Definition at line 162 of file vwdll.cpp.

References VW::get_prediction().

163 { return VW::get_prediction(static_cast<example*>(e));
164 }
float get_prediction(example *ec)
Definition: parser.cc:919

◆ VW_GetTag()

VW_DLL_MEMBER const char* VW_CALLING_CONV VW_GetTag ( VW_EXAMPLE  e)

Definition at line 178 of file vwdll.cpp.

References VW::get_tag().

179 { return VW::get_tag(static_cast<example*>(e));
180 }
const char * get_tag(example *ec)
Definition: parser.cc:950

◆ VW_GetTagLength()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_GetTagLength ( VW_EXAMPLE  e)

Definition at line 174 of file vwdll.cpp.

References VW::get_tag_length().

175 { return VW::get_tag_length(static_cast<example*>(e));
176 }
size_t get_tag_length(example *ec)
Definition: parser.cc:948

◆ VW_GetTopicPrediction()

VW_DLL_MEMBER float VW_CALLING_CONV VW_GetTopicPrediction ( VW_EXAMPLE  e,
size_t  i 
)

Definition at line 150 of file vwdll.cpp.

References VW::get_topic_prediction().

151 { return VW::get_topic_prediction(static_cast<example*>(e), i);
152 }
float get_topic_prediction(example *ec, size_t i)
Definition: parser.cc:911

◆ VW_HashFeatureA()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashFeatureA ( VW_HANDLE  handle,
const char *  s,
size_t  u 
)

Definition at line 257 of file vwdll.cpp.

References VW::hash_feature().

Referenced by VW_HashSpaceStaticA().

258 { vw * pointer = static_cast<vw*>(handle);
259  string str(s);
260  return VW::hash_feature(*pointer, str, u);
261 }
uint64_t hash_feature(vw &all, const std::string &s, uint64_t u)
Definition: vw.h:153

◆ VW_HashFeatureStaticA()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashFeatureStaticA ( const char *  s,
size_t  u,
const char *  h = "strings",
unsigned int  num_bits = 18 
)

Definition at line 263 of file vwdll.cpp.

References VW::hash_feature_static().

Referenced by VW_HashSpaceStaticA().

264 { string str(s);
265  string hash(h);
266  return VW::hash_feature_static(str, u, hash, num_bits);
267 }
uint64_t hash_feature_static(const std::string &s, uint64_t u, const std::string &h, uint32_t num_bits)
Definition: vw.h:160

◆ VW_HashSpaceA()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashSpaceA ( VW_HANDLE  handle,
const char *  s 
)

Definition at line 235 of file vwdll.cpp.

References VW::hash_space().

Referenced by VW_FinishExample(), and VW_SetFeatureSpace().

236 { vw * pointer = static_cast<vw*>(handle);
237  string str(s);
238  return VW::hash_space(*pointer, str);
239 }
uint64_t hash_space(vw &all, const std::string &s)
Definition: vw.h:138

◆ VW_HashSpaceStaticA()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashSpaceStaticA ( const char *  s,
const char *  h = "strings" 
)

Definition at line 241 of file vwdll.cpp.

References VW::hash_space_static(), utf16_to_utf8(), VW_CALLING_CONV, VW_DLL_MEMBER, VW_HashFeatureA(), and VW_HashFeatureStaticA().

Referenced by VW_FinishExample().

242 { string str(s);
243  string hash(h);
244  return VW::hash_space_static(str, hash);
245 }
uint64_t hash_space_static(const std::string &s, const std::string &hash)
Definition: vw.h:145

◆ VW_ImportExample()

VW_DLL_MEMBER VW_EXAMPLE VW_CALLING_CONV VW_ImportExample ( VW_HANDLE  handle,
const char *  label,
VW_FEATURE_SPACE  features,
size_t  len 
)

Definition at line 92 of file vwdll.cpp.

References f, and VW::import_example().

93 { vw * pointer = static_cast<vw*>(handle);
95  return static_cast<VW_EXAMPLE>(VW::import_example(*pointer, label, f, len));
96 }
the core definition of a set of features.
example * import_example(vw &all, const std::string &label, primitive_feature_space *features, size_t len)
Definition: parser.cc:791
void * VW_EXAMPLE
Definition: vwdll.h:55
float f
Definition: cache.cc:40

◆ VW_InitFeatures()

VW_DLL_MEMBER void VW_CALLING_CONV VW_InitFeatures ( VW_FEATURE_SPACE  feature_space,
size_t  features_count 
)

Definition at line 196 of file vwdll.cpp.

References VW::init_features().

197 {
198  VW::primitive_feature_space* fs = reinterpret_cast<VW::primitive_feature_space*>(feature_space);
199  VW::init_features(*fs, features_count);
200 }
void init_features(primitive_feature_space &fs, size_t features_count)
Definition: vw.h:191

◆ VW_InitializeA()

VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeA ( const char *  pstrArgs)

Definition at line 55 of file vwdll.cpp.

References VW::initialize().

Referenced by utf16_to_utf8().

56 { string s(pstrArgs);
57  vw* all = VW::initialize(s);
58  return static_cast<VW_HANDLE>(all);
59 }
vw * initialize(options_i &options, io_buf *model, bool skipModelLoad, trace_message_t trace_listener, void *trace_context)
Definition: parse_args.cc:1654
void * VW_HANDLE
Definition: vwdll.h:54

◆ VW_InitializeEscapedA()

VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeEscapedA ( const char *  pstrArgs)

Definition at line 61 of file vwdll.cpp.

References VW::initialize_escaped().

Referenced by utf16_to_utf8().

62 {
63  std::string s(pstrArgs);
64  auto all = VW::initialize_escaped(s);
65  return static_cast<VW_HANDLE>(all);
66 }
vw * initialize_escaped(std::string const &s, io_buf *model, bool skipModelLoad, trace_message_t trace_listener, void *trace_context)
Definition: parse_args.cc:1731
void * VW_HANDLE
Definition: vwdll.h:54

◆ VW_InitializeFeatureSpaces()

VW_DLL_MEMBER VW_FEATURE_SPACE VW_CALLING_CONV VW_InitializeFeatureSpaces ( size_t  len)

Definition at line 98 of file vwdll.cpp.

99 {
100  return static_cast<VW_FEATURE_SPACE>(new VW::primitive_feature_space[len]);
101 }
void * VW_FEATURE_SPACE
Definition: vwdll.h:57

◆ VW_InitializeWithModel()

VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeWithModel ( const char *  pstrArgs,
const char *  modelData,
size_t  modelDataSize 
)

Definition at line 386 of file vwdll.cpp.

References VW::initialize().

387 {
388  unique_ptr<memory_io_buf> buf(new memory_io_buf);
389  buf->write_file(-1, modelData, modelDataSize);
390 
391  vw* all = VW::initialize(string(pstrArgs), buf.get());
392  return static_cast<VW_HANDLE>(all);
393 }
vw * initialize(options_i &options, io_buf *model, bool skipModelLoad, trace_message_t trace_listener, void *trace_context)
Definition: parse_args.cc:1654
void * VW_HANDLE
Definition: vwdll.h:54

◆ VW_InitializeWithModelEscaped()

VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_InitializeWithModelEscaped ( const char *  pstrArgs,
const char *  modelData,
size_t  modelDataSize 
)

Definition at line 395 of file vwdll.cpp.

References VW::initialize_escaped().

396 {
397  std::unique_ptr<memory_io_buf> buf(new memory_io_buf());
398  buf->write_file(-1, modelData, modelDataSize);
399 
400  auto all = VW::initialize_escaped(std::string(pstrArgs), buf.get());
401  return static_cast<VW_HANDLE>(all);
402 }
vw * initialize_escaped(std::string const &s, io_buf *model, bool skipModelLoad, trace_message_t trace_listener, void *trace_context)
Definition: parse_args.cc:1731
void * VW_HANDLE
Definition: vwdll.h:54

◆ VW_Learn()

VW_DLL_MEMBER float VW_CALLING_CONV VW_Learn ( VW_HANDLE  handle,
VW_EXAMPLE  e 
)

Definition at line 280 of file vwdll.cpp.

References VW::get_prediction(), and vw::learn().

281 { vw * pointer = static_cast<vw*>(handle);
282  example * ex = static_cast<example*>(e);
283  pointer->learn(*ex);
284  return VW::get_prediction(ex);
285 }
void learn(example &)
Definition: global_data.cc:137
float get_prediction(example *ec)
Definition: parser.cc:919

◆ VW_Num_Weights()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_Num_Weights ( VW_HANDLE  handle)

Definition at line 323 of file vwdll.cpp.

References VW::num_weights().

324 { vw* pointer = static_cast<vw*>(handle);
325  return VW::num_weights(*pointer);
326 }
uint32_t num_weights(vw &all)
Definition: vw.h:187

◆ VW_Predict()

VW_DLL_MEMBER float VW_CALLING_CONV VW_Predict ( VW_HANDLE  handle,
VW_EXAMPLE  e 
)

Definition at line 297 of file vwdll.cpp.

References LEARNER::as_singleline(), VW::get_prediction(), vw::l, and LEARNER::learner< T, E >::predict().

298 { vw * pointer = static_cast<vw*>(handle);
299  example * ex = static_cast<example*>(e);
300  LEARNER::as_singleline(pointer->l)->predict(*ex);
301  //BUG: The below method may return garbage as it assumes a certain structure for ex->ld
302  //which may not be the actual one used (e.g., for cost-sensitive multi-class learning)
303  return VW::get_prediction(ex);
304 }
void predict(E &ec, size_t i=0)
Definition: learner.h:169
single_learner * as_singleline(learner< T, E > *l)
Definition: learner.h:476
float get_prediction(example *ec)
Definition: parser.cc:919
LEARNER::base_learner * l
Definition: global_data.h:383

◆ VW_PredictCostSensitive()

VW_DLL_MEMBER float VW_CALLING_CONV VW_PredictCostSensitive ( VW_HANDLE  handle,
VW_EXAMPLE  e 
)

Definition at line 306 of file vwdll.cpp.

References LEARNER::as_singleline(), VW::get_cost_sensitive_prediction(), vw::l, and LEARNER::learner< T, E >::predict().

307 { vw * pointer = static_cast<vw*>(handle);
308  example * ex = static_cast<example*>(e);
309  LEARNER::as_singleline(pointer->l)->predict(*ex);
311 }
void predict(E &ec, size_t i=0)
Definition: learner.h:169
single_learner * as_singleline(learner< T, E > *l)
Definition: learner.h:476
float get_cost_sensitive_prediction(example *ec)
Definition: parser.cc:921
LEARNER::base_learner * l
Definition: global_data.h:383

◆ VW_ReadExampleA()

VW_DLL_MEMBER VW_EXAMPLE VW_CALLING_CONV VW_ReadExampleA ( VW_HANDLE  handle,
const char *  line 
)

Definition at line 124 of file vwdll.cpp.

References VW::read_example().

Referenced by VW_ReleaseFeatureSpace().

125 { vw * pointer = static_cast<vw*>(handle);
126  // BUGBUG: I really dislike this const_cast. should VW really change the input string?
127  return static_cast<VW_EXAMPLE>(VW::read_example(*pointer, const_cast<char*>(line)));
128 }
void * VW_EXAMPLE
Definition: vwdll.h:55
example * read_example(vw &all, char *example_line)
Definition: parser.cc:761

◆ VW_ReleaseFeatureSpace()

VW_DLL_MEMBER void VW_CALLING_CONV VW_ReleaseFeatureSpace ( VW_FEATURE_SPACE  features,
size_t  len 
)

Definition at line 115 of file vwdll.cpp.

References f, VW::releaseFeatureSpace(), utf16_to_utf8(), VW_CALLING_CONV, VW_DLL_MEMBER, and VW_ReadExampleA().

117  VW::releaseFeatureSpace(f, len);
118 }
the core definition of a set of features.
float f
Definition: cache.cc:40
void releaseFeatureSpace(primitive_feature_space *features, size_t len)
Definition: parser.cc:840

◆ VW_ReturnFeatures()

VW_DLL_MEMBER void VW_CALLING_CONV VW_ReturnFeatures ( VW_FEATURE  f)

Definition at line 219 of file vwdll.cpp.

References VW::return_features().

220 { VW::return_features(static_cast<feature*>(f));
221 }
void return_features(feature *f)
Definition: example.cc:137
float f
Definition: cache.cc:40

◆ VW_SaveModel()

VW_DLL_MEMBER void VW_CALLING_CONV VW_SaveModel ( VW_HANDLE  handle)

Definition at line 333 of file vwdll.cpp.

References vw::final_regressor_name, and VW::save_predictor().

334 { vw* pointer = static_cast<vw*>(handle);
335 
336  string name = pointer->final_regressor_name;
337  if (name.empty())
338  { return;
339  }
340 
341  return VW::save_predictor(*pointer, name);
342 }
void save_predictor(vw &all, std::string reg_name)
std::string final_regressor_name
Definition: global_data.h:535

◆ VW_SeedWithModel()

VW_DLL_MEMBER VW_HANDLE VW_CALLING_CONV VW_SeedWithModel ( VW_HANDLE  handle,
const char *  extraArgs 
)

Definition at line 68 of file vwdll.cpp.

References VW::seed_vw_model().

69 {
70  string s(extraArgs);
71  vw* origmodel = static_cast<vw*>(handle);
72  vw* newmodel = VW::seed_vw_model(origmodel, s);
73  return static_cast<VW_HANDLE>(newmodel);
74 }
vw * seed_vw_model(vw *vw_model, const std::string extra_args, trace_message_t trace_listener, void *trace_context)
Definition: parse_args.cc:1765
void * VW_HANDLE
Definition: vwdll.h:54

◆ VW_Set_Weight()

VW_DLL_MEMBER void VW_CALLING_CONV VW_Set_Weight ( VW_HANDLE  handle,
size_t  index,
size_t  offset,
float  value 
)

Definition at line 318 of file vwdll.cpp.

References VW::set_weight().

319 { vw* pointer = static_cast<vw*>(handle);
320  return VW::set_weight(*pointer, (uint32_t) index, (uint32_t)offset, value);
321 }
void set_weight(vw &all, uint32_t index, uint32_t offset, float value)
Definition: vw.h:182

◆ VW_SetFeature()

VW_DLL_MEMBER void VW_CALLING_CONV VW_SetFeature ( VW_FEATURE_SPACE  feature_space,
size_t  index,
size_t  feature_hash,
float  value 
)

Definition at line 208 of file vwdll.cpp.

References VW::set_feature().

209 {
210  VW::primitive_feature_space* fs = reinterpret_cast<VW::primitive_feature_space*>(feature_space);
211  VW::set_feature(*fs, index, feature_hash, value);
212 }
void set_feature(primitive_feature_space &fs, size_t index, uint64_t feature_hash, float value)
Definition: vw.h:197

◆ VW_SetFeatureSpace()

VW_DLL_MEMBER size_t VW_CALLING_CONV VW_SetFeatureSpace ( VW_HANDLE  handle,
VW_FEATURE_SPACE  feature_space,
const char *  name 
)

Definition at line 190 of file vwdll.cpp.

References f, VW::primitive_feature_space::name, and VW_HashSpaceA().

191 { VW::primitive_feature_space* f = reinterpret_cast<VW::primitive_feature_space*>(feature_space);
192  f->name = *name;
193  return VW_HashSpaceA(handle, name);
194 }
unsigned char name
Definition: vw.h:66
VW_DLL_MEMBER size_t VW_CALLING_CONV VW_HashSpaceA(VW_HANDLE handle, const char *s)
Definition: vwdll.cpp:235
float f
Definition: cache.cc:40

◆ VW_StartParser()

VW_DLL_MEMBER void VW_CALLING_CONV VW_StartParser ( VW_HANDLE  handle)

Definition at line 130 of file vwdll.cpp.

References VW::start_parser().

131 { vw * pointer = static_cast<vw*>(handle);
132  VW::start_parser(*pointer);
133 }
void start_parser(vw &all)
Definition: parser.cc:974