File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -63,14 +63,22 @@ struct t_compressed_block_grid {
6363 auto itr_x = std::upper_bound (compressed_to_grid_x[layer_num].begin (), compressed_to_grid_x[layer_num].end (), grid_loc.x );
6464 if (itr_x == compressed_to_grid_x[layer_num].begin ())
6565 cx = 0 ;
66- else
66+ else if (*(itr_x - 1 ) == grid_loc. x )
6767 cx = std::distance (compressed_to_grid_x[layer_num].begin (), itr_x - 1 );
68+ else if (itr_x == compressed_to_grid_x[layer_num].end ())
69+ cx = compressed_to_grid_x[layer_num].size ();
70+ else
71+ cx = std::distance (compressed_to_grid_x[layer_num].begin (), itr_x);
6872
6973 auto itr_y = std::upper_bound (compressed_to_grid_y[layer_num].begin (), compressed_to_grid_y[layer_num].end (), grid_loc.y );
7074 if (itr_y == compressed_to_grid_y[layer_num].begin ())
7175 cy = 0 ;
72- else
76+ else if (*(itr_y - 1 ) == grid_loc. y )
7377 cy = std::distance (compressed_to_grid_y[layer_num].begin (), itr_y - 1 );
78+ else if (itr_y == compressed_to_grid_y[layer_num].end ())
79+ cy = compressed_to_grid_y[layer_num].size ();
80+ else
81+ cy = std::distance (compressed_to_grid_y[layer_num].begin (), itr_y);
7482
7583 return {cx, cy, layer_num};
7684 }
You can’t perform that action at this time.
0 commit comments