SHOGUN  v3.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VwCacheReader.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2009 Yahoo! Inc. All rights reserved. The copyrights
3  * embodied in the content of this file are licensed under the BSD
4  * (revised) open source license.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * Written (W) 2011 Shashwat Lal Das
12  * Adaptation of Vowpal Wabbit v5.1.
13  * Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society.
14  */
15 
16 #ifndef _VW_CACHEREAD_H__
17 #define _VW_CACHEREAD_H__
18 
19 #include <shogun/base/SGObject.h>
20 #include <shogun/lib/common.h>
21 #include <shogun/io/IOBuffer.h>
23 
24 namespace shogun
25 {
26 
30 {
31  C_NATIVE = 0,
33 };
34 
44 {
45 public:
50 
57  CVwCacheReader(char * fname, CVwEnvironment* env_to_use);
58 
66  CVwCacheReader(int32_t f, CVwEnvironment* env_to_use);
67 
71  virtual ~CVwCacheReader();
72 
78  virtual void set_file(int32_t f);
79 
85  virtual void set_env(CVwEnvironment* env_to_use);
86 
92  virtual CVwEnvironment* get_env();
93 
99  virtual void set_mm(float64_t label)
100  {
101  env->min_label = CMath::min(env->min_label, label);
102  if (label != FLT_MAX)
103  env->max_label = CMath::max(env->max_label, label);
104  }
105 
112  virtual void noop_mm(float64_t label) { }
113 
120  virtual void set_minmax(float64_t label)
121  {
122  set_mm(label);
123  }
124 
130  virtual bool read_cached_example(VwExample* const ae) = 0;
131 
137  virtual const char* get_name() const { return "VwCacheReader"; }
138 
139 protected:
141  int32_t fd;
142 
145 };
146 
147 }
148 #endif // _VW_CACHEREAD_H__

SHOGUN Machine Learning Toolbox - Documentation