@@ -243,7 +243,8 @@ void subproblem_only(Iter_Vars* vars, float lambda, float* rowsum,
243
243
244
244
int_fast64_t run_lambda_iters_pruned (Iter_Vars* vars, float lambda, float * rowsum,
245
245
float * old_rowsum, Active_Set* active_set,
246
- int_fast64_t depth, const bool use_intercept, IndiCols* indi, const bool check_duplicates)
246
+ int_fast64_t depth, const bool use_intercept, IndiCols* indi, const bool check_duplicates,
247
+ struct continuous_info * cont_inf)
247
248
{
248
249
XMatrixSparse Xc = vars->Xc ;
249
250
X_uncompressed Xu = vars->Xu ;
@@ -297,7 +298,7 @@ int_fast64_t run_lambda_iters_pruned(Iter_Vars* vars, float lambda, float* rowsu
297
298
for (int_fast64_t j = 0 ; j < p; j++) {
298
299
bool prev_wont_update = wont_update[j];
299
300
wont_update[j] = wont_update_effect (Xu, lambda, j, last_max[j], last_rowsum[j], rowsum,
300
- thread_caches[omp_get_thread_num ()].col_j );
301
+ thread_caches[omp_get_thread_num ()].col_j , cont_inf );
301
302
if (!wont_update[j] && !(*vars->seen_before )[j]) {
302
303
// if (!wont_update[j] && !prev_wont_update) {
303
304
// if (true) {
@@ -352,7 +353,7 @@ int_fast64_t run_lambda_iters_pruned(Iter_Vars* vars, float lambda, float* rowsu
352
353
clock_gettime (CLOCK_MONOTONIC_RAW, &start_time);
353
354
auto working_set_results = update_working_set (vars->Xu , Xc, rowsum, wont_update, p, n, lambda,
354
355
updateable_items, count_may_update, active_set,
355
- thread_caches, last_max, depth, indi, &new_cols, max_interaction_distance, check_duplicates);
356
+ thread_caches, last_max, depth, indi, &new_cols, max_interaction_distance, check_duplicates, cont_inf );
356
357
bool increased_set = working_set_results.first ;
357
358
auto vals_to_remove = working_set_results.second ;
358
359
for (auto val : vals_to_remove) {
@@ -494,7 +495,7 @@ Lasso_Result simple_coordinate_descent_lasso(
494
495
float hed, enum LOG_LEVEL log_level,
495
496
const char ** job_args, int_fast64_t job_args_num,
496
497
int_fast64_t mnz_beta, const char * log_filename, int_fast64_t depth,
497
- const bool estimate_unbiased, const bool use_intercept, const bool check_duplicates, const bool continuous_X)
498
+ const bool estimate_unbiased, const bool use_intercept, const bool check_duplicates, const bool continuous_X, struct continuous_info * cont_inf )
498
499
{
499
500
int_fast64_t max_nz_beta = mnz_beta;
500
501
if (verbose)
@@ -724,7 +725,7 @@ Lasso_Result simple_coordinate_descent_lasso(
724
725
int_fast64_t last_iter_count = 0 ;
725
726
726
727
nz_beta += run_lambda_iters_pruned (&iter_vars_pruned, lambda, rowsum,
727
- old_rowsum, &active_set, depth, use_intercept, &indi, check_duplicates);
728
+ old_rowsum, &active_set, depth, use_intercept, &indi, check_duplicates, cont_inf );
728
729
729
730
{
730
731
int_fast64_t nonzero = beta_sets.beta1 .size () + beta_sets.beta2 .size () + beta_sets.beta3 .size ();
0 commit comments