| 600 | } |
| 601 | |
| 602 | Status AddToFunctionLibrary(FunctionLibraryDefinition* base, |
| 603 | const FunctionLibraryDefinition& to_add) { |
| 604 | for (const auto& fn : to_add.ListFunctionNames()) { |
| 605 | if (auto found = base->Find(fn)) { |
| 606 | if (!OpDefEqual(found->signature(), to_add.Find(fn)->signature())) { |
| 607 | return errors::InvalidArgument("Cannot add function '", fn, |
| 608 | "' because a different function with " |
| 609 | "the same signature already exists."); |
| 610 | } |
| 611 | TF_RETURN_IF_ERROR(base->RemoveFunction(fn)); |
| 612 | } |
| 613 | } |
| 614 | return base->AddLibrary(to_add); |
| 615 | } |
| 616 | |
| 617 | Status AddToFunctionLibrary(FunctionLibraryDefinition* base, |
| 618 | const FunctionDefLibrary& to_add) { |