From 9bbd375eec8f814c2dce87f80a65a87e465dcc21 Mon Sep 17 00:00:00 2001 From: Dan Anderson Date: Tue, 10 Mar 2026 00:48:26 -0400 Subject: [PATCH] Fix return value in einsum_path for simple contractions (#3232) Co-authored-by: KD2YCU Co-authored-by: Angelos Katharopoulos --- mlx/einsum.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mlx/einsum.cpp b/mlx/einsum.cpp index 62908877..b683733d 100644 --- a/mlx/einsum.cpp +++ b/mlx/einsum.cpp @@ -800,7 +800,7 @@ std::pair, PathInfo> einsum_path_helper( max_size = std::max(max_size, term_size(in, dim_map)); } - PathInfo path_info; + PathInfo path_info{}; // Get the full naive cost std::tie(path_info.naive_cost, path_info.naive_scaling) = @@ -813,6 +813,8 @@ std::pair, PathInfo> einsum_path_helper( std::iota(positions.begin(), positions.end(), 0); path.emplace_back( std::move(inputs), std::move(output), std::move(positions)); + path_info.optimized_cost = path_info.naive_cost; + path_info.optimized_scaling = path_info.naive_scaling; } else { std::tie(path, path_info.optimized_cost, path_info.optimized_scaling) = greedy_path(inputs, output, dim_map, path_info.naive_cost, max_size);