Skip to content

Commit 15dc142

Browse files
limitation on adding second last bin
1 parent 5f21356 commit 15dc142

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

cpp/term.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,12 +396,15 @@ void Term::setup_bins()
396396
size_t observations_between_outer_start_indexes{potential_start_indexes[last_potential_start_index]-potential_start_indexes[0]};
397397
size_t bins_to_create{bins-2};
398398
size_t desired_observations_in_bin{std::max((observations_between_outer_start_indexes)/bins_to_create+1, static_cast<size_t>(1))};
399+
size_t desired_observations_in_second_last_bin{desired_observations_in_bin*3/4};
399400
size_t index_of_start_index_for_previous_bin{0};
400401
size_t distance;
402+
size_t distance_to_end;
401403
for (size_t index_of_start_index = 1; index_of_start_index < last_potential_start_index-1; ++index_of_start_index)
402404
{
403405
distance = potential_start_indexes[index_of_start_index]-potential_start_indexes[index_of_start_index_for_previous_bin];
404-
bool can_add_bin{distance>=desired_observations_in_bin};
406+
distance_to_end = potential_start_indexes[last_potential_start_index]-potential_start_indexes[index_of_start_index];
407+
bool can_add_bin{distance>=desired_observations_in_bin && distance_to_end>=desired_observations_in_second_last_bin};
405408
if(can_add_bin)
406409
{
407410
bins_start_index.push_back(potential_start_indexes[index_of_start_index]);

0 commit comments

Comments
 (0)