*
This commit is contained in:
@@ -1065,7 +1065,7 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
if (!(stream >> byte)) return false;
|
if (!(stream >> byte)) return false;
|
||||||
uint8_t op = byte;
|
uint8_t op = byte;
|
||||||
if (!read_uint16(stream, v16)) return false;
|
if (!read_uint16(stream, v16)) return false;
|
||||||
node.v = Node::Unary{ op, v16 };
|
node.v = Node::Unary{Op(op), v16};
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 3: { // Node::Binary
|
case 3: { // Node::Binary
|
||||||
@@ -1075,7 +1075,7 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
uint16_t lhs = v16;
|
uint16_t lhs = v16;
|
||||||
if (!read_uint16(stream, v16)) return false;
|
if (!read_uint16(stream, v16)) return false;
|
||||||
uint16_t rhs = v16;
|
uint16_t rhs = v16;
|
||||||
node.v = Node::Binary{ op, lhs, rhs };
|
node.v = Node::Binary{Op(op), lhs, rhs};
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -1092,7 +1092,7 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
uint16_t nodeId = v16;
|
uint16_t nodeId = v16;
|
||||||
|
|
||||||
if (!read_uint16(stream, size)) return false;
|
if (!read_uint16(stream, size)) return false;
|
||||||
std::vector<std::pair<float, std::variant<Model, VectorModel>>> variants;
|
boost::container::small_vector<std::pair<float, std::variant<Model, VectorModel>>, 1> variants;
|
||||||
variants.reserve(size);
|
variants.reserve(size);
|
||||||
|
|
||||||
for (uint16_t j = 0; j < size; ++j) {
|
for (uint16_t j = 0; j < size; ++j) {
|
||||||
@@ -1130,7 +1130,7 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
float f_val;
|
float f_val;
|
||||||
std::memcpy(&f_val, &val_bits, 4);
|
std::memcpy(&f_val, &val_bits, 4);
|
||||||
|
|
||||||
model.Transforms.push_back({ op, f_val });
|
model.Transforms.emplace_back(Transformation::EnumTransform(op), f_val);
|
||||||
}
|
}
|
||||||
variants.emplace_back(weight, std::move(model));
|
variants.emplace_back(weight, std::move(model));
|
||||||
} else if (model_tag == 1) { // VectorModel
|
} else if (model_tag == 1) { // VectorModel
|
||||||
@@ -1162,7 +1162,7 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
float f_val;
|
float f_val;
|
||||||
std::memcpy(&f_val, &val_bits, 4);
|
std::memcpy(&f_val, &val_bits, 4);
|
||||||
|
|
||||||
subModel.Transforms.push_back({ op, f_val });
|
subModel.Transforms.emplace_back(Transformation::EnumTransform(op), f_val);
|
||||||
}
|
}
|
||||||
vecModel.Models.push_back(std::move(subModel));
|
vecModel.Models.push_back(std::move(subModel));
|
||||||
}
|
}
|
||||||
@@ -1184,14 +1184,15 @@ std::basic_istringstream<char8_t> stream(data);
|
|||||||
float f_val;
|
float f_val;
|
||||||
std::memcpy(&f_val, &val_bits, 4);
|
std::memcpy(&f_val, &val_bits, 4);
|
||||||
|
|
||||||
vecModel.Transforms.push_back({ op, f_val });
|
vecModel.Transforms.emplace_back(Transformation::EnumTransform(op), f_val);
|
||||||
}
|
}
|
||||||
variants.emplace_back(weight, std::move(vecModel));
|
variants.emplace_back(weight, std::move(vecModel));
|
||||||
} else {
|
} else {
|
||||||
return false; // неизвестный тип модели
|
return false; // неизвестный тип модели
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Routes[nodeId] = std::move(variants);
|
|
||||||
|
Routes.emplace_back(nodeId, std::move(variants));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user