| 223 | } |
| 224 | |
| 225 | void UnaryVariantOpRegistry::RegisterBinaryOpFn( |
| 226 | VariantBinaryOp op, const string& device, const TypeIndex& type_index, |
| 227 | const VariantBinaryOpFn& add_fn) { |
| 228 | VariantBinaryOpFn* existing = GetBinaryOpFn(op, device, type_index); |
| 229 | CHECK_EQ(existing, nullptr) |
| 230 | << "Unary VariantBinaryOpFn for type_index: " |
| 231 | << port::MaybeAbiDemangle(type_index.name()) |
| 232 | << " already registered for device type: " << device; |
| 233 | binary_op_fns.insert(std::pair<FuncTuple<VariantBinaryOp>, VariantBinaryOpFn>( |
| 234 | {op, GetPersistentStringPiece(device), type_index}, add_fn)); |
| 235 | } |
| 236 | |
| 237 | namespace { |
| 238 | template <typename T> |