#include namespace c10 { namespace impl { inline c10::optional check_tensor_options_and_extract_memory_format( const TensorOptions& options, c10::optional memory_format) { TORCH_CHECK( options.requires_grad_opt() == c10::nullopt || options.requires_grad_opt().value() == false, "Operators taking TensorOptions cannot take a TensorOptions with " "options.requires_grad set as true. This isn't implemented yet."); TORCH_CHECK( !(options.has_memory_format() && memory_format.has_value()), "Cannot set memory_format both in TensorOptions and explicit argument; please delete " "the redundant setter."); if (memory_format.has_value()) { return memory_format; } else { return options.memory_format_opt(); } } }} // namespace impl namespace c10