6 #ifndef TURI_ML2_DATA_SIDE_FEATURES_TRANSATION_H_ 7 #define TURI_ML2_DATA_SIDE_FEATURES_TRANSATION_H_ 9 #include <toolkits/ml_data_2/data_storage/ml_data_row_format.hpp> 10 #include <toolkits/ml_data_2/ml_data_entry.hpp> 11 #include <toolkits/ml_data_2/ml_data_column_modes.hpp> 12 #include <toolkits/ml_data_2/data_storage/internal_metadata.hpp> 13 #include <core/data/flexible_type/flexible_type.hpp> 14 #include <core/util/code_optimization.hpp> 15 #include <type_traits> 17 namespace turi {
namespace v2 {
19 class ml_data_side_features;
21 namespace ml_data_internal {
27 template <
typename EntryType>
29 static inline void append_raw_to_entry_row(
30 const row_metadata& rm,
31 entry_value_iterator row_block_ptr,
32 std::vector<EntryType>& x_out,
33 size_t column_index_offset) {
44 size_t feature_index,
double value,
size_t index_size,
size_t index_offset) {
46 if(LIKELY(feature_index < index_size)) {
48 size_t column_index = column_index_offset + local_column_index;
50 size_t global_index = rm.metadata_vect[local_column_index]->global_index_offset() + feature_index;
53 e = ml_data_full_entry{column_index,
66 std::shared_ptr<ml_data_side_features>());
#define GL_HOT_INLINE_FLATTEN