MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / ConvertSwitch

Function ConvertSwitch

tensorflow/compiler/xla/literal.cc:1274–1307  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1272}
1273
1274StatusOr<Literal> ConvertSwitch(const LiteralBase& literal,
1275 PrimitiveType primitive_dest_type,
1276 bool bitcast) {
1277 TF_RET_CHECK(literal.shape().IsArray());
1278 if (literal.shape().element_type() == primitive_dest_type) {
1279 return literal.Clone();
1280 }
1281 switch (literal.shape().element_type()) {
1282#define CONVERT_IF_DEST_TYPE_MATCHES(type) \
1283 case (type): \
1284 return ConvertIfDestTypeMatches<(type)>(literal, primitive_dest_type, \
1285 bitcast);
1286 CONVERT_IF_DEST_TYPE_MATCHES(PRED)
1287 CONVERT_IF_DEST_TYPE_MATCHES(S8)
1288 CONVERT_IF_DEST_TYPE_MATCHES(S16)
1289 CONVERT_IF_DEST_TYPE_MATCHES(S32)
1290 CONVERT_IF_DEST_TYPE_MATCHES(S64)
1291 CONVERT_IF_DEST_TYPE_MATCHES(U8)
1292 CONVERT_IF_DEST_TYPE_MATCHES(U16)
1293 CONVERT_IF_DEST_TYPE_MATCHES(U32)
1294 CONVERT_IF_DEST_TYPE_MATCHES(U64)
1295 CONVERT_IF_DEST_TYPE_MATCHES(F16)
1296 CONVERT_IF_DEST_TYPE_MATCHES(F32)
1297 CONVERT_IF_DEST_TYPE_MATCHES(F64)
1298 CONVERT_IF_DEST_TYPE_MATCHES(BF16)
1299#undef CONVERT_IF_DEST_TYPE_MATCHES
1300 // Other types are not yet supported.
1301 default:
1302 return Unimplemented("%s from type %s to type %s is not implemented.",
1303 (bitcast ? "Bitcast converting" : "Converting"),
1304 PrimitiveType_Name(literal.shape().element_type()),
1305 PrimitiveType_Name(primitive_dest_type));
1306 }
1307}
1308
1309} // namespace
1310

Callers 2

ConvertMethod · 0.85
BitcastConvertMethod · 0.85

Calls 5

UnimplementedFunction · 0.85
IsArrayMethod · 0.45
shapeMethod · 0.45
element_typeMethod · 0.45
CloneMethod · 0.45

Tested by

no test coverage detected