| 109 | } |
| 110 | |
| 111 | void Run(const std::vector<Tensor>& args, std::vector<Tensor*> rets) { |
| 112 | FunctionCallFrame frame(arg_types_, ret_types_); |
| 113 | TF_CHECK_OK(frame.SetArgs(args)); |
| 114 | Executor::Args exec_args; |
| 115 | exec_args.call_frame = &frame; |
| 116 | exec_args.runner = test::function::FunctionTestSchedClosure; |
| 117 | TF_CHECK_OK(exec_->Run(exec_args)); |
| 118 | std::vector<Tensor> computed; |
| 119 | TF_CHECK_OK(frame.GetRetvals(&computed)); |
| 120 | CHECK_EQ(computed.size(), rets.size()); |
| 121 | for (int i = 0; i < rets.size(); ++i) { |
| 122 | *(rets[i]) = computed[i]; |
| 123 | } |
| 124 | } |
| 125 | |
| 126 | std::unique_ptr<Device> device_; |
| 127 | std::unique_ptr<Executor> exec_; |
no test coverage detected