Skip to content

Commit f432b42

Browse files
more renaming
1 parent a4055ce commit f432b42

File tree

2 files changed

+34
-28
lines changed

2 files changed

+34
-28
lines changed

selectiveInference/src/debias.c

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
// Therefore we don't have to negate the answer to get theta.
1111
// Update one coordinate
1212

13-
double objective(double *Sigma, /* A covariance matrix: X^TX/n */
13+
double objective(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
1414
int *ever_active_ptr, /* Ever active set: 0-based */
1515
int *nactive_ptr, /* Size of ever active set */
1616
int nrow, /* how many rows in Sigma */
@@ -20,7 +20,7 @@ double objective(double *Sigma, /* A covariance matrix: X^TX/n */
2020
{
2121
int irow, icol;
2222
double value = 0;
23-
double *Sigma_ptr = Sigma;
23+
double *Sigma_ptr_tmp = Sigma_ptr;
2424
double *theta_row_ptr, *theta_col_ptr;
2525
int *active_row_ptr, *active_col_ptr;
2626
int active_row, active_col;
@@ -41,9 +41,9 @@ double objective(double *Sigma, /* A covariance matrix: X^TX/n */
4141
active_col = *active_col_ptr;
4242
theta_col_ptr = ((double *) theta + active_col);
4343

44-
Sigma_ptr = ((double *) Sigma + nrow * active_col + active_row); // Matrices are column-major order
44+
Sigma_ptr_tmp = ((double *) Sigma_ptr + nrow * active_col + active_row); // Matrices are column-major order
4545

46-
value += 0.5 * (*Sigma_ptr) * (*theta_row_ptr) * (*theta_col_ptr);
46+
value += 0.5 * (*Sigma_ptr_tmp) * (*theta_row_ptr) * (*theta_col_ptr);
4747
}
4848
value = value + bound * fabs((*theta_row_ptr)); // the \ell_1 term
4949
}
@@ -126,8 +126,8 @@ int check_KKT(double *theta, /* current theta */
126126
return(fail == 0);
127127
}
128128

129-
double update_one_coord(double *Sigma, /* A covariance matrix: X^TX/n */
130-
double *Sigma_diag, /* Diagonal entries of Sigma */
129+
double update_one_coord(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
130+
double *Sigma_diag_ptr, /* Diagonal entries of Sigma */
131131
double *gradient_ptr, /* Sigma times theta */
132132
int *ever_active_ptr, /* Ever active set: 0-based */
133133
int *nactive_ptr, /* Size of ever active set */
@@ -143,12 +143,12 @@ double update_one_coord(double *Sigma, /* A covariance matrix: X^TX/n
143143
double linear_term = 0;
144144
double value = 0;
145145
double old_value;
146-
double *Sigma_ptr;
146+
double *Sigma_ptr_tmp;
147147
double *gradient_ptr_tmp;
148148
double *theta_ptr;
149149
int icol = 0;
150150

151-
double *quadratic_ptr = ((double *) Sigma_diag + coord);
151+
double *quadratic_ptr = ((double *) Sigma_diag_ptr + coord);
152152
double quadratic_term = *quadratic_ptr;
153153

154154
// int *ever_active_ptr_tmp;
@@ -194,13 +194,13 @@ double update_one_coord(double *Sigma, /* A covariance matrix: X^TX/n
194194
if (fabs(old_value - value) > 1.e-6 * (fabs(value) + fabs(old_value))) {
195195

196196
delta = value - old_value;
197-
Sigma_ptr = ((double *) Sigma + coord * nrow);
197+
Sigma_ptr_tmp = ((double *) Sigma_ptr + coord * nrow);
198198
gradient_ptr_tmp = ((double *) gradient_ptr);
199199

200200
for (icol=0; icol<nrow; icol++) {
201-
*gradient_ptr_tmp = *gradient_ptr_tmp + delta * (*Sigma_ptr);
201+
*gradient_ptr_tmp = *gradient_ptr_tmp + delta * (*Sigma_ptr_tmp);
202202
gradient_ptr_tmp += 1;
203-
Sigma_ptr += 1;
203+
Sigma_ptr_tmp += 1;
204204
}
205205

206206
theta_ptr = ((double *) theta + coord);
@@ -212,8 +212,8 @@ double update_one_coord(double *Sigma, /* A covariance matrix: X^TX/n
212212

213213
}
214214

215-
int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
216-
double *Sigma_diag, /* Diagonal entry of covariance matrix */
215+
int find_one_row_(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
216+
double *Sigma_diag_ptr, /* Diagonal entry of covariance matrix */
217217
double *gradient_ptr, /* Sigma times theta */
218218
int *ever_active_ptr, /* Ever active set: 0-based */
219219
int *nactive_ptr, /* Size of ever active set */
@@ -229,7 +229,7 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
229229
int iactive = 0;
230230
int *active_ptr;
231231

232-
double old_value = objective(Sigma,
232+
double old_value = objective(Sigma_ptr,
233233
ever_active_ptr,
234234
nactive_ptr,
235235
nrow,
@@ -246,8 +246,8 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
246246
active_ptr = (int *) ever_active_ptr;
247247

248248
for (iactive=0; iactive < *nactive_ptr; iactive++) {
249-
update_one_coord(Sigma,
250-
Sigma_diag,
249+
update_one_coord(Sigma_ptr,
250+
Sigma_diag_ptr,
251251
gradient_ptr,
252252
ever_active_ptr,
253253
nactive_ptr,
@@ -260,6 +260,8 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
260260
active_ptr++;
261261
}
262262

263+
// Check KKT
264+
263265
if (check_KKT(theta,
264266
gradient_ptr,
265267
nrow,
@@ -268,10 +270,12 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
268270
break;
269271
}
270272

273+
// Update all variables
274+
271275
for (icoord=0; icoord<nrow; icoord++) {
272276

273-
update_one_coord(Sigma,
274-
Sigma_diag,
277+
update_one_coord(Sigma_ptr,
278+
Sigma_diag_ptr,
275279
gradient_ptr,
276280
ever_active_ptr,
277281
nactive_ptr,
@@ -283,6 +287,8 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
283287
0);
284288
}
285289

290+
// Check KKT
291+
286292
if (check_KKT(theta,
287293
gradient_ptr,
288294
nrow,
@@ -291,7 +297,7 @@ int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
291297
break;
292298
}
293299

294-
new_value = objective(Sigma,
300+
new_value = objective(Sigma_ptr,
295301
ever_active_ptr,
296302
nactive_ptr,
297303
nrow,

selectiveInference/src/debias.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ extern "C"
33
{
44
#endif /* __cplusplus */
55

6-
int find_one_row_(double *Sigma, /* A covariance matrix: X^TX/n */
7-
double *Sigma_diag, /* Diagonal entry of covariance matrix */
8-
double *gradient_ptr, /* Current gradient of quadratic loss */
6+
int find_one_row_(double *Sigma_ptr, /* A covariance matrix: X^TX/n */
7+
double *Sigma_ptr_ptr, /* Diagonal entry of covariance matrix */
8+
double *gradient_ptr, /* Current gradient of quadratic loss */
99
int *ever_active_ptr, /* Ever active set: 0-based */
10-
int *nactive_ptr, /* Size of ever active set */
11-
int nrow, /* How many rows in Sigma */
12-
double bound, /* feasibility parameter */
13-
double *theta, /* current value */
14-
int maxiter, /* how many iterations */
15-
int row); /* which coordinate to update: 0-based */
10+
int *nactive_ptr, /* Size of ever active set */
11+
int nrow, /* How many rows in Sigma */
12+
double bound, /* feasibility parameter */
13+
double *theta, /* current value */
14+
int maxiter, /* how many iterations */
15+
int row); /* which coordinate to update: 0-based */
1616

1717
int check_KKT(double *theta, /* current theta */
1818
double *gradient_ptr, /* Current gradient of quadratic loss */

0 commit comments

Comments
 (0)