| 188 | } |
| 189 | |
| 190 | void TF_SetOutput(TF_OpKernelContext* ctx, int i, const TF_Tensor* tensor, |
| 191 | TF_Status* status) { |
| 192 | auto* cc_ctx = reinterpret_cast<::tensorflow::OpKernelContext*>(ctx); |
| 193 | if (i < 0 || i >= cc_ctx->num_outputs()) { |
| 194 | TF_SetStatus(status, TF_OUT_OF_RANGE, "output index out of range"); |
| 195 | return; |
| 196 | } |
| 197 | ::tensorflow::Tensor cc_tensor; |
| 198 | ::tensorflow::Status s = ::tensorflow::TF_TensorToTensor(tensor, &cc_tensor); |
| 199 | TF_SetStatus(status, TF_OK, ""); |
| 200 | ::tensorflow::Set_TF_Status_from_Status(status, s); |
| 201 | if (s.ok()) { |
| 202 | cc_ctx->set_output(i, cc_tensor); |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | void TF_OpKernelConstruction_Failure(TF_OpKernelConstruction* ctx, |
| 207 | TF_Status* status) { |