| 1692 | } |
| 1693 | |
| 1694 | bool ListContainsNone(PyObject* list) { |
| 1695 | if (list == Py_None) return true; |
| 1696 | tensorflow::Safe_PyObjectPtr seq( |
| 1697 | PySequence_Fast(list, "expected a sequence")); |
| 1698 | if (seq == nullptr) { |
| 1699 | return false; |
| 1700 | } |
| 1701 | |
| 1702 | int len = PySequence_Size(list); |
| 1703 | for (int i = 0; i < len; ++i) { |
| 1704 | PyObject* item = PySequence_Fast_GET_ITEM(seq.get(), i); |
| 1705 | if (item == Py_None) return true; |
| 1706 | } |
| 1707 | |
| 1708 | return false; |
| 1709 | } |
| 1710 | |
| 1711 | static PyTapeTensor TapeTensorFromTensor(PyObject* tensor) { |
| 1712 | if (EagerTensor_CheckExact(tensor)) { |
no test coverage detected