39 auto left_details = internal_arithmetic::fetch_seed(handle,
"left", version, options);
40 auto right_details = internal_arithmetic::fetch_seed(handle,
"right", version, options);
43 if (!internal_misc::are_dimensions_equal(left_details.dimensions, right_details.dimensions)) {
44 throw std::runtime_error(
"'left' and 'right' should have the same dimensions");
48 auto method = internal_unary::load_method(handle);
50 if (!internal_arithmetic::is_valid_operation(method)) {
51 throw std::runtime_error(
"unrecognized 'method' (" + method +
")");
55 left_details.type = internal_arithmetic::determine_output_type(left_details.type, right_details.type, method);